From: Luke Kenneth Casson Leighton Date: Tue, 8 Jan 2019 08:54:32 +0000 (+0000) Subject: add overview to requirements spec X-Git-Tag: convert-csv-opcode-to-binary~4760 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=309d553bc084ba0807e565da3160d41913e60686;p=libreriscv.git add overview to requirements spec --- diff --git a/3d_gpu/requirements_specification.mdwn b/3d_gpu/requirements_specification.mdwn index c4332f82a..a93d1c156 100644 --- a/3d_gpu/requirements_specification.mdwn +++ b/3d_gpu/requirements_specification.mdwn @@ -20,10 +20,15 @@ An overview of the design is as follows: * Each "shadow" capability will be provided by a separate Function Unit. If there is to exist the possibility of rolling ahead through two speculative branches, then two **separate** - Branch-speculative Function Units will be required. + Branch-speculative Function Units will be required: each will + hold their own separate and distinct "shadow" (Go-Die wire) and + write-hazard over instructions on which the branch depends. * Likewise for predication, which shall place a "hold" on the Function Units that depend on it until the register used - as a predicate mask has been read and decoded. + as a predicate mask has been read and decoded. Bits in the + mask that are "zero" will result in "Go-Die" signals being + sent to the Function Units previously (speculatively) allocated + for that (now cancelled) element operation. * The 6600 "Q-Table" that records, for each register, the last Function Unit (in instruction issue order) that is to write its result to that register, shall be augmented with "history" capability that aids and