From: Jacob Lifshay Date: Tue, 20 Oct 2020 00:30:44 +0000 (-0700) Subject: add int_regs_as_masks.dia* X-Git-Tag: convert-csv-opcode-to-binary~2012 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0d93f705b09d122d69e4e2bfa018c5ef013342ab;p=libreriscv.git add int_regs_as_masks.dia* --- diff --git a/3d_gpu/int_regs_as_masks.dia b/3d_gpu/int_regs_as_masks.dia new file mode 100644 index 000000000..be7a4fb01 --- /dev/null +++ b/3d_gpu/int_regs_as_masks.dia @@ -0,0 +1,2336 @@ + + + + + + + + + + + + + #Letter# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Mask Buses +8 separate 1-bit buses# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Mask Registers +2x64-bits# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Int Registers +126x64-bits# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #R and W ports +reg[a[4:]][16*b+a[0:4]]# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #R and W ports +reg[addr][0:64]# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Integer ALU/FUs# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Expand to +byte-level masks# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Data Buses# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Data Buses# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Mask# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #A# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #B# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Vector Compare ALU/FUs# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Expand to +byte-level masks# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Mask# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #A# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #B# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Mask ALU/FUs +(scalar and/or/andc/etc. +on mask regs)# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #A# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #B# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Result# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Result# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Result# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Mask registers are tracked by the dependency +matrix at the level of different `a` values, +different `b` values are treated as +belonging to the same register.# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/3d_gpu/int_regs_as_masks.dia.png b/3d_gpu/int_regs_as_masks.dia.png new file mode 100644 index 000000000..7d5447e49 Binary files /dev/null and b/3d_gpu/int_regs_as_masks.dia.png differ diff --git a/3d_gpu/int_regs_as_masks.dia.svg b/3d_gpu/int_regs_as_masks.dia.svg new file mode 100644 index 000000000..b4792b0f2 --- /dev/null +++ b/3d_gpu/int_regs_as_masks.dia.svg @@ -0,0 +1,141 @@ + + + + + + + Mask Buses + 8 separate 1-bit buses + + + + + Mask Registers + 2x64-bits + + + + Int Registers + 126x64-bits + + + R and W ports + reg[a[4:]][16*b+a[0:4]] + + + + + + + + + + + R and W ports + reg[addr][0:64] + + + + Integer ALU/FUs + + + + + Expand to + byte-level masks + + + + + + + Data Buses + + + Data Buses + + + + + + + Mask + + + A + + + B + + + + + + Vector Compare ALU/FUs + + + + + Expand to + byte-level masks + + + + + + + + + + Mask + + + A + + + B + + + + + + Mask ALU/FUs + (scalar and/or/andc/etc. + on mask regs) + + + A + + + B + + + Result + + + Result + + + Result + + + + + + + + + + + + + + + + Mask registers are tracked by the dependency + matrix at the level of different `a` values, + different `b` values are treated as + belonging to the same register. + + +