Computer Organization & Architecture

Unit 2: Register Transfer & Micro Operations

From flip-flop arrays to ALU internals โ€” master register transfers, micro operations, bus systems, and build a working shift-register simulator.

โฑ๏ธ 5 hrs theory + 3 hrs lab  |  ๐ŸŽฏ GATE ~3 marks  |  ๐Ÿ–ฅ๏ธ Intel Core i9 Registers

Section A

Opening Hook โ€” The Registers Inside Your Processor

๐Ÿ–ฅ๏ธ Intel Core i9 โ€” 32 General-Purpose Registers Running at 6 GHz

Right now, inside your laptop or desktop, the Intel Core i9 processor has 32 general-purpose registers, each 64 bits wide. Every single instruction your computer executes โ€” opening Chrome, playing a video, compiling code โ€” involves data moving between these registers at speeds exceeding 6 billion cycles per second.

When you type a = b + c in C, the compiler translates it into register-level operations: Load b into R1, Load c into R2, ADD R1+R2โ†’R3, Store R3 to memory. These tiny operations โ€” called micro operations โ€” are the atomic building blocks of everything a CPU does.

Understanding register transfers and micro operations is understanding how a processor actually thinks. This chapter teaches you the exact language (RTL โ€” Register Transfer Language) that hardware designers at Intel, AMD, and Qualcomm use to describe what happens inside a chip โ€” one clock pulse at a time.

๐Ÿ–ฅ๏ธ Intel๐Ÿ–ฅ๏ธ AMD๐Ÿ‡ฎ๐Ÿ‡ณ Qualcomm India๐Ÿ‡ฎ๐Ÿ‡ณ Samsung R&D๐Ÿ‡ฎ๐Ÿ‡ณ ARM India๐Ÿ‡ฎ๐Ÿ‡ณ ISRO VSSC
A single Intel Core i9-14900K contains over 2 billion transistors forming registers, ALUs, and data paths. Every register transfer you'll study in this chapter happens physically โ€” flip-flops toggling, buses carrying bits, multiplexers selecting paths โ€” all within a chip smaller than your thumbnail. GATE CSE has asked 2โ€“3 marks on register transfer and micro operations every year since 2018.
Section B

Learning Outcomes โ€” Bloom's Taxonomy Mapped

Bloom's LevelLearning Outcome
๐Ÿ”ต RememberDefine register, register transfer, and list all RTL notation symbols with their meanings
๐Ÿ”ต RememberState the four types of micro operations: register transfer, arithmetic, logic, and shift
๐Ÿ”ต UnderstandExplain how a common bus system uses multiplexers to connect multiple registers to a shared data path
๐Ÿ”ต UnderstandDescribe memory read and memory write operations using RTL notation (DRโ†M[AR], M[AR]โ†DR)
๐ŸŸข ApplyTrace the step-by-step execution of conditional register transfers with timing diagrams
๐ŸŸข ApplyPerform selective-set, selective-clear, selective-complement, and insert operations on binary data
๐ŸŸข AnalyzeCompare logical, circular, and arithmetic shift operations and predict the output for any 8-bit input
๐ŸŸข AnalyzeDifferentiate SISO, SIPO, PISO, and PIPO shift registers by data flow and application
๐ŸŸ  EvaluateDetermine the correct ALSU function-select code (Sโ‚ƒSโ‚‚Sโ‚Sโ‚€) for a given micro operation
๐ŸŸ  EvaluateJustify why bus-based architecture is preferred over direct register-to-register connections in CPU design
๐ŸŸ  CreateWrite a Python simulator for an 8-bit shift register supporting all shift types
๐ŸŸ  CreateDesign a complete ALSU operation table mapping function-select bits to arithmetic, logic, and shift outputs
Section C

Concept Explanation โ€” Register Transfer & Micro Operations from Scratch

1. Register โ€” The CPU's Scratchpad

A register is a group of flip-flops (bistable circuits) that stores binary information. Each flip-flop stores one bit. An n-bit register has n flip-flops and can store any value from 0 to 2โฟโˆ’1.

Analogy: Think of a register like a row of light switches. Each switch is either ON (1) or OFF (0). A 16-bit register is like 16 switches lined up โ€” together they represent a 16-bit binary number.

๐Ÿ“ 16-Bit Register with Parallel Load

  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚                    16-BIT PARALLEL LOAD REGISTER                  โ”‚
  โ”‚                                                                    โ”‚
  โ”‚  Input:  Iโ‚โ‚…  Iโ‚โ‚„  Iโ‚โ‚ƒ  Iโ‚โ‚‚  Iโ‚โ‚  Iโ‚โ‚€  Iโ‚‰  Iโ‚ˆ  Iโ‚‡  Iโ‚†  Iโ‚…  Iโ‚„  Iโ‚ƒ  Iโ‚‚  Iโ‚  Iโ‚€  โ”‚
  โ”‚           โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚
  โ”‚           โ–ผ    โ–ผ    โ–ผ    โ–ผ    โ–ผ    โ–ผ    โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ”‚
  โ”‚         โ”Œโ”€โ”€โ” โ”Œโ”€โ”€โ” โ”Œโ”€โ”€โ” โ”Œโ”€โ”€โ” โ”Œโ”€โ”€โ” โ”Œโ”€โ”€โ” โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”‚
  โ”‚  LOADโ”€โ”€โ–ถโ”‚FFโ”‚ โ”‚FFโ”‚ โ”‚FFโ”‚ โ”‚FFโ”‚ โ”‚FFโ”‚ โ”‚FFโ”‚ โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚FFโ”‚โ”‚
  โ”‚         โ”‚15โ”‚ โ”‚14โ”‚ โ”‚13โ”‚ โ”‚12โ”‚ โ”‚11โ”‚ โ”‚10โ”‚ โ”‚ 9โ”‚โ”‚ 8โ”‚โ”‚ 7โ”‚โ”‚ 6โ”‚โ”‚ 5โ”‚โ”‚ 4โ”‚โ”‚ 3โ”‚โ”‚ 2โ”‚โ”‚ 1โ”‚โ”‚ 0โ”‚โ”‚
  โ”‚         โ””โ”€โ”€โ”˜ โ””โ”€โ”€โ”˜ โ””โ”€โ”€โ”˜ โ””โ”€โ”€โ”˜ โ””โ”€โ”€โ”˜ โ””โ”€โ”€โ”˜ โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ”‚
  โ”‚  CLKโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚
  โ”‚           โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   โ”‚
  โ”‚           โ–ผ    โ–ผ    โ–ผ    โ–ผ    โ–ผ    โ–ผ    โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ–ผ   โ”‚
  โ”‚  Output: Qโ‚โ‚…  Qโ‚โ‚„  Qโ‚โ‚ƒ  Qโ‚โ‚‚  Qโ‚โ‚  Qโ‚โ‚€  Qโ‚‰  Qโ‚ˆ  Qโ‚‡  Qโ‚†  Qโ‚…  Qโ‚„  Qโ‚ƒ  Qโ‚‚  Qโ‚  Qโ‚€  โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

  Key Signals:
  โ€ข LOAD = 1 โ†’ On next CLK edge, inputs (Iโ‚โ‚…...Iโ‚€) are loaded into register
  โ€ข LOAD = 0 โ†’ Register retains its current value (no change)
  โ€ข CLK      โ†’ All flip-flops are triggered simultaneously (parallel load)

How it works: When LOAD = 1, on the rising edge of CLK, all 16 input bits are simultaneously captured by the 16 flip-flops. When LOAD = 0, the register holds its previous value โ€” this is the "memory" property. The outputs Qโ‚โ‚…โ€ฆQโ‚€ always reflect the currently stored value.

GATE Tip: A register is NOT just storage โ€” it has a clock input (synchronization), a load control (when to store), and parallel outputs. Questions often test whether you understand that without LOAD = 1, the register does not change even if inputs change.

2. Register Transfer โ€” Moving Data Between Registers

A register transfer operation copies the contents of one register into another. It is the most fundamental operation inside a CPU.

๐Ÿ“ Register Transfer: R2 โ† R1

  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚           โ”‚    n-bit data bus        โ”‚           โ”‚
  โ”‚    R1     โ”‚ โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ–ถ โ”‚    R2     โ”‚
  โ”‚ (Source)  โ”‚    Qโ‚โ‚…...Qโ‚€ of R1       โ”‚  (Dest)   โ”‚
  โ”‚           โ”‚                         โ”‚           โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜                         โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚                                     โ”‚
        โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
        โ””โ”€โ”€โ”€โ”‚      CLK (shared)       โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

  RTL Statement:  R2 โ† R1

  Meaning: Copy the contents of R1 into R2.
  R1 is NOT modified (source is read, not erased).
  Transfer happens on the clock edge.
Conditional Register Transfer
         โ”Œโ”€โ”€โ”€โ”€โ”€โ”
  P โ”€โ”€โ”€โ”€โ–ถโ”‚ AND โ”‚โ”€โ”€โ”€โ”€ LOAD input of R2
  CLK โ”€โ”€โ–ถโ”‚     โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”˜

  RTL Statement:  P: R2 โ† R1

  Meaning: IF control signal P = 1,
           THEN on the next clock edge, R2 gets the value of R1.
           IF P = 0, R2 remains unchanged.

  Timing Diagram:
  CLK:    โ”€โ”  โ”Œโ”€โ”€โ”  โ”Œโ”€โ”€โ”  โ”Œโ”€โ”€โ”  โ”Œโ”€โ”€
           โ””โ”€โ”€โ”˜  โ””โ”€โ”€โ”˜  โ””โ”€โ”€โ”˜  โ””โ”€โ”€โ”˜
  P:      โ”€โ”€โ”€โ”€โ”€โ”           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  R2:     [old] [old] [R1]  [R1] [R1]
                      โ–ฒ
                      Transfer occurs here (P=1 at CLK edge)
R2 โ† R1 does NOT erase R1. This is a copy, not a move. After the transfer, both R1 and R2 hold the same value. Students in GATE often assume R1 becomes zero โ€” it doesn't.

3. RTL (Register Transfer Language) Notation

RTL is a symbolic notation to describe micro operations precisely. It's the "assembly language" of hardware design.

RTL Notation Rules

