From: Luke Kenneth Casson Leighton Date: Fri, 8 May 2020 16:33:13 +0000 (+0100) Subject: update image, mention read/write and regfile porting X-Git-Tag: convert-csv-opcode-to-binary~2695 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b5e28c1fb005af737fedbef73a42fc8e1a84c021;p=libreriscv.git update image, mention read/write and regfile porting --- diff --git a/3d_gpu/architecture/6600scoreboard.mdwn b/3d_gpu/architecture/6600scoreboard.mdwn index 48cab33d4..35a2f58f2 100644 --- a/3d_gpu/architecture/6600scoreboard.mdwn +++ b/3d_gpu/architecture/6600scoreboard.mdwn @@ -85,7 +85,9 @@ ultimately then, there is: # Example allocation of Function Units This is the key diagram showing the relationship between Function Units -and the Register File(s). +and the Register File(s), covering "read". A similar diagram exists +for regfile "write". Observe also that there are *two* Increment +Function Units. The Dependency Matrices manage the DAG of read-write relationships: each Function Unit indicates which registers it requires for read @@ -101,6 +103,12 @@ is to "double up" (or triple, or quadruple etc.) the number of Function Units, but to *share the same pipeline*. See "Concurrent Computation Unit" section below for details. +In the arrangement below (from the CDC 6600), it can be observed that +there are actually separate Register Files (A, B and X). Also observe +that whilst X goes to *all* Function Units as input, B only goes to +Branch, Increment and LongAdd, where A goes to Branch and the two Increment +Function Units. Thus, A was 3R3W, B was 4R3W, and X was 5R4W. + [[!img multiple_function_units.png size="600x"]] # Modifications needed to Computation Unit and Group Picker diff --git a/multiple_function_units.png b/multiple_function_units.png index d246d08b2..bbfdc5eb0 100644 Binary files a/multiple_function_units.png and b/multiple_function_units.png differ