I am currently browsing through Niklas Wirth's compiler construction book. He presents a simple RISC architecture as a target for code generation using the following diagram. The symbols/shapes used are not explained in detail, though. Registers/storage seems to be presented with bold-borders. I wonder what the trapezoid boxes indicate and why their shape is different from other rectangular kins.

For example, ALU is trapezoid, incremented is rectangular. (I know ALU is an arithmetic logical unit, this question is about why the trapezoid form).

enter image description here

My current hypothesis is that the shape just indicates that one trapezoid unit processes multiple inputs to one output. Is that the correct view?

  • 2
    Probably: en.wikipedia.org/wiki/Multiplexer
    – Mat
    Jul 23 at 10:49
  • @Mat could be an interesting starting point but is the ALU (arithmetic logic unit) a multiplexer?
    – Christophe
    Jul 23 at 12:12
  • No but it has the same "shape" (two inputs one output). Selection logic is missing in the diagram for the mux, but for "high-level" diagram seems to fit.
    – Mat
    Jul 23 at 12:42
  • The ALU is not a multiplexer - though it has multiple inputs and one output - that's why it's labeled and the others aren't.
    – davidbak
    Jul 23 at 15:05
  • If its a multiplexer I wonder what the selector signals would be. But I could very well see that the symbol is inspired by the selector symbols
    – wirrbel
    Jul 23 at 18:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.