Bug 292 - implement multi-way read/write 6600 signals
Summary: implement multi-way read/write 6600 signals
Status: PAYMENTPENDING FIXED
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Source Code (show other bugs)
Version: unspecified
Hardware: PC Linux
: --- enhancement
Assignee: Luke Kenneth Casson Leighton
URL:
Depends on:
Blocks:
 
Reported: 2020-04-24 15:36 BST by Luke Kenneth Casson Leighton
Modified: 2020-12-02 20:43 GMT (History)
1 user (show)

See Also:
NLnet milestone: NLnet.2019.02
total budget (EUR) for completion of task and all subtasks: 600
budget (EUR) for this task, excluding subtasks' budget: 600
parent task for budget allocation: 81
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:
lkcl={amount=600,paid=2020-04-28}


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke Kenneth Casson Leighton 2020-04-24 15:36:43 BST
https://libre-soc.org/3d_gpu/architecture/6600scoreboard/600x-compunit_multi_rw.jpg
https://libre-soc.org/3d_gpu/architecture/6600scoreboard/600x-dependence_cell_multi_pending.jpg

the original 6600 scoreboard is single-signal request-ack protection
for multiple reads on the regfile.  overporting is then added so that
multiple batches of ALUs can simultaneously read (and write) to the
regfile.

we cannot do massive-way regfile porting.

additionally we need to do *different* regfiles for POWER: one of
these is the "Branch Control" Regfile, including CR0, CTR and other
conditional registers.

therefore it becomes more important to have fine-grain control over
the regfile, meaning that multiple go-read/req and go-write/req
wires are needed per FunctionUnit.