RuleDescriptionExample
RegistersDenoted by uppercase letters with optional numbersR1, R2, AR, DR, AC, PC
Arrow โ†Denotes transfer (destination โ† source)R2 โ† R1
Comma ,Separates simultaneous operationsR1 โ† R2, R3 โ† R4
Colon :Separates condition from operationP: R2 โ† R1
Parentheses ()Denote specific bits of a registerR1(0-7) = lower 8 bits
Brackets []Denote memory word addressM[AR] = memory at address AR

RTL Operation Examples

#RTL StatementMeaningType
1R2 โ† R1Copy R1 into R2Transfer
2P: R2 โ† R1If P=1, copy R1 into R2Conditional Transfer
3R1 โ† R1 + R2Add R1 and R2, store in R1Arithmetic
4R3 โ† R1 + Rฬ„2 + 1Subtract: R3 โ† R1 โˆ’ R2 (2's complement)Arithmetic
5R1 โ† R1 โˆง R2Bitwise AND of R1 and R2Logic
6R1 โ† R1 โˆจ R2Bitwise OR of R1 and R2Logic
7R1 โ† R1 โŠ• R2Bitwise XOR of R1 and R2Logic
8R1 โ† Rฬ„1Complement (NOT) all bits of R1Logic
9R1 โ† shl R1Shift R1 left by 1 bitShift
10R1 โ† shr R1Shift R1 right by 1 bitShift
11DR โ† M[AR]Memory read: load memory word at address AR into DRMemory
12M[AR] โ† DRMemory write: store DR into memory at address ARMemory
13R1 โ† R2, R3 โ† R4Simultaneous: copy R2โ†’R1 AND R4โ†’R3 in same clockParallel Transfer

4. Bus & Memory Transfer โ€” The Shared Highway

Problem: If you have 8 registers and each can transfer to any other, you need 8ร—7 = 56 direct connections. That's a wiring nightmare!

Solution: Use a common bus โ€” a shared set of wires that any register can place data on, and any register can read from, but only one at a time.

Bus = Mumbai Local Train โ€” shared track, one train at a time. Just like Mumbai's local railway has a shared track where only one train can occupy a section at a time, the common bus is a shared data path. Only one register can "drive" (place data on) the bus at a time, while any other register can "listen" (read from) the bus. Traffic management is handled by MUX select lines, just like railway signals manage train scheduling.

๐Ÿ“ Common Bus System โ€” 3 Registers + ALU via MUX

       R1 (n bits)       R2 (n bits)       R3 (n bits)
      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
      โ”‚          โ”‚      โ”‚          โ”‚      โ”‚          โ”‚
      โ”‚  Qโ‚...Qโ‚™ โ”‚      โ”‚  Qโ‚...Qโ‚™ โ”‚      โ”‚  Qโ‚...Qโ‚™ โ”‚
      โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚                  โ”‚                  โ”‚
           โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚    โ”‚             โ”‚
           โ–ผ    โ–ผ             โ–ผ
      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
      โ”‚     n-bit MUX (n:1)       โ”‚
      โ”‚                            โ”‚
      โ”‚   Sโ‚ Sโ‚€ (select lines)    โ”‚     Sโ‚Sโ‚€ = 00 โ†’ R1 on bus
      โ”‚   โ”€โ”ฌโ”€โ”€โ”ฌโ”€                  โ”‚     Sโ‚Sโ‚€ = 01 โ†’ R2 on bus
      โ”‚    โ”‚  โ”‚                    โ”‚     Sโ‚Sโ‚€ = 10 โ†’ R3 on bus
      โ””โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚  โ”‚         โ”‚
           โ”‚  โ”‚         โ–ผ
           โ”‚  โ”‚  โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•  โ† COMMON BUS (n bits wide)
           โ”‚  โ”‚         โ”‚
           โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”
           โ”‚  โ”‚    โ”‚         โ”‚
           โ–ผ  โ–ผ    โ–ผ         โ–ผ
      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
      โ”‚   ALU    โ”‚    โ”‚ Any Reg  โ”‚
      โ”‚          โ”‚    โ”‚ (LOAD=1) โ”‚
      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

  Operation Example:  R3 โ† R1 + R2
  Step 1: Sโ‚Sโ‚€ = 00 โ†’ R1 placed on bus โ†’ ALU input A
  Step 2: Sโ‚Sโ‚€ = 01 โ†’ R2 placed on bus โ†’ ALU input B
  Step 3: ALU performs ADD โ†’ result placed on bus
  Step 4: R3 LOAD = 1 โ†’ R3 captures result from bus on CLK edge

Memory Read & Write Operations

๐Ÿ“ Memory Transfer Operations

  MEMORY READ:  DR โ† M[AR]
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚   AR     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚    MEMORY         โ”‚
    โ”‚ (Address โ”‚  addr   โ”‚                   โ”‚
    โ”‚ Register)โ”‚  bus    โ”‚  Address Decoder   โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚        โ”‚          โ”‚
                         โ”‚   โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”     โ”‚
                         โ”‚   โ”‚ Cell at โ”‚     โ”‚
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚   โ”‚ AR addr โ”‚     โ”‚
    โ”‚   DR     โ”‚โ—€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚   โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜     โ”‚
    โ”‚  (Data   โ”‚  data   โ”‚        โ”‚          โ”‚
    โ”‚ Register)โ”‚  bus    โ”‚   data out        โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

    Control: READ = 1
    Result:  DR gets the word stored at memory address AR

  MEMORY WRITE:  M[AR] โ† DR
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚   AR     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚    MEMORY         โ”‚
    โ”‚ (Address โ”‚  addr   โ”‚                   โ”‚
    โ”‚ Register)โ”‚  bus    โ”‚  Address Decoder   โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚        โ”‚          โ”‚
                         โ”‚   โ”Œโ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”     โ”‚
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚   โ”‚ Cell at โ”‚     โ”‚
    โ”‚   DR     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚   โ”‚ AR addr โ”‚     โ”‚
    โ”‚  (Data   โ”‚  data   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
    โ”‚ Register)โ”‚  bus    โ”‚                   โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

    Control: WRITE = 1
    Result:  The word in DR is written into memory at address AR
AR always holds the address, DR always holds the data. In memory read, data flows FROM memory TO DR. In memory write, data flows FROM DR TO memory. The direction of the arrow in RTL tells you the direction of data flow: destination โ† source.

5. Logic Micro Operations

Logic micro operations perform bit-by-bit (bitwise) operations on data stored in registers. These do NOT consider carry or sign โ€” each bit is processed independently.

Truth Tables for Basic Logic Operations

ABA โˆง B (AND)A โˆจ B (OR)A โŠ• B (XOR)ฤ€ (Complement)
000001
010111
100110
111100

Selective Operations โ€” Practical Applications

๐Ÿ“ Selective Set, Clear, Complement & Insert

Selective Set (using OR)

Set specific bits to 1 without disturbing others. OR with a mask where 1 = set that bit.

  R1 =     1 0 1 0  0 1 1 0     (original)
  Mask =   0 0 0 0  1 1 0 0     (set bits 2,3)
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  R1โˆจMask= 1 0 1 0  1 1 1 0     (bits 2,3 are now 1, others unchanged)

  RTL: R1 โ† R1 โˆจ B     (B is the mask register)
Selective Clear (using AND with complement)

Clear specific bits to 0 without disturbing others. AND with complement of mask.

  R1 =      1 0 1 0  1 1 1 0     (original)
  Mask =    0 0 0 0  1 1 0 0     (clear bits 2,3)
  Bฬ„ =       1 1 1 1  0 0 1 1     (complement of mask)
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  R1 โˆง Bฬ„ =  1 0 1 0  0 0 1 0     (bits 2,3 are now 0, others unchanged)

  RTL: R1 โ† R1 โˆง Bฬ„
Selective Complement (using XOR)

Toggle specific bits. XOR with a mask where 1 = toggle that bit.

  R1 =      1 0 1 0  1 1 1 0     (original)
  Mask =    0 0 0 0  1 1 0 0     (toggle bits 2,3)
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  R1โŠ•Mask = 1 0 1 0  0 0 1 0     (bits 2,3 are toggled, others unchanged)

  RTL: R1 โ† R1 โŠ• B
Insert Operation (Clear then Set)

Replace specific bits with new values. First CLEAR the target bits, then OR with new values.

  R1 =        1 0 1 0  1 1 1 0     (original โ€” want to insert 01 at bits 2,3)
  Step 1 โ€” Clear bits 2,3:
    Mask =    0 0 0 0  1 1 0 0
    Bฬ„ =       1 1 1 1  0 0 1 1
    R1โˆงBฬ„ =    1 0 1 0  0 0 1 0     (bits 2,3 cleared)

  Step 2 โ€” Insert new value 01 at bits 2,3:
    New =     0 0 0 0  0 1 0 0     (01 positioned at bits 2,3)
    Result =  1 0 1 0  0 1 1 0     (bits 2,3 = 01, others unchanged)

  RTL: R1 โ† (R1 โˆง Bฬ„) โˆจ New
Logic micro operations are the backbone of bit manipulation in embedded systems. When ISRO engineers program the Chandrayaan-3 telemetry system, they use selective set/clear operations to pack multiple sensor readings into a single 32-bit register โ€” saving precious bandwidth on the deep-space communication link.

6. Shift Register Types โ€” SISO, SIPO, PISO, PIPO

A shift register is a group of flip-flops connected in a chain, where each flip-flop passes its output to the next on every clock pulse. The type depends on how data enters and exits:

TypeFull NameInputOutputApplication
SISOSerial In Serial Out1 bit at a time1 bit at a timeDelay lines, time delay
SIPOSerial In Parallel Out1 bit at a timeAll bits togetherSerial-to-parallel conversion
PISOParallel In Serial OutAll bits together1 bit at a timeParallel-to-serial conversion
PIPOParallel In Parallel OutAll bits togetherAll bits togetherBuffer register, temporary storage

๐Ÿ“ 4-Bit Shift Register Types โ€” ASCII Diagrams

SISO โ€” Serial In, Serial Out
  Data In (1 bit) โ”€โ”€โ–ถ โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ” โ”€โ”€โ–ถ Data Out (1 bit)
                      โ”‚ FFโ‚ƒ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚‚ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚€ โ”‚
               CLK โ”€โ”€โ–ถโ””โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”˜
                      
  Data flow: Input โ†’ FFโ‚ƒ โ†’ FFโ‚‚ โ†’ FFโ‚ โ†’ FFโ‚€ โ†’ Output
  Takes 4 clock cycles to load/read 4 bits.

  Example: Input sequence 1,0,1,1 (one bit per clock)
  CLK 1:  [1] [0] [0] [0]   โ† 1 enters FFโ‚ƒ
  CLK 2:  [0] [1] [0] [0]   โ† 0 enters, 1 shifts right
  CLK 3:  [1] [0] [1] [0]   โ† 1 enters, others shift
  CLK 4:  [1] [1] [0] [1]   โ† 1 enters, first bit exits FFโ‚€
SIPO โ€” Serial In, Parallel Out
  Data In (1 bit) โ”€โ”€โ–ถ โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”
                      โ”‚ FFโ‚ƒ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚‚ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚€ โ”‚
               CLK โ”€โ”€โ–ถโ””โ”€โ”€โ”ฌโ”€โ”˜   โ””โ”€โ”€โ”ฌโ”€โ”˜   โ””โ”€โ”€โ”ฌโ”€โ”˜   โ””โ”€โ”€โ”ฌโ”€โ”˜
                         โ”‚        โ”‚        โ”‚        โ”‚
                         โ–ผ        โ–ผ        โ–ผ        โ–ผ
                        Qโ‚ƒ       Qโ‚‚       Qโ‚       Qโ‚€   (Parallel Output)

  Usage: Convert serial data (UART) to parallel (CPU bus)
PISO โ€” Parallel In, Serial Out
  Dโ‚ƒ       Dโ‚‚       Dโ‚       Dโ‚€      (Parallel Input)
   โ”‚        โ”‚        โ”‚        โ”‚
   โ–ผ        โ–ผ        โ–ผ        โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ” โ”€โ”€โ–ถ Data Out (1 bit)
  โ”‚ FFโ‚ƒ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚‚ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚ โ”‚โ”€โ”€โ–ถโ”‚ FFโ‚€ โ”‚
  โ””โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”˜
  LOAD/SHIFT โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

  Mode 1 (LOAD=1): All 4 bits loaded simultaneously
  Mode 2 (SHIFT=1): Bits shift right, one exits per clock
  Usage: Convert parallel data (CPU bus) to serial (USB/UART)
PIPO โ€” Parallel In, Parallel Out
  Dโ‚ƒ       Dโ‚‚       Dโ‚       Dโ‚€      (Parallel Input)
   โ”‚        โ”‚        โ”‚        โ”‚
   โ–ผ        โ–ผ        โ–ผ        โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”
  โ”‚ FFโ‚ƒ โ”‚   โ”‚ FFโ‚‚ โ”‚   โ”‚ FFโ‚ โ”‚   โ”‚ FFโ‚€ โ”‚
  โ””โ”€โ”€โ”ฌโ”€โ”˜   โ””โ”€โ”€โ”ฌโ”€โ”˜   โ””โ”€โ”€โ”ฌโ”€โ”˜   โ””โ”€โ”€โ”ฌโ”€โ”˜
     โ”‚        โ”‚        โ”‚        โ”‚
     โ–ผ        โ–ผ        โ–ผ        โ–ผ
    Qโ‚ƒ       Qโ‚‚       Qโ‚       Qโ‚€   (Parallel Output)
  
  LOAD โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

  Usage: Buffer/temporary register, pipeline stage

7. Shift Micro Operations

Shift micro operations move bits within a register left or right. There are three types:

Shift TypeDirectionWhat HappensVacated BitUse Case
Logical Shift Leftโ†All bits move left by 1LSB = 0Multiply by 2
Logical Shift Rightโ†’All bits move right by 1MSB = 0Unsigned divide by 2
Circular Shift Leftโ† (rotate)All bits rotate leftLSB = old MSBCryptography, CRC
Circular Shift Rightโ†’ (rotate)All bits rotate rightMSB = old LSBBit pattern rotation
Arithmetic Shift Rightโ†’All bits move rightMSB = old MSB (sign preserved)Signed divide by 2

8-Bit Shift Trace Table

๐Ÿ“ Before/After Trace โ€” All 5 Shift Types on 10110011

OperationBefore (8 bits)After (8 bits)Notes
Logical Shift Left1 0 1 1 0 0 1 10 1 1 0 0 1 1 0MSB (1) lost, LSB = 0
Logical Shift Right1 0 1 1 0 0 1 10 1 0 1 1 0 0 1LSB (1) lost, MSB = 0
Circular Shift Left1 0 1 1 0 0 1 10 1 1 0 0 1 1 1MSB (1) wraps to LSB
Circular Shift Right1 0 1 1 0 0 1 11 1 0 1 1 0 0 1LSB (1) wraps to MSB
Arithmetic Shift Right1 0 1 1 0 0 1 11 1 0 1 1 0 0 1MSB (sign=1) preserved, LSB lost
  Logical Shift Left:    [1 0 1 1 0 0 1 1]  โ†’  โ†shiftโ†  โ†’  [0 1 1 0 0 1 1 0]
                          โ†‘ lost                                           โ†‘ zero fill
  
  Logical Shift Right:   [1 0 1 1 0 0 1 1]  โ†’  โ†’shiftโ†’  โ†’  [0 1 0 1 1 0 0 1]
                     zero fill โ†‘                                           โ†‘ lost
  
  Circular Shift Left:   [1 0 1 1 0 0 1 1]  โ†’  โ†rotateโ† โ†’  [0 1 1 0 0 1 1 1]
                          โ†‘โ”€โ”€โ”€โ”€โ”€โ”€โ”€wraps aroundโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†‘
  
  Circular Shift Right:  [1 0 1 1 0 0 1 1]  โ†’  โ†’rotateโ†’ โ†’  [1 1 0 1 1 0 0 1]
                          โ†‘โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€wraps aroundโ”€โ”€โ”€โ”€โ”€โ”€โ†‘
  
  Arithmetic Shift Right:[1 0 1 1 0 0 1 1]  โ†’  โ†’shiftโ†’  โ†’  [1 1 0 1 1 0 0 1]
                     sign bit preserved โ†‘                                  โ†‘ lost
Arithmetic Shift Right โ‰  Logical Shift Right for negative numbers. For the value 10110011 (โˆ’77 in signed 8-bit), logical shift right gives 01011001 (+89, wrong!), while arithmetic shift right gives 11011001 (โˆ’39, correctly halved). GATE loves testing this distinction.

8. Arithmetic Logic Shift Unit (ALSU) โ€” Complete Block Diagram

The ALSU (Arithmetic Logic Shift Unit) is the central processing component of any CPU. It combines three sub-units โ€” arithmetic, logic, and shift โ€” controlled by function-select lines.

๐Ÿ“ ALSU Complete Block Diagram

                           A (n bits)              B (n bits)
                             โ”‚                       โ”‚
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚            โ”‚                       โ”‚            โ”‚
                โ”‚     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”‚
                โ”‚     โ”‚             โ”‚         โ”‚             โ”‚     โ”‚
                โ”‚     โ–ผ             โ–ผ         โ–ผ             โ–ผ     โ”‚
                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”‚
                โ”‚  โ”‚   ARITHMETIC UNIT  โ”‚  โ”‚   LOGIC UNIT   โ”‚     โ”‚
                โ”‚  โ”‚                    โ”‚  โ”‚                โ”‚     โ”‚
                โ”‚  โ”‚  Operations:       โ”‚  โ”‚  Operations:   โ”‚     โ”‚
                โ”‚  โ”‚  โ€ข Add (A + B)     โ”‚  โ”‚  โ€ข A โˆง B (AND) โ”‚     โ”‚
                โ”‚  โ”‚  โ€ข Subtract        โ”‚  โ”‚  โ€ข A โˆจ B (OR)  โ”‚     โ”‚
                โ”‚  โ”‚    (A + Bฬ„ + 1)     โ”‚  โ”‚  โ€ข A โŠ• B (XOR) โ”‚     โ”‚
                โ”‚  โ”‚  โ€ข Increment (A+1) โ”‚  โ”‚  โ€ข ฤ€ (NOT)     โ”‚     โ”‚
                โ”‚  โ”‚  โ€ข Decrement (Aโˆ’1) โ”‚  โ”‚                โ”‚     โ”‚
                โ”‚  โ”‚  โ€ข Transfer (A)    โ”‚  โ”‚                โ”‚     โ”‚
                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
                โ”‚           โ”‚                      โ”‚              โ”‚
                โ”‚           โ–ผ                      โ–ผ              โ”‚
                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
                โ”‚  โ”‚              4ร—1 MUX                     โ”‚    โ”‚
                โ”‚  โ”‚                                          โ”‚    โ”‚
                โ”‚  โ”‚   Inputs: Arith | Logic | Shift | (rsv)  โ”‚    โ”‚
                โ”‚  โ”‚                                          โ”‚    โ”‚
                โ”‚  โ”‚         Sโ‚ƒ Sโ‚‚  (Unit Select)             โ”‚    โ”‚
                โ”‚  โ”‚         โ”€โ”ฌโ”€โ”€โ”ฌโ”€                           โ”‚    โ”‚
                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
                โ”‚             โ”‚  โ”‚          โ”‚                      โ”‚
                โ”‚      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚                      โ”‚
                โ”‚      โ”‚                โ”‚   โ”‚                      โ”‚
                โ”‚      โ–ผ                โ”‚   โ”‚                      โ”‚
                โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”‚                      โ”‚
  A (n bits) โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ  SHIFT UNIT    โ”‚   โ”‚   โ”‚                      โ”‚
                โ”‚  โ”‚                โ”‚   โ”‚   โ”‚                      โ”‚
                โ”‚  โ”‚  Operations:   โ”‚   โ”‚   โ”‚                      โ”‚
                โ”‚  โ”‚  โ€ข Shift Left  โ”‚โ”€โ”€โ”€โ”˜   โ”‚                      โ”‚
                โ”‚  โ”‚  โ€ข Shift Right โ”‚       โ”‚                      โ”‚
                โ”‚  โ”‚  โ€ข Rotate L/R  โ”‚       โ”‚                      โ”‚
                โ”‚  โ”‚  โ€ข Arith Shr   โ”‚       โ”‚                      โ”‚
                โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚                      โ”‚
                โ”‚                           โ”‚                      โ”‚
                โ”‚                           โ–ผ                      โ”‚
                โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”‚
                โ”‚                    โ”‚   OUTPUT F   โ”‚              โ”‚
                โ”‚                    โ”‚   (n bits)   โ”‚              โ”‚
                โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚
                โ”‚                                                  โ”‚
                โ”‚    Sโ‚ƒSโ‚‚ = Unit Select    Sโ‚Sโ‚€ = Op Select       โ”‚
                โ”‚    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€          โ”‚
                โ”‚    00 = Arithmetic       Selects which           โ”‚
                โ”‚    01 = Logic            operation within        โ”‚
                โ”‚    10 = Shift            the selected unit       โ”‚
                โ”‚    11 = Reserved                                 โ”‚
                โ”‚                                                  โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

                 Function Select Lines: Sโ‚ƒ Sโ‚‚ Sโ‚ Sโ‚€  +  Cแตขโ‚™ (carry in)

ALSU Operation Table

Sโ‚ƒSโ‚‚Sโ‚Sโ‚€Cแตขโ‚™OperationFunctionType
00000F = ATransfer AArithmetic
00001F = A + 1Increment AArithmetic
00010F = A + BAdditionArithmetic
00011F = A + B + 1Add with carryArithmetic
00100F = A + Bฬ„A plus 1's comp BArithmetic
00101F = A + Bฬ„ + 1Subtraction (A โˆ’ B)Arithmetic
00110F = A โˆ’ 1Decrement AArithmetic
00111F = ATransfer AArithmetic
0100ร—F = A โˆง BANDLogic
0101ร—F = A โˆจ BORLogic
0110ร—F = A โŠ• BXORLogic
0111ร—F = ฤ€Complement ALogic
1000ร—F = shl ALogical Shift LeftShift
1001ร—F = shr ALogical Shift RightShift
1010ร—F = cil ACircular Shift LeftShift
1011ร—F = cir ACircular Shift RightShift
GATE Shortcut: Sโ‚ƒSโ‚‚ selects the unit (00=Arith, 01=Logic, 10=Shift). Sโ‚Sโ‚€ selects the operation within that unit. For arithmetic operations, Cแตขโ‚™ adds +1. Remembering this 2-level selection makes the entire table easy to reconstruct during the exam.
Section D

Learn by Doing โ€” 3-Tier Lab Structure

๐ŸŸข Tier 1 โ€” GUIDED: RTL Trace Exercise

โฑ๏ธ 30โ€“45 minutesBeginnerPen-and-paper trace

Problem: Trace the following RTL sequence

Given initial values: R1 = 1010 0110, R2 = 0011 1100, R3 = 0000 0000. Trace each step:

  Step 1:  R3 โ† R1          (Transfer)
  Step 2:  R1 โ† R1 โˆง R2     (AND)
  Step 3:  R2 โ† R2 โˆจ R3     (OR)
  Step 4:  R3 โ† R1 โŠ• R2     (XOR)

Solution Trace:

StepOperationR1R2R3
Initialโ€”1010 01100011 11000000 0000
1R3 โ† R11010 01100011 11001010 0110
2R1 โ† R1 โˆง R20010 01000011 11001010 0110
3R2 โ† R2 โˆจ R30010 01001011 11101010 0110
4R3 โ† R1 โŠ• R20010 01001011 11101001 1010
Your Turn: Now trace with R1 = 1111 0000, R2 = 0000 1111, and the same 4 steps. Verify your answer by checking: after Step 2, R1 should be all zeros.

๐ŸŸก Tier 2 โ€” SEMI-GUIDED: Shift Operations Drill

โฑ๏ธ 45โ€“60 minutesIntermediateAll 5 shift types

Exercise: Complete the shift table

Given the 8-bit value: 11001010 (decimal โˆ’54 signed, 202 unsigned)

OperationInputYour AnswerDecimal (unsigned)
Logical Shift Left ร—11100101010010100148
Logical Shift Right ร—11100101001100101101
Logical Shift Left ร—2110010100010100040
Circular Shift Left ร—11100101010010101149
Circular Shift Right ร—11100101001100101101
Arithmetic Shift Right ร—11100101011100101โˆ’27 (signed)
Arithmetic Shift Right ร—21100101011110010โˆ’14 (signed)
Quick Check: Logical shift left = multiply by 2 (unsigned). Arithmetic shift right = divide by 2 (signed, rounds toward โˆ’โˆž). If the value is 11001010 (โˆ’54 signed), one arithmetic right shift gives 11100101 (โˆ’27). Two gives 11110010 (โˆ’14). The sign bit ALWAYS stays.

๐Ÿ”ด Tier 3 โ€” OPEN CHALLENGE: Python 8-Bit Shift Register Simulator

โฑ๏ธ 90โ€“120 minutesAdvancedBuild a working simulator

Your Mission: Build a Complete Shift Register Simulator in Python

Create a program that simulates an 8-bit register with all micro operations.

Python
class ShiftRegister:
    def __init__(self, value=0):
        # Store as 8-bit integer (0-255)
        self.value = value & 0xFF
        self.size = 8

    def display(self):
        binary = format(self.value, '08b')
        print(f"  Register: [{binary}]  (Dec: {self.value}, Hex: 0x{self.value:02X})")

    def logical_shift_left(self):
        # All bits shift left, LSB = 0, MSB is lost
        self.value = (self.value << 1) & 0xFF

    def logical_shift_right(self):
        # All bits shift right, MSB = 0, LSB is lost
        self.value = (self.value >> 1) & 0x7F

    def circular_shift_left(self):
        # MSB wraps to LSB
        msb = (self.value >> 7) & 1
        self.value = ((self.value << 1) | msb) & 0xFF

    def circular_shift_right(self):
        # LSB wraps to MSB
        lsb = self.value & 1
        self.value = ((self.value >> 1) | (lsb << 7)) & 0xFF

    def arithmetic_shift_right(self):
        # Sign bit preserved, LSB is lost
        sign = self.value & 0x80
        self.value = ((self.value >> 1) | sign) & 0xFF

# === Test the simulator ===
reg = ShiftRegister(0b10110011)
print("Original:")
reg.display()

reg.logical_shift_left()
print("After Logical Shift Left:")
reg.display()
Original: Register: [10110011] (Dec: 179, Hex: 0xB3) After Logical Shift Left: Register: [01100110] (Dec: 102, Hex: 0x66)
Extension Challenges:
โ€ข Add AND, OR, XOR operations with a second register
โ€ข Implement the selective set/clear/complement/insert operations
โ€ข Build an interactive menu that lets users choose operations
โ€ข Add ALSU function-select: user enters Sโ‚ƒSโ‚‚Sโ‚Sโ‚€ and Cแตขโ‚™ โ†’ output result
Section E

Problem Bank โ€” Diagram, Numerical, Industry & GATE

๐Ÿ“ Diagram-Based Problems (3)

D1

Draw a 4-bit common bus system using 4ร—1 MUX connecting four registers R0, R1, R2, R3. Label select lines Sโ‚Sโ‚€ and show which register is placed on bus for each select combination.

  R0    R1    R2    R3
  โ”‚     โ”‚     โ”‚     โ”‚
  โ””โ”€โ”€โ”ฌโ”€โ”€โ”˜  โ”Œโ”€โ”€โ”˜     โ”‚
     โ”‚     โ”‚        โ”‚
     โ–ผ     โ–ผ        โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚     4ร—1 MUX          โ”‚
  โ”‚  Sโ‚Sโ‚€ = 00 โ†’ R0     โ”‚
  โ”‚  Sโ‚Sโ‚€ = 01 โ†’ R1     โ”‚
  โ”‚  Sโ‚Sโ‚€ = 10 โ†’ R2     โ”‚
  โ”‚  Sโ‚Sโ‚€ = 11 โ†’ R3     โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
             โ”‚
        COMMON BUS
Each MUX is n-bits wide (one MUX per bit position). For n-bit registers, we need n separate 4ร—1 MUX circuits.
D2

Draw the block diagram of a 4-bit SIPO shift register. Show the serial input, all 4 flip-flops, clock, and parallel outputs Qโ‚ƒQโ‚‚Qโ‚Qโ‚€. Trace the loading of the value 1011 over 4 clock cycles.

  Serial In โ†’ [FFโ‚ƒ] โ†’ [FFโ‚‚] โ†’ [FFโ‚] โ†’ [FFโ‚€]
                โ†“        โ†“        โ†“        โ†“
               Qโ‚ƒ       Qโ‚‚       Qโ‚       Qโ‚€

  CLK 1: Input=1  โ†’ [1][0][0][0]
  CLK 2: Input=0  โ†’ [0][1][0][0]
  CLK 3: Input=1  โ†’ [1][0][1][0]
  CLK 4: Input=1  โ†’ [1][1][0][1]
  After 4 clocks: Qโ‚ƒQโ‚‚Qโ‚Qโ‚€ = 1101 (reversed input order)
Note: The first bit entered (1) ends up at Qโ‚€, and the last bit (1) at Qโ‚ƒ.
D3

Draw the complete ALSU block diagram showing arithmetic unit, logic unit, shift unit, MUX selector, and function-select lines Sโ‚ƒSโ‚‚Sโ‚Sโ‚€. Label all inputs (A, B, Cแตขโ‚™) and output F.

Refer to the ALSU diagram in Section C.8. Key points: A and B are n-bit operands. Sโ‚ƒSโ‚‚ select the unit (Arith/Logic/Shift). Sโ‚Sโ‚€ select the operation within the unit. Cแตขโ‚™ is used only by the arithmetic unit. The 4ร—1 MUX at the output selects which unit's result to send as F.

๐Ÿ”ข Numerical Problems (6)

N1

Given R1 = 10101100 and R2 = 11001010, compute: (a) R1 โˆง R2 (b) R1 โˆจ R2 (c) R1 โŠ• R2 (d) Rฬ„1

(a) R1 โˆง R2 = 10001000
(b) R1 โˆจ R2 = 11101110
(c) R1 โŠ• R2 = 01100110
(d) Rฬ„1 = 01010011
N2

Perform selective set on R = 10100011 to set bits 4 and 5 to 1 (without changing other bits). Show the mask and result.

Mask = 00110000 (bits 4,5 set to 1)
R โˆจ Mask = 10110011 โˆจ 00110000 โ†’ Wait, let me redo:
R = 10100011
R โˆจ Mask = 10100011 โˆจ 00110000 = 10110011
Bits 4,5 are now 1. Other bits unchanged. โœ“
N3

Perform two consecutive logical shift left operations on the 8-bit value 00110101. What is the result? What is the equivalent decimal multiplication?

Original: 00110101 = 53
After 1st LSL: 01101010 = 106 (53 ร— 2)
After 2nd LSL: 11010100 = 212 (53 ร— 4)
Two left shifts = multiply by 4. โœ“
N4

Given the signed 8-bit value 11010100 (= โˆ’44 in 2's complement), perform arithmetic shift right twice. Show the result and verify it equals โŒŠโˆ’44/4โŒ‹.

Original: 11010100 = โˆ’44
After 1st ASR: 11101010 = โˆ’22 (โˆ’44 รท 2)
After 2nd ASR: 11110101 = โˆ’11 (โˆ’22 รท 2)
โŒŠโˆ’44/4โŒ‹ = โˆ’11 โœ“ (Sign bit 1 is preserved in both shifts)
N5

In an ALSU, function select Sโ‚ƒSโ‚‚Sโ‚Sโ‚€ = 0010 with Cแตขโ‚™ = 1. If A = 01010000 and B = 00110000, compute F.

Sโ‚ƒSโ‚‚ = 00 โ†’ Arithmetic unit
Sโ‚Sโ‚€ = 10 โ†’ F = A + Bฬ„ + Cแตขโ‚™
Bฬ„ = 11001111
F = 01010000 + 11001111 + 1 = 00100000
This is A โˆ’ B = 80 โˆ’ 48 = 32 = 00100000 โœ“
N6

A common bus system has 16 registers. How many select lines does the MUX need? If each register is 32 bits wide, how many 16ร—1 MUX circuits are required?

Select lines = logโ‚‚(16) = 4 lines (Sโ‚ƒSโ‚‚Sโ‚Sโ‚€)
MUX circuits needed = 32 (one 16ร—1 MUX per bit position)
Total: 32 MUX circuits, each being a 16ร—1 multiplexer.

๐Ÿญ Industry Application Problems (3)

I1

A network interface card (NIC) receives data serially over Ethernet at 1 Gbps. It needs to present this data to the CPU's 64-bit bus in parallel. Which type of shift register is used? How many clock cycles to fill the register for one 64-bit transfer?

SIPO (Serial In Parallel Out) shift register is used.
Clock cycles needed = 64 (one bit loaded per clock cycle).
At 1 Gbps, each bit arrives in 1 ns, so 64 bits take 64 ns = 64 clock cycles.
After 64 clocks, all 64 bits are available simultaneously on parallel outputs for the CPU bus.
I2

In an ARM Cortex-A78 processor (used in Qualcomm Snapdragon chips made at Qualcomm Hyderabad), the barrel shifter can perform any shift operation in a single clock cycle. Why is this faster than using a sequential shift register? How does the barrel shifter achieve this using MUX layers?

A sequential shift register shifts 1 bit per clock cycle. Shifting by k positions takes k clocks.
A barrel shifter uses logโ‚‚(n) layers of multiplexers. For 32-bit data, it uses 5 MUX layers.
Each layer either shifts by 2โฑ positions or passes through, controlled by shift-amount bits.
Result: ANY shift amount (0โ€“31) in ONE clock cycle, regardless of shift distance.
This is critical for ARM's single-cycle execution pipeline used in mobile SoCs designed in India.
I3

ISRO's Chandrayaan-3 telemetry system packs 8 sensor readings (each 4 bits) into a single 32-bit register using insert operations. Describe the RTL sequence to insert the 3rd sensor reading (value 1010) into bits 8โ€“11 of the register R1 without disturbing other bits.

Step 1: Create clear mask for bits 8-11
  Mask = 00000000 00000000 00001111 00000000
  Bฬ„    = 11111111 11111111 11110000 11111111

Step 2: Clear bits 8-11
  R1 โ† R1 โˆง Bฬ„

Step 3: Position new value at bits 8-11
  New = 00000000 00000000 00001010 00000000  (1010 shifted left by 8)

Step 4: Insert
  R1 โ† R1 โˆจ New

Combined RTL: R1 โ† (R1 โˆง Bฬ„) โˆจ (Sensorโ‚ƒ shl 8)

๐ŸŽฏ GATE Practice Problems (5)

G1 โ€” GATE CSE 2019 Style

The operation performed by R3 โ† R1 + Rฬ„2 + 1 is equivalent to:

  1. R1 AND R2
  2. R1 โˆ’ R2
  3. R1 + R2
  4. R1 XOR R2
UnderstandGATE
โœ… Answer: (B) R1 โˆ’ R2. Adding the 1's complement (Rฬ„2) plus 1 is the 2's complement method of subtraction. Rฬ„2 + 1 = โˆ’R2, so R1 + (โˆ’R2) = R1 โˆ’ R2.
G2 โ€” GATE CSE 2020 Style

A bus system uses a 64-to-1 multiplexer. How many selection lines are required?

  1. 5
  2. 6
  3. 7
  4. 8
RememberGATE
โœ… Answer: (B) 6. A 2โฟ-to-1 MUX needs n select lines. 2โถ = 64. So 6 select lines.
G3 โ€” GATE CSE 2021 Style

The arithmetic shift right operation on signed number 11110010 gives:

  1. 01111001
  2. 11111001
  3. 11110001
  4. 01110010
ApplyGATE
โœ… Answer: (B) 11111001. ASR preserves the sign bit (MSB=1). All bits shift right by 1: 1โ†’1, 1โ†’1, 1โ†’1, 1โ†’1, 0โ†’0, 0โ†’0, 1โ†’0, 0โ†’lost. Result: 11111001. The original was โˆ’14, result is โˆ’7.
G4 โ€” GATE CSE 2022 Style

To selectively complement bits 2 and 5 of register A = 10110100, the mask B and operation should be:

  1. B = 00100100, A โˆง B
  2. B = 00100100, A โˆจ B
  3. B = 00100100, A โŠ• B
  4. B = 11011011, A โˆง B
ApplyGATE
โœ… Answer: (C). XOR with mask having 1s at positions 2 and 5 toggles exactly those bits. AโŠ•B = 10110100 โŠ• 00100100 = 10010000. Bits 2 and 5 are complemented, all others unchanged.
G5 โ€” GATE CSE 2023 Style

In a common bus system with k registers, each n bits wide, using n multiplexers each of size kร—1, the total number of MUX select lines required is:

  1. n ร— logโ‚‚(k)
  2. logโ‚‚(k)
  3. k ร— n
  4. n ร— k
AnalyzeGATE
โœ… Answer: (B) logโ‚‚(k). All n multiplexers share the SAME select lines. Only logโ‚‚(k) select lines are needed to choose which of the k registers drives the bus. The same select signal controls all n MUXes simultaneously.
Section F

MCQ Assessment Bank โ€” 30 Questions (Bloom's Mapped)

Remember / Identify (Q1โ€“Q6)

Q1

A register is a group of:

  1. Counters
  2. Decoders
  3. Flip-flops
  4. Multiplexers
Remember
โœ… Answer: (C) Flip-flops. A register is a group of flip-flops, each storing one bit of data.
Q2

The RTL statement R2 โ† R1 means:

  1. Delete R1 and store in R2
  2. Copy contents of R1 into R2
  3. Swap R1 and R2
  4. Compare R1 and R2
Remember
โœ… Answer: (B) Copy contents of R1 into R2. The arrow โ† indicates the direction of data transfer. R1 (source) is not modified.
Q3

In RTL notation, M[AR] refers to:

  1. The address register
  2. The memory word at the address stored in AR
  3. The multiplication of A and R
  4. A memory array of AR size
Remember
โœ… Answer: (B) The memory word at the address stored in AR. Square brackets denote memory access, and AR holds the address.
Q4

SIPO stands for:

  1. Serial Input Parallel Output
  2. Single Input Pair Output
  3. Synchronous In Phase Operation
  4. Serial In Pulse Out
Remember
โœ… Answer: (A) Serial Input Parallel Output โ€” a shift register where data enters one bit at a time and exits all bits simultaneously.
Q5

The four types of micro operations are:

  1. Register transfer, arithmetic, logic, shift
  2. Add, subtract, multiply, divide
  3. AND, OR, XOR, NOT
  4. Read, write, execute, store
Remember
โœ… Answer: (A) Register transfer, arithmetic, logic, and shift. These are the four fundamental categories of micro operations in digital computing.
Q6

In a common bus system, which component selects which register places data on the bus?

  1. Decoder
  2. Multiplexer (MUX)
  3. Encoder
  4. Flip-flop
Remember
โœ… Answer: (B) Multiplexer (MUX). The MUX select lines determine which register's output is connected to the shared bus.

Understand / Explain (Q7โ€“Q12)

Q7

Why does R2 โ† R1 NOT erase R1?

  1. Because R1 is read-only
  2. Because it's a copy operation โ€” the source register is only read, not cleared
  3. Because both registers share the same flip-flops
  4. Because the clock prevents erasure
Understand
โœ… Answer: (B). Register transfer reads the output of R1 (which doesn't change R1's state) and loads it into R2. R1 retains its value.
Q8

What is the purpose of the LOAD control signal in a register?

  1. To reset the register to zero
  2. To determine whether the register captures new input on the next clock edge
  3. To select which bit to read
  4. To connect the register to the ALU
Understand
โœ… Answer: (B). When LOAD=1, the register captures input data on the clock edge. When LOAD=0, the register holds its current value regardless of inputs.
Q9

Why is a bus system preferred over point-to-point connections between registers?

  1. It's faster
  2. It reduces the number of wires from O(nยฒ) to O(n)
  3. It allows multiple simultaneous transfers
  4. It eliminates the need for multiplexers
Understand
โœ… Answer: (B). With k registers, point-to-point needs k(kโˆ’1) connections. A bus needs only k connections to the bus + MUX, drastically reducing wiring complexity.
Q10

What distinguishes arithmetic shift right from logical shift right?

  1. Arithmetic shift right is faster
  2. Arithmetic shift right preserves the sign bit (MSB), logical shift right fills MSB with 0
  3. They are identical operations
  4. Logical shift right preserves the sign bit
Understand
โœ… Answer: (B). ASR copies the sign bit (MSB) back into the MSB position, preserving the sign of the number. LSR fills MSB with 0, treating the number as unsigned.
Q11

In memory read operation DR โ† M[AR], what is the role of AR?

  1. AR stores the data to be read
  2. AR contains the address of the memory location to be read
  3. AR performs the read operation
  4. AR stores the result of the read
Understand
โœ… Answer: (B). AR (Address Register) holds the memory address. The data at that address flows from memory into DR (Data Register).
Q12

Why is circular shift useful in cryptographic algorithms?

  1. It destroys the data permanently
  2. No bits are lost โ€” all information is preserved while rearranging bit positions
  3. It's the same as addition
  4. It only works on prime-length registers
Understand
โœ… Answer: (B). Unlike logical shifts where bits fall off, circular shifts preserve all bits by wrapping them around. This reversible property is essential in encryption algorithms like AES and DES.

Apply / Compute (Q13โ€“Q18)

Q13

If R1 = 11001010 and R2 = 10110011, what is R1 โˆง R2?

  1. 10000010
  2. 11111011
  3. 01111001
  4. 10001000
Apply
โœ… Answer: (A) 10000010. AND each bit pair: 1โˆง1=1, 1โˆง0=0, 0โˆง1=0, 0โˆง1=0, 1โˆง0=0, 0โˆง0=0, 1โˆง1=1, 0โˆง1=0.
Q14

Logical shift left of 01011010 gives:

  1. 10110100
  2. 00101101
  3. 01011010
  4. 10110101
Apply
โœ… Answer: (A) 10110100. All bits shift left by 1. MSB (0) is lost, LSB filled with 0.
Q15

Circular shift right of 10000001 gives:

  1. 01000000
  2. 11000000
  3. 11000000
  4. 01000001
Apply
โœ… Answer: (B) 11000000. The LSB (1) wraps to MSB. All other bits shift right by 1. Result: 1_1000000 = 11000000.
Q16

To selectively set bits 0 and 3 of R = 10100100, the mask and operation are:

  1. Mask = 00001001, R โˆง Mask
  2. Mask = 00001001, R โˆจ Mask
  3. Mask = 00001001, R โŠ• Mask
  4. Mask = 11110110, R โˆง Mask
Apply
โœ… Answer: (B). Selective set uses OR. Mask has 1s at positions to set (bits 0,3 = 00001001). R โˆจ 00001001 = 10101101.
Q17

In the ALSU, Sโ‚ƒSโ‚‚Sโ‚Sโ‚€ = 0101 selects:

  1. Addition (A + B)
  2. OR (A โˆจ B)
  3. XOR (A โŠ• B)
  4. Shift left
Apply
โœ… Answer: (B). Sโ‚ƒSโ‚‚ = 01 selects the logic unit. Sโ‚Sโ‚€ = 01 selects the second logic operation, which is OR (A โˆจ B).
Q18

What is the result of R1 โ† R1 + Rฬ„1 + 1?

  1. R1 = 0 (all zeros)
  2. R1 = all ones
  3. R1 unchanged
  4. R1 = 1
Apply
โœ… Answer: (A) R1 = 0. R1 + Rฬ„1 = all 1s (111...1). Adding 1 causes overflow, resulting in 000...0 (with carry out discarded in an n-bit register).

Analyze / Compare (Q19โ€“Q24)

Q19

Which shift register type is needed to convert parallel CPU data to serial data for USB transmission?

  1. SISO
  2. SIPO
  3. PISO
  4. PIPO
Analyze
โœ… Answer: (C) PISO. Parallel data from the CPU bus is loaded into all flip-flops simultaneously, then shifted out one bit at a time through the serial output for USB/UART transmission.
Q20

For a system with 32 registers, how many MUX select lines are needed for the common bus?

  1. 4
  2. 5
  3. 16
  4. 32
Analyze
โœ… Answer: (B) 5. Select lines = logโ‚‚(32) = 5. With 5 select lines, we can choose any one of 2โต = 32 registers.
Q21

Three consecutive logical shift left operations on an 8-bit value are equivalent to:

  1. Multiplying by 3
  2. Multiplying by 6
  3. Multiplying by 8
  4. Multiplying by 16
Analyze
โœ… Answer: (C) Multiplying by 8. Each left shift = ร—2. Three shifts = ร—2ยณ = ร—8. (Assuming no overflow)
Q22

Which operation is used to test if a specific bit is 1 without modifying the register?

  1. Selective set (OR)
  2. Selective clear (AND complement)
  3. Mask operation (AND with mask, check result)
  4. Complement (NOT)
Analyze
โœ… Answer: (C). AND the register with a mask having 1 only at the bit position to test. If result is non-zero, that bit is 1. This is a non-destructive test operation.
Q23

If both memory read and memory write use the same data bus, what prevents data collision?

  1. They use different clock speeds
  2. Read and write control signals are mutually exclusive โ€” only one is active at a time
  3. They use separate address registers
  4. Memory can handle simultaneous read and write
Analyze
โœ… Answer: (B). The READ and WRITE control signals are never both active simultaneously. This ensures data flows in only one direction on the bus at any given time.
Q24

What advantage does a barrel shifter have over a sequential shift register in ALU design?

  1. It uses fewer transistors
  2. It can shift by any amount in one clock cycle instead of one bit per cycle
  3. It only works with 8-bit data
  4. It doesn't need control signals
Analyze
โœ… Answer: (B). A barrel shifter uses MUX layers to perform any shift amount in O(1) time, while a sequential shifter needs k cycles for k-bit shift.

Evaluate / Justify (Q25โ€“Q27)

Q25

A student claims "Arithmetic shift left is different from logical shift left." Is this correct?

  1. Yes, arithmetic shift left preserves the sign bit
  2. No, both operations are identical โ€” shift all bits left, fill LSB with 0
  3. Yes, arithmetic shift left fills MSB with 1
  4. No, arithmetic shift left doesn't exist
Evaluate
โœ… Answer: (B). Arithmetic shift left and logical shift left produce the same result: all bits move left, LSB is filled with 0. The distinction only exists for right shifts (sign preservation).
Q26

Why can't two registers simultaneously drive the common bus?

  1. The clock can only trigger one register
  2. Different voltage levels from two sources would cause bus contention (short circuit)
  3. MUX has only one output
  4. Both B and C
Evaluate
โœ… Answer: (D). Both electrical (bus contention causes undefined voltages) and logical (MUX selects exactly one input) reasons prevent simultaneous driving. This is why the MUX exists.
Q27

Is the operation R1 โ† R1 โŠ• R1 useful? What does it produce?

  1. It doubles R1
  2. It complements R1
  3. It always produces all zeros โ€” a quick way to clear a register
  4. It produces all ones
Evaluate
โœ… Answer: (C). Any value XORed with itself produces 0. This is a common hardware trick to clear a register in a single operation (used by x86 compilers: XOR EAX, EAX).

Create / Design (Q28โ€“Q30)

Q28

To swap two registers R1 and R2 without a temporary register, the correct RTL sequence using XOR is:

  1. R1โ†R1โŠ•R2, R2โ†R1โŠ•R2, R1โ†R1โŠ•R2
  2. R1โ†R1โˆงR2, R2โ†R1โˆจR2, R1โ†R1โˆงR2
  3. R1โ†R1+R2, R2โ†R1โˆ’R2, R1โ†R1โˆ’R2
  4. Both A and C
Create
โœ… Answer: (D). Both XOR swap and arithmetic swap work without a temporary register. XOR swap: Step 1: R1=R1โŠ•R2, Step 2: R2=R1โŠ•R2=(R1โŠ•R2)โŠ•R2=R1, Step 3: R1=R1โŠ•R2=(R1โŠ•R2)โŠ•R1=R2.
Q29

To implement R3 โ† R1 โˆ’ R2 using only addition and complement operations, the correct design is:

  1. R3 โ† R1 + R2
  2. R3 โ† R1 + Rฬ„2 + 1
  3. R3 โ† Rฬ„1 + R2 + 1
  4. R3 โ† R1 + Rฬ„2
Create
โœ… Answer: (B). 2's complement subtraction: โˆ’R2 = Rฬ„2 + 1. Therefore R1 โˆ’ R2 = R1 + Rฬ„2 + 1. This is how ALUs implement subtraction using only an adder and complementer.
Q30

Design an RTL sequence to multiply the contents of R1 by 5 using only shift and add operations:

  1. R2 โ† shl R1; R2 โ† shl R2; R1 โ† R1 + R2
  2. R2 โ† R1; R1 โ† shl R1; R1 โ† shl R1; R1 โ† R1 + R2
  3. R1 โ† shl R1; R1 โ† shl R1; R1 โ† R1 + R1
  4. R2 โ† shl R1; R1 โ† R1 + R2
Create
โœ… Answer: (B). R2 saves original R1. Two left shifts on R1 = R1ร—4. Then R1 + R2 = 4ร—original + original = 5ร—original. This is how hardware multipliers optimize constant multiplication.
Section G

Short Answer Questions (8)

SA1

Define a register and explain the role of the LOAD signal. (3 marks)

Register: A register is a group of flip-flops used to store binary information. An n-bit register consists of n flip-flops and can store n bits of data simultaneously.

LOAD signal: The LOAD control signal determines whether the register accepts new data. When LOAD = 1, the register captures the input data on the next clock edge. When LOAD = 0, the register retains its current contents regardless of input changes. This makes the register "selective" โ€” it only updates when explicitly commanded to do so.
SA2

Explain the difference between R2 โ† R1 and P: R2 โ† R1. (3 marks)

R2 โ† R1: Unconditional transfer. The contents of R1 are copied into R2 on every clock edge, regardless of any condition.

P: R2 โ† R1: Conditional transfer. The transfer occurs ONLY when control variable P = 1. If P = 0, R2 retains its old value. The condition P is checked at the clock edge โ€” both P = 1 and the clock edge must coincide for the transfer to happen. This is implemented by ANDing P with the CLK signal to generate the LOAD input for R2.
SA3

What is a common bus system? Why is it preferred over direct connections? (4 marks)

Common Bus System: A shared set of wires (data path) that connects all registers through multiplexers. Only one register can place data on the bus at a time (selected by MUX control lines), and any register with LOAD enabled can read from the bus.

Why preferred:
1. Reduced wiring: k registers need only k connections to the bus, versus k(kโˆ’1) point-to-point connections
2. Scalability: Adding a new register requires only connecting it to the bus, not to every other register
3. Simpler control: Only logโ‚‚(k) select lines needed to choose the source register
4. Trade-off: Slower (only one transfer per clock cycle) but much simpler and cheaper hardware
SA4

Describe the four selective logic operations with one example each. (5 marks)

1. Selective Set (OR): Sets specific bits to 1. R = 10100011, Mask = 00001100 โ†’ R โˆจ Mask = 10101111. Bits 2,3 set to 1.

2. Selective Clear (AND complement): Clears specific bits to 0. R = 10101111, Mask = 00001100, Bฬ„ = 11110011 โ†’ R โˆง Bฬ„ = 10100011. Bits 2,3 cleared.

3. Selective Complement (XOR): Toggles specific bits. R = 10100011, Mask = 00001100 โ†’ R โŠ• Mask = 10101111. Bits 2,3 flipped.

4. Insert (Clear then Set): Replaces specific bits with new values. First clear target bits using AND complement, then set new values using OR. R = 10100011, clear bits 2,3, insert 10 โ†’ (R โˆง 11110011) โˆจ 00001000 = 10101011.
SA5

Compare logical shift right and arithmetic shift right with a numerical example. (4 marks)

Logical Shift Right (LSR): All bits shift right by 1. MSB is filled with 0. Used for unsigned division by 2.
Example: 11010110 โ†’ 01101011 (214 โ†’ 107 unsigned)

Arithmetic Shift Right (ASR): All bits shift right by 1. MSB retains its original value (sign preservation). Used for signed division by 2.
Example: 11010110 โ†’ 11101011 (โˆ’42 โ†’ โˆ’21 signed)

Key difference: For positive numbers (MSB=0), both produce the same result. For negative numbers (MSB=1), LSR incorrectly changes the sign to positive, while ASR correctly preserves the negative sign.
SA6

List and briefly describe the four types of shift registers (SISO, SIPO, PISO, PIPO). (4 marks)

1. SISO (Serial In Serial Out): Data enters and exits one bit at a time. Used as delay lines โ€” data takes n clock cycles to pass through n flip-flops.

2. SIPO (Serial In Parallel Out): Data enters one bit at a time but all bits are available simultaneously at the output. Used for serial-to-parallel conversion (e.g., UART receiver).

3. PISO (Parallel In Serial Out): All bits are loaded at once, then shifted out one at a time. Used for parallel-to-serial conversion (e.g., UART transmitter).

4. PIPO (Parallel In Parallel Out): All bits loaded and read simultaneously. Acts as a buffer or temporary storage register. Used in pipeline stages and data latches.
SA7

Explain how subtraction is implemented using addition in an ALU. (3 marks)

Subtraction using 2's complement addition:
To compute A โˆ’ B, the ALU performs: A + Bฬ„ + 1

Steps:
1. Take the 1's complement of B (invert all bits): Bฬ„
2. Add 1 to get the 2's complement: Bฬ„ + 1 = โˆ’B
3. Add A + (โˆ’B) = A โˆ’ B

This means the ALU only needs an adder and a complementer โ€” no separate subtraction circuit is required. The Cแตขโ‚™ (carry input) provides the +1.
SA8

What are the function-select lines in an ALSU? How do Sโ‚ƒSโ‚‚ and Sโ‚Sโ‚€ work together? (4 marks)

Function-select lines (Sโ‚ƒSโ‚‚Sโ‚Sโ‚€): 4-bit control input that determines which operation the ALSU performs.

Two-level selection:
โ€ข Sโ‚ƒSโ‚‚ (Unit Select): Selects which sub-unit produces the output:
- 00 = Arithmetic unit (add, subtract, increment, etc.)
- 01 = Logic unit (AND, OR, XOR, NOT)
- 10 = Shift unit (logical, circular, arithmetic shifts)

โ€ข Sโ‚Sโ‚€ (Operation Select): Selects the specific operation within the chosen unit. For example, in the logic unit: 00=AND, 01=OR, 10=XOR, 11=NOT.

Additionally, Cแตขโ‚™ (carry input) acts as an extra selector for arithmetic operations, effectively doubling the number of arithmetic functions (e.g., Transfer A vs Increment A).
Section H

Long Answer Questions (3)

๐Ÿ“ LA1: Explain Register Transfer Language (RTL) with all notation rules, 10 operation examples, and conditional transfer with timing diagram (10 marks)

Model Answer Outline:

  1. Definition of RTL: A symbolic notation used to describe the micro operations and data transfers between registers in a digital system. It specifies which register receives data (destination โ† source), under what conditions, and what operation is performed.
  2. Notation rules (6 rules): Uppercase letters for registers, โ† for transfer, comma for simultaneous operations, colon for conditions, parentheses for bit selection, brackets for memory access.
  3. 10 operation examples:
    • R2 โ† R1 (simple transfer)
    • P: R2 โ† R1 (conditional transfer)
    • R1 โ† R1 + R2 (addition)
    • R3 โ† R1 + Rฬ„2 + 1 (subtraction via 2's complement)
    • R1 โ† R1 โˆง R2 (AND), R1 โ† R1 โˆจ R2 (OR), R1 โ† R1 โŠ• R2 (XOR)
    • R1 โ† shl R1, R1 โ† shr R1 (shifts)
    • DR โ† M[AR] (memory read), M[AR] โ† DR (memory write)
  4. Conditional transfer with timing diagram: Show P: R2 โ† R1 with clock pulses, P signal, and the exact clock edge where transfer occurs. Explain that P must be 1 BEFORE the clock edge.
  5. Hardware implementation: P signal ANDed with CLK to generate the LOAD pulse for the destination register.

๐Ÿ“ LA2: Explain the Common Bus System with a diagram for 4 registers using multiplexers. Describe memory read and write operations with RTL. (10 marks)

Model Answer Outline:

  1. Problem: k registers need k(kโˆ’1) direct connections โ€” impractical for large systems
  2. Solution: Common bus โ€” shared data path using MUX to select source register
  3. Diagram: 4 registers (R0-R3) connected through n-bit 4ร—1 MUX. 2 select lines (Sโ‚Sโ‚€). Show bus and LOAD signals for each register.
  4. Number of MUXes: For n-bit registers, need n separate 4ร—1 MUX circuits. All share the same Sโ‚Sโ‚€ select lines.
  5. Transfer example: R3 โ† R1 requires Sโ‚Sโ‚€ = 01 (select R1 onto bus) and R3 LOAD = 1.
  6. Memory Read (DR โ† M[AR]): AR provides address to memory address bus, READ control activated, data from memory cell placed on data bus, DR captures data on clock edge.
  7. Memory Write (M[AR] โ† DR): AR provides address, DR provides data on data bus, WRITE control activated, memory cell at AR address stores the data.
  8. Advantages: Reduced wiring complexity, easier to scale, simpler control logic.
  9. Disadvantage: Only one transfer per clock cycle (bus bottleneck).

๐Ÿ“ LA3: Design and explain the Arithmetic Logic Shift Unit (ALSU) with complete operation table. Show how subtraction and all shift types are performed. (12 marks)

Model Answer Outline:

  1. ALSU Structure: Three sub-units โ€” Arithmetic Unit, Logic Unit, Shift Unit โ€” with output MUX
  2. Block Diagram: Inputs A, B (n-bit), function select Sโ‚ƒSโ‚‚Sโ‚Sโ‚€, carry input Cแตขโ‚™, output F (n-bit)
  3. Sโ‚ƒSโ‚‚ Unit Selection: 00 = Arithmetic, 01 = Logic, 10 = Shift
  4. Complete Operation Table: All 16+ operations with Sโ‚ƒSโ‚‚Sโ‚Sโ‚€ and Cแตขโ‚™ values
  5. Arithmetic operations: Transfer, Increment, Add, Add with carry, A+Bฬ„, Subtract (Aโˆ’B = A+Bฬ„+1), Decrement
  6. Subtraction explained: A โˆ’ B = A + 2's complement of B = A + Bฬ„ + 1. The complementer inverts B, Cแตขโ‚™ = 1 adds the extra 1.
  7. Logic operations: AND, OR, XOR, NOT (complement)
  8. Shift operations:
    • Logical shift left/right: 0 fills vacated bit
    • Circular shift left/right: lost bit wraps around
    • Arithmetic shift right: sign bit preserved
  9. MUX design: 4ร—1 MUX at output selects Arith/Logic/Shift result based on Sโ‚ƒSโ‚‚
  10. Status flags: Carry out, Zero flag, Sign flag, Overflow flag generated from arithmetic unit results
Section I

Industry Spotlight โ€” A Day in the Life

๐Ÿ‘จโ€๐Ÿ’ป Rajesh Kumar, 30 โ€” RTL Design Engineer at Qualcomm India, Hyderabad

Background: B.Tech ECE from NIT Warangal. Joined Qualcomm as a campus hire in 2018. Worked his way up from junior verification engineer to RTL design engineer. Designs register files and data-path logic for Snapdragon mobile SoCs.

A Typical Day:

9:00 AM โ€” Morning standup with the CPU micro-architecture team. Review overnight regression test results for the register file design.

10:00 AM โ€” Write Verilog RTL code for a new 64-entry register file with 3 read ports and 2 write ports. Implement bypass logic for back-to-back register transfers (write-then-read in the same cycle).

11:30 AM โ€” Run synthesis to check if the register file meets timing at 3.2 GHz target frequency. Debug a critical path through the MUX tree.

1:00 PM โ€” Lunch at Qualcomm's Hyderabad campus. Discuss a new power-gating technique for idle registers with a colleague from the power team.

2:00 PM โ€” Code review for a junior engineer's shift-unit design. Spot a bug: arithmetic shift right isn't preserving the sign bit correctly for 16-bit mode.

4:00 PM โ€” Write SystemVerilog assertions (SVA) to formally verify that all register transfer operations produce correct results under all corner cases.

5:30 PM โ€” Architecture review meeting: discuss adding a barrel shifter to the ALSU design for the next-gen Snapdragon chip targeting 4 nm process.

DetailInfo
Tools Used DailyVerilog/SystemVerilog, Synopsys Design Compiler, VCS, Verdi, Python scripting
Entry Salary (2024)โ‚น12โ€“18 LPA (NIT/IIT campus)
Mid-Level (3โ€“5 yrs)โ‚น20โ€“35 LPA
Senior (7+ yrs)โ‚น40โ€“70 LPA
Companies Hiring in IndiaQualcomm, Intel, AMD, Samsung R&D, ARM, MediaTek, Texas Instruments, Synopsys, Cadence, ISRO
Required SkillsDigital design, Verilog HDL, RTL coding, computer architecture, VLSI fundamentals
Career Insight: RTL design is one of the highest-paying engineering roles in India. Qualcomm Hyderabad, Intel Bangalore, and Samsung Noida hire 500+ VLSI engineers annually from NITs and IITs. The register transfer concepts you're learning now are EXACTLY what these engineers code in Verilog every day. Start learning Verilog alongside this course!
Section J

Earn With It โ€” GATE Coaching & Freelance Opportunities

๐Ÿ’ฐ Your Earning Path After This Chapter

Portfolio Piece: "8-Bit Shift Register Simulator in Python" + comprehensive RTL trace solutions for GATE-level problems. Host on GitHub.

Earning Opportunities:

โ€ข GATE coaching assistance โ€” Help juniors with COA register transfer topic โ€” โ‚น500โ€“โ‚น1,000/session on Chegg/Doubtnut

โ€ข Create GATE COA YouTube/Unacademy micro-lectures โ€” Register Transfer & Micro Ops (high search volume topic)

โ€ข Freelance Verilog/VHDL assignments โ€” write RTL code for university assignments โ€” โ‚น1,000โ€“โ‚น5,000/project on Chegg Study

โ€ข Build digital design simulators for engineering colleges โ€” โ‚น5,000โ€“โ‚น15,000/project

OpportunityPlatformEarning Potential
GATE COA tutoringChegg, Doubtnut, WhatsApp groupsโ‚น3,000โ€“โ‚น8,000/month
YouTube GATE prep videosYouTube, Unacademyโ‚น5,000โ€“โ‚น30,000/month (with traction)
Verilog assignmentsChegg Study, Freelancerโ‚น1,000โ€“โ‚น5,000/project
Digital design simulatorsDirect college contractsโ‚น5,000โ€“โ‚น15,000/project
GATE full-length coachingToppr, BYJU's, offlineโ‚น10,000โ€“โ‚น25,000/month
GATE CSE consistently asks 2โ€“3 marks on register transfer and micro operations. Mastering this chapter thoroughly positions you as a GATE subject expert in COA โ€” a topic many students struggle with. Being the "go-to" person for this topic in your college or coaching centre can generate consistent tutoring income.
Section K

Chapter Summary & Unit Map

๐Ÿ“‹ Key Takeaways โ€” Unit 2: Register Transfer & Micro Operations

  1. Register = group of flip-flops with LOAD control and CLK synchronization. n-bit register has n flip-flops.
  2. Register Transfer (R2 โ† R1) copies source to destination without erasing source. Conditional: P: R2 โ† R1.
  3. RTL Notation uses โ†, commas (simultaneous), colons (conditions), brackets (memory), parentheses (bit select).
  4. Common Bus = shared data path via MUX. Reduces k(kโˆ’1) wires to k connections + logโ‚‚(k) select lines.
  5. Memory ops: Read: DR โ† M[AR]. Write: M[AR] โ† DR. AR = address, DR = data.
  6. Logic micro ops: AND (selective clear), OR (selective set), XOR (selective complement), NOT (full complement).
  7. Shift registers: SISO (delay), SIPO (serialโ†’parallel), PISO (parallelโ†’serial), PIPO (buffer).
  8. Shift micro ops: Logical (0 fill), Circular (wrap), Arithmetic right (sign preserve). Left shift = ร—2.
  9. ALSU: Sโ‚ƒSโ‚‚ selects unit (Arith/Logic/Shift), Sโ‚Sโ‚€ selects operation within unit. Cแตขโ‚™ adds +1 for arithmetic.
  10. Subtraction = Addition of 2's complement: A โˆ’ B = A + Bฬ„ + 1. No separate subtractor needed.

๐Ÿ—บ๏ธ Unit Map โ€” Concept Hierarchy

  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚           UNIT 2: REGISTER TRANSFER & MICRO OPERATIONS            โ”‚
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
  โ”‚                                                                    โ”‚
  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
  โ”‚  โ”‚  REGISTERS   โ”‚    โ”‚ REGISTER        โ”‚    โ”‚    BUS SYSTEM    โ”‚  โ”‚
  โ”‚  โ”‚              โ”‚    โ”‚ TRANSFER        โ”‚    โ”‚                  โ”‚  โ”‚
  โ”‚  โ”‚ โ€ข Flip-flops โ”‚    โ”‚                 โ”‚    โ”‚ โ€ข Common bus     โ”‚  โ”‚
  โ”‚  โ”‚ โ€ข LOAD/CLK   โ”‚    โ”‚ โ€ข R2 โ† R1      โ”‚    โ”‚ โ€ข MUX select     โ”‚  โ”‚
  โ”‚  โ”‚ โ€ข Parallel   โ”‚    โ”‚ โ€ข P: R2 โ† R1   โ”‚    โ”‚ โ€ข Memory R/W     โ”‚  โ”‚
  โ”‚  โ”‚   load       โ”‚    โ”‚ โ€ข RTL notation  โ”‚    โ”‚ โ€ข DR โ† M[AR]    โ”‚  โ”‚
  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
  โ”‚         โ”‚                    โ”‚                       โ”‚            โ”‚
  โ”‚         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
  โ”‚                              โ”‚                                    โ”‚
  โ”‚                              โ–ผ                                    โ”‚
  โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚
  โ”‚              โ”‚      MICRO OPERATIONS         โ”‚                    โ”‚
  โ”‚              โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                    โ”‚
  โ”‚              โ”‚           โ”‚         โ”‚         โ”‚                    โ”‚
  โ”‚              โ–ผ           โ–ผ         โ–ผ         โ–ผ                    โ”‚
  โ”‚         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”‚
  โ”‚         โ”‚ARITHMETICโ”‚ โ”‚ LOGIC  โ”‚ โ”‚ SHIFT โ”‚ โ”‚  SHIFT    โ”‚          โ”‚
  โ”‚         โ”‚          โ”‚ โ”‚        โ”‚ โ”‚ REGS  โ”‚ โ”‚  MICRO    โ”‚          โ”‚
  โ”‚         โ”‚ Add      โ”‚ โ”‚ AND    โ”‚ โ”‚       โ”‚ โ”‚  OPS      โ”‚          โ”‚
  โ”‚         โ”‚ Subtract โ”‚ โ”‚ OR     โ”‚ โ”‚ SISO  โ”‚ โ”‚           โ”‚          โ”‚
  โ”‚         โ”‚ Incr/Decrโ”‚ โ”‚ XOR    โ”‚ โ”‚ SIPO  โ”‚ โ”‚ Logical   โ”‚          โ”‚
  โ”‚         โ”‚ Transfer โ”‚ โ”‚ NOT    โ”‚ โ”‚ PISO  โ”‚ โ”‚ Circular  โ”‚          โ”‚
  โ”‚         โ”‚          โ”‚ โ”‚        โ”‚ โ”‚ PIPO  โ”‚ โ”‚ Arithmeticโ”‚          โ”‚
  โ”‚         โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
  โ”‚              โ”‚           โ”‚                      โ”‚                โ”‚
  โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ”‚
  โ”‚                          โ–ผ                                       โ”‚
  โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                           โ”‚
  โ”‚              โ”‚   ALSU (Combined)     โ”‚                           โ”‚
  โ”‚              โ”‚                       โ”‚                           โ”‚
  โ”‚              โ”‚ Sโ‚ƒSโ‚‚Sโ‚Sโ‚€ + Cแตขโ‚™      โ”‚                           โ”‚
  โ”‚              โ”‚ Function Select       โ”‚                           โ”‚
  โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                           โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Section L

Earning Checkpoint โ€” Self-Assessment

Skill / ConceptTool / MethodEvidence of MasteryReady to Earn?
Register basicsConceptualCan draw n-bit register with LOAD/CLKโœ… Can explain in GATE coaching
RTL notationPen & paperCan write & trace any RTL sequenceโœ… Can tutor juniors
Bus system designDiagramCan draw MUX-based common busโœ… Interview-ready concept
Logic micro opsBinary computationCan perform selective set/clear/complement/insertโœ… Can solve GATE numericals
Shift registers (4 types)Diagram + traceCan trace SISO/SIPO/PISO/PIPO data flowโœ… Can create teaching material
Shift micro ops (5 types)Binary computationCan predict output for any 8-bit shiftโœ… Can solve any GATE shift question
ALSU operation tableTable + diagramCan map Sโ‚ƒSโ‚‚Sโ‚Sโ‚€ to operationsโœ… GATE 2-3 mark question ready
Python simulatorPython codeWorking 8-bit shift register simulatorโœ… Portfolio piece on GitHub
Memory operationsRTL notationCan explain DR โ† M[AR] and M[AR] โ† DRโœ… Can teach in college lab
Minimum Viable Earning Setup after this chapter: Master RTL traces + shift operations + ALSU table โ†’ Start GATE COA tutoring (โ‚น500โ€“โ‚น1,000/session). Build Python simulator โ†’ Upload to GitHub โ†’ Show as portfolio in interviews. Create 3โ€“5 GATE problem solution videos โ†’ Upload to YouTube.

โœ… Unit 2 complete. Ready for Unit 3: Basic Computer Organization!

[QR: Link to EduArtha video tutorial โ€” Register Transfer & Micro Operations]