



















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: Advanced Microarchitecture; Subject: Computer Science & Engineering; University: University of California - San Diego; Term: Winter 2009;
Typology: Study notes
1 / 27
This page cannot be seen from the preview
Don't miss anything!




















This is a “Big A” Architecture paper
It’s a PL, an ISA, and an execution model
and a dash of hardware
Execution Model: Dataflow Not a new idea [Dennis, ISCA’75] Programs are dataflow graphs Instructions fire when data arrives Instructions act independently All ready instructions can fire at once Massive parallelism
Execution Model: Dataflow Not a new idea [Dennis, ISCA’75] Programs are dataflow graphs Instructions fire when data arrives Instructions act independently All ready instructions can fire at once Massive parallelism
Execution Model: Dataflow Not a new idea [Dennis, ISCA’75] Programs are dataflow graphs Instructions fire when data arrives Instructions act independently All ready instructions can fire at once Massive parallelism
Von Neumann example A[j + ii] = i; b = A[ij]; Mul t1 ← i, j Mul t2 ← i, i Add t3 ← A, t Add t4 ← j, t Add t5 ← A, t Store (t5) ← i Load b ← (t3)
Dataflow example A[j + ii] = i; b = A[ij];
Load Store
j i
b
Dataflow example A[j + ii] = i; b = A[ij];
Load Store
j i
b
Dataflow example A[j + ii] = i; b = A[ij];
Load Store
j i
b
Dataflow example A[j + ii] = i; b = A[ij];
Load Store
j i
b
Conditionals Use a “steering” operator.
Loops
Managing Parallelism: Dynamic dataflow Dynamic dataflow Multiple inputs on an arc at one time Parallelism is possible -- pipeline iterations through the loops graph Unbounded state Circulation speed mismatch -- mis-matched inputs Tags are required.
A A A (^) B B B S S S
1:A 3:A 2:A (^) 3:B 1:B 2:B 3:S 2:S 1:S
Dataflow tags Tags distinguish between different dynamic instances of the same value Tag management in TTDA Tags are the address of an activation record (aka stack frame) A dynamic instance of an “instruction block” has a tag. A central manager allocates/reclaims them.