A microprogrammed sequencer (or microsequencer) is a dedicated hardware circuit within a CPU’s microprogrammed control unit that generates the addresses needed to step through a control store’s microprogram. It acts like a “program counter” for microinstructions, deciding exactly which low-level control word is fetched and executed next. 🛠️ Core Functions & Address Sources
To dictate the control flow, the next address logic within the sequencer selects a destination from one of four primary sources:
Incremented Address: It adds 1 to the current Control Address Register (CAR) to execute the next microinstruction in normal linear sequence.
Branch Address: It pulls an explicit target address out of a field inside the current microinstruction to execute a jump.
External Mapping: It translates or “maps” the macro-level instruction opcode from main memory into a starting address within the control memory.
Subroutine Register (SBR): It saves a return address to allow the microprogram to branch to a reusable subroutine and smoothly return when finished. 📐 Structural Components
A typical microprogrammed sequencer relies on several unified components to make real-time routing decisions:
[ Opcode / External Map ] │ ▼ [ CAR + 1 ] ──► [ Multiplexer 1 (Address Select) ] ──► [ Control Address Register (CAR) ] ▲ │ [ SBR Out ] ────────────────┤ ▼ ▲ [ Control Store / Memory ] [ Micro-address Field ] ────┤ │ │ ▼ [ Input Logic ] ◄── [ Status Bits ] [ Microinstruction Register ]
Control Address Register (CAR): Holds the exact address of the microinstruction currently being read from control memory.
Subroutine Register (SBR): A standalone register or a hardware stack used to store return addresses for nested microprogram loops.
Multiplexer 1: Evaluates all four primary address paths and passes the chosen one directly into the CAR.
Multiplexer 2 (Condition Test): Filters hardware flags (like Zero, Sign, or Carry) against the condition field specified in the current microinstruction.
Input Logic: Combines the evaluated condition test with the instruction’s branch fields to output the selection lines that control Multiplexer 1. ⚖️ Trade-offs: Hardwired vs. Microprogrammed
Designing a processor control unit with a microprogrammed sequencer offers distinct engineering trade-offs compared to fixed, hardwired control logic: microprogram sequencer – Encyclopedia.com
Leave a Reply