ALU and Control Unit PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document describes an ALU (Arithmetic Logic Unit) and Control Unit, including diagrams and tables explaining its components and functions. It's helpful for students learning about digital logic and computer architecture.
Full Transcript
ALU, Data Path and Control Unit Memory ALU Registers R1R1+1 CLR 1 Timing signal, control signal 2 LOAD INC 3 Flags...
ALU, Data Path and Control Unit Memory ALU Registers R1R1+1 CLR 1 Timing signal, control signal 2 LOAD INC 3 Flags 4 Connection 5.. F D E AD S0 S1 A3 B3 C3 D3 A2 B2 C2 D2 A1 B1 C1 D1 A0 B0 C0 D0 LOAD LOAD LOAD LOAD A3 A2 A1 A0 B3 B2 B1 B0 C3 C2 C1 C0 D3 D2 D1 D0 A B C D Memory: 4096 X 16 Registers: DR: 16 1100101010111111 AR: 12 0000101010111111 AC: 16 IR: 16 1100101010101010 PC: 12 TR S2 BUS S1 S0 Memory 7 4096 X 16 Address W R AR < 1 LD INR CLR PC < 2 LD INR CLR DR < 3 LD INR CLR AC < 4 ALU Clock signal LD INR CLR INPR IR < 5 LD TR 6 < LD INR CLR OUTR < LD ARPC IRM[AR] PCPC+1 Decoder 4 X 16 SC (4-bit) ^ CLR INC CLK ID CLG TC Instruction Cycle 1. Fetch 2. Decode 3. Compute Effective Address Direct (0) – No computation Indirect (1) - Computation Needed 4. Execute T0 T7 Fetch T0: ARPC T1: IRM[AR] PC PC+1 T0 S2 T S1 BUS S0 AR 1 LD PC 2 Operation I=0 I=1 AND 0XXX 8XXX Decode ADD 1XXX 9XXX LDA 2XXX AXXX 1. Fetch: T0, T1 STA 3XXX BXXX 2. Decode: T2 – IR (14,13,12); ARIR(11…0);IIR(15) BUN 4XXX CXXX Opcode BSA 5XXX DXXX 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ISZ 6XXX EXXX I Operand D6…D0 : Memory Reference Operation I/O Operation R Decoder D7: I (0) : Register INP F800 CLA 7800 3X8 I (1): I/O OUT F400 CLE 7400 SKI F200 CMA 7200 SKO F100 CME 7100 D7 D6 D5 D4 D3 D2 D1 D0 ION F080 CIR 7080 STA: Store AC BUN: Branch Unconditionally IOF F040 CIL 7040 BSA: Branch and Save Return Address ISZ: Increment and Skip if Zero INC 7020 CLA: Clear AC CLE: Clear E(overflow bit) SPA 7010 INP: Input character to AC CMA: Complement AC OUT: Input character to AC CME: Complement E SNA 7008 SKI: Input character to AC CIR: Circulate right AC and E SZA 7004 SKO: Skip on output flag CIL: Circulate left AC and E ION: Interrupt On INC: Circulate left AC and E SZE 7002 IOF: Interrupt Off SPA: Skip next instruction if AC > 0 SNA: Skip next instruction if AC < 0 HLT 7001 SZA: Skip next instruction if AC = 0 SZE: Skip next instruction if E = 0 Decode 1. Fetch: T0, T1 2. Decode: T2 – IR (14,13,12); ARIR(11…0);IIR(15) D6…D0 : Memory Reference Compute D7: I (0) : Register I (1): I/O 1. ~(D7).I.T3: ARM[AR] 2. ~(D7).~(I).T3: Nothing 3. D7.I.T3: Execute the I/O instruction 4. D7. ~(I).T3: Execute I M Instructions M D R I/O Operation I=0 I=1 1. T4.D0: DRM[AR] AND 0XXX 8XXX 2. T5.D0:ACDR^AC, SC0 ADD 1XXX 9XXX LDA 2XXX AXXX STA 3XXX BXXX 1. T4.D1: DRM[AR] BUN 4XXX CXXX 2. T5.D1: ACDR^AC, ECout,SC0 BSA 5XXX DXXX ISZ 6XXX EXXX 1. T4.D2: DRM[AR] STA: Store AC BUN: Branch Unconditionally 2. T5.D2: ACDR, SC0 BSA: Branch and Save Return Address ISZ: Increment and Skip if Zero 1. T4.D3: M[AR]AC, SC0 1. T4.D4: PCAR, SC0 1. T4.D5: M[AR] PC, ARAR+1 2. T5.D5: PCAR, SC0 1. T4.D6: DRM[AR] 2. T5.D6: DRDR+1 3. T6.D6:M[AR]DR; (if DR==0), PCPC+1, SC0 Operation R 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CLA 7800 I 1 1 1 Operand CLE 7400 CMA 7200 CME 7100 CIR 7080 D7.~(I).T3.b11 CIL 7040 INC 7020 T0,T1 ; T2 ; T3 SPA 7010 SNA 7008 SZA 7004 SZE 7002 HLT 7001 CLA: Clear AC CLE: Clear E(overflow bit) CMA: Complement AC CME: Complement E CIR: Circulate right AC and E CIL: Circulate left AC and E INC: Circulate left AC and E SPA: Skip next instruction if AC > 0 SNA: Skip next instruction if AC < 0 SZA: Skip next instruction if AC = 0 SZE: Skip next instruction if E = 0 Operation I/O INP F800 ACINPR; FGI0 OUT F400 OUTRAC; FGO0 SKI F200 SKO F100 If (FGI==1), PCPC+1 ION F080 If (FGO==1), PCPC+1 IOF F040 INT1 FGI; FGO INT0 INP: Input character to AC OUT: Input character to AC SKI: Skip on input flag SKO: Skip on output flag ION: Interrupt On IOF: Interrupt Off