[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RISC-V: quanta parte del processore ha licenza libera?



>> La differenza e` che riscV e` stato pensato tenendo in
>> considerazione tutta l'esperienza del settore, prendendo il meglio di
>> tutte le idee precedenti e scartando gli errori (per esempio, se
>> ricordo bene, non ha un registro "flags", e il manuale spiega
>> perche`).
> 
> Questa è interessante, dove la trovo?

riscv-spec-20191213.pdf pagina 23 (ricordavo bene):

   The conditional branches were designed to include arithmetic
   comparison operations between two registers (as also done in PA-RISC,
   Xtensa, and MIPS R6), rather than use condition codes (x86, ARM,
   SPARC, PowerPC), or to only compare one register against zero (Alpha,
   MIPS), or two registers only for equality (MIPS). This design was
   motivated by the observation that a combined compare-and-branch
   instruction fits into a regular pipeline, avoids additional condition
   code state or use of a temporary register, and reduces static code
   size and dynamic instruction fetch traffic. Another point is that
   comparisons against zero require non-trivial circuit delay (especially
   after the move to static logic in advanced processes) and so are
   almost as expensive as arithmetic magnitude compares. Another
   advantage of a fused compare-and-branch instruction is that branches
   are observed earlier in the front-end instruction stream, and so can
   be predicted earlier. There is perhaps an advantage to a design with
   condition codes in the case where multiple branches can be taken based
   on the same condition codes, but we believe this case to be relatively
   rare.

   [...]

saluti
/alessandro


Reply to: