Chapter 6: Datapath and Control. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V.

Size: px
Start display at page:

Download "Chapter 6: Datapath and Control. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V."

Transcription

1 6- Principles of Computer Architecture Miles Murdocca and Vincent Heuring 999 M. Murdocca and V. Heuring

2 6-2 Chapter Contents 6. Basics of the Microarchitecture 6.2 A Microarchitecture for the ARC 6.3 Hardwired Control 6.4 Case Study: The VHDL Hardware Description Language 999 M. Murdocca and V. Heuring

3 6-3 The Fetch-Execute Cycle The steps that the control unit carries out in executing a program are: () Fetch the next instruction to be executed from memory. (2) Decode the opcode. (3) Read operand(s) from main memory, if any. (4) Execute the instruction and store results. (5) Go to step. 999 M. Murdocca and V. Heuring

4 6-4 High Level View of Microarchitecture The microarchitecture consists of the control unit and the programmer-visible registers, functional units such as the ALU, and any additional registers that may be required by the control unit. Registers Control Unit ALU Datapath (Data Section) Control Section SYSTEM BUS 999 M. Murdocca and V. Heuring

5 6-5 ARC Instruction Subset Memory Logic Arithmetic Control Mnemonic ld st sethi andcc orcc orncc srl addcc call jmpl be bneg bcs bvs ba Meaning Load a register from memory Store a register into memory Load the 22 most significant bits of a register Bitwise logical AND Bitwise logical OR Bitwise logical NOR Shift right (logical) Add Call subroutine Jump and link (return from subroutine call) Branch if equal Branch if negative Branch on carry Branch on overflow Branch always 999 M. Murdocca and V. Heuring

6 6-6 ARC Instruction Formats op SETHI Format rd op2 imm22 Branch Format cond op2 disp22 CALL format disp3 i Arithmetic Formats Memory Formats rd op3 rs rs2 rd op3 rs simm rd op3 rs rs2 rd op3 rs simm3 op Format op2 Inst. op3 (op=) op3 (op=) cond branch SETHI/Branch CALL Arithmetic Memory branch sethi addcc andcc orcc orncc srl jmpl ld st be bcs bneg bvs ba PSR n z v c 999 M. Murdocca and V. Heuring

7 Data From Main Memory Address To Main Memory 6-7 C bus %r %r A bus B bus 38 a A Decoder a %r2 3 %r3 ARC Datapath %r4 c 4 C 37 Decoder c 37 5 %r5 6 6 %r6 7 %r7 8 %r8 CLOCK 9 %r9 UNIT %r b B Decoder b 37 6 From Control Unit 3 %r3 C Bus MUX to-32 MUX 3 %r3 32 %pc 33%temp 34%temp 35%temp2 36%temp3 32 MUX Control Line (From Control Unit) %ir 24 To Control Unit F F ALU F 2 F 3 From Control Unit Data To Main Memory 4 n, z, v, c Set Condition Codes (SCC) 999 M. Murdocca and V. Heuring

8 6-8 ARC ALU Operations F 3 F 2 F F Operation Changes Condition Codes ANDCC (A, B) ORCC (A, B) NORCC (A, B) ADDCC (A, B) SRL (A, B) AND (A, B) OR (A, B) NOR (A, B) ADD (A, B) LSHIFT2 (A) LSHIFT (A) SIMM3 (A) SEXT3 (A) INC (A) INCPC (A) RSHIFT5 (A) yes yes yes yes no no no no no no no no no no no no 999 M. Murdocca and V. Heuring

9 6-9 Block b 3 a 3 b 3 a 3 b a b a F :3 Diagram of ALU ALU LUT 3 ALU LUT 3... ALU LUT carry ALU LUT b -4 z 3 z 3 z z BARREL SHIFTER Direction of Shift Shift Amount (SA) 5 Barrel Shifter Control LUT... F 3 F 2 V c 3 c 3 C N Z c c SCC: Set Condition Codes 999 M. Murdocca and V. Heuring

10 6- Gate-Level Layout of Barrel Shifter Bit 3 Bit 3 Bit Bit Bit 29 Bit Bit 3 Bit 2 Shift Right SA... Bit 29 Bit 2 Shift Right SA... c 3 c 3 c c 999 M. Murdocca and V. Heuring

11 6-999 M. Murdocca and V. Heuring Truth Table for (Most of the) ALU LUTs F 3 F 2 F F Carry In... a i b i z i Carry Out... ANDCC ORCC

12 6-2 Design of Register %r Data inputs from C Bus C 3 C 3 C CLK D Q D Q... D Q Write select (from c bit of C Decoder) A bus enable (from a bit of A Decoder) B bus enable (from b bit of B Decoder) A 3 A 3 A B 3 B 3 B Data outputs to A Bus Data outputs to B Bus 999 M. Murdocca and V. Heuring

13 6-3 Outputs to Control Unit from Register %ir C 3 Data inputs from C Bus C Instruction Register %ir Instruction fields op rd op2 rs rs2 op3 bit M. Murdocca and V. Heuring

14 A bus B bus C bus Select 6-4 Data Section (Datapath) Control Section To A Decoder Microarchitecture of the ARC To C Decoder 6 C MUX MIR C field, rd 6 5 Scratchpad %i %ir rd rs2 r rs ops 6 A MUX Select MIR, rs A field 5 6 To B Decoder 6 B MUX MIR, rs2 B field 5 6 Select Control Store Address Incrementer (CSAI) Next Decode Jump CS Address MUX 248 word 4 bit Control Store 4 8 = Next = Jump = Inst. Dec. Microcode Instruction Register (MIR) A B C M M M U U U RW A X B X C X D R ALU COND JUMP ADDR CLOCK UNIT IR[3] 32 IR[3,3,9-24] to-32 MUX C Bus MUX F F 3 ALU F 2 4 F n, z, v, c %psr Control branch logic (CBL) Set Condition Codes Data In RD WR MAIN MEMORY Address 2 32 byte address space Data Out Acknowledge (ACK) 999 M. Murdocca and V. Heuring

15 6-5 Microword Format A A M U X B B M U X C C M U RW X D R ALU COND JUMP ADDR 999 M. Murdocca and V. Heuring

16 6-6 Settings for the COND Field of the Microword C 2 C C Operation Use NEXT ADDR Use JUMP ADDR if n = Use JUMP ADDR if z = Use JUMP ADDR if v = Use JUMP ADDR if c = Use JUMP ADDR if IR[3] = Use JUMP ADDR DECODE 999 M. Murdocca and V. Heuring

17 6-7 DECODE Format for Microinstruction Address op op3 IR bits op2 999 M. Murdocca and V. Heuring

18 6-8 Timing Relationships for the Registers Master sections settle. Settling time for slave sections of registers. Perform ALU functions. n, z, v,and c flags become stable. Clock Master sections of registers loaded on rising edge Slave sections of registers loaded on falling edge 999 M. Murdocca and V. Heuring

19 6-9 Address Operation Statements Comment : R[ir] AND(R[pc],R[pc]); READ; / Read an ARC instruction from main memory : DECODE; / 256-way jump according to opcode // / sethi 52: R[rd] LSHIFT(ir); GOTO 247; / Copy imm22 field to target register // / call 28: R[5] AND(R[pc],R[pc]); / Save %pc in %r5 28: R[temp] ADD(R[ir],R[ir]); / Shift disp3 field left 282: R[temp] ADD(R[temp],R[temp]); / Shift again 283: R[pc] ADD(R[pc],R[temp]); / Jump to subroutine GOTO ; // / addcc Partial ARC Microprogram 6: IF R[IR[3]] THEN GOTO 62; 63: R[rd] ADDCC(R[rs],R[temp]); / Perform ADDCC on register/simm3 / Is second source operand immediate? 6: R[rd] ADDCC(R[rs],R[rs2]); GOTO 247; / Perform ADDCC on register sources / sources GOTO 247; // / andcc 62: R[temp] SEXT3(R[ir]); 64: IF R[IR[3]] THEN GOTO 66; / Get sign extended simm3 field / Is second source operand immediate? 65: R[rd] ANDCC(R[rs],R[rs2]); / Perform ANDCC on register sources GOTO 247; 66: R[temp] SIMM3(R[ir]); / Get simm3 field 67: R[rd] ANDCC(R[rs],R[temp]); / Perform ANDCC on register/simm3 GOTO 247; / sources // / orcc 68: IF R[IR[3]] THEN GOTO 6; / Is second source operand immediate? 69: R[rd] ORCC(R[rs],R[rs2]); / Perform ORCC on register sources GOTO 247; 6: R[temp] SIMM3(R[ir]); / Get simm3 field 6: R[rd] ORCC(R[rs],R[temp]); / Perform ORCC on register/simm3 sources GOTO 247; // / orncc 624: IF R[IR[3]] THEN GOTO 626; / Is second source operand immediate? 625: R[rd] NORCC(R[rs],R[rs2]); / Perform ORNCC on register sources GOTO 247; 626: R[temp] SIMM3(R[ir]); / Get simm3 field 627: R[rd] NORCC(R[rs],R[temp]); / Perform NORCC on register/simm3 GOTO 247; / sources // / srl 688: IF R[IR[3]] THEN GOTO 69; / Is second source operand immediate? 689: R[rd] SRL(R[rs],R[rs2]); / Perform SRL on register sources GOTO 247; 69: R[temp] SIMM3(R[ir]); / Get simm3 field 69: R[rd] SRL(R[rs],R[temp]); / Perform SRL on register/simm3 sources GOTO 247; // / jmpl 76: IF R[IR[3]] THEN GOTO 762; / Is second source operand immediate? 76: R[pc] ADD(R[rs],R[rs2]); / Perform ADD on register sources 999 M. Murdocca and V. Heuring GOTO ;

20 6-2 Partial ARC Microprogram (cont ) 762: R[temp] SEXT3(R[ir]); / Get sign extended simm3 field 763: R[pc] ADD(R[rs],R[temp]); Chapter / Perform 6: ADD Datapath on register/simm3 and Control sources GOTO ; // / ld 792: R[temp] ADD(R[rs],R[rs2]); / Compute source address IF R[IR[3]] THEN GOTO 794; 793: R[rd] AND(R[temp],R[temp]); / Place source address on A bus READ; GOTO 247; 794: R[temp] SEXT3(R[ir]); / Get simm3 field for source address 795: R[temp] ADD(R[rs],R[temp]); / Compute source address GOTO 793; // / st 88: R[temp] ADD(R[rs],R[rs2]); / Compute destination address IF R[IR[3]] THEN GOTO 8; 89: R[ir] RSHIFT5(R[ir]); GOTO 4; / Move rd field into position of rs2 field 4: R[ir] RSHIFT5(R[ir]); / by shifting to the right by 25 bits. 4: R[ir] RSHIFT5(R[ir]); 42: R[ir] RSHIFT5(R[ir]); 43: R[ir] RSHIFT5(R[ir]); 44: R[] AND(R[temp], R[rs2]); / Place destination address on A bus and WRITE; GOTO 247; / place operand on B bus 8: R[temp] SEXT3(R[ir]); / Get simm3 field for destination address 8: R[temp] ADD(R[rs],R[temp]); / Compute destination address GOTO 89; // / Branch instructions: ba, be, bcs, bvs, bneg 88: GOTO 2; / Decoding tree for branches 2: R[temp] LSHIFT(R[ir]); / Sign extend the 22 LSB s of %temp 3: R[temp] RSHIFT5(R[temp]); / by shifting left bits, then right 4: R[temp] RSHIFT5(R[temp]); / bits. RSHIFT5 does sign extension. 5: R[ir] RSHIFT5(R[ir]); / Move COND field to IR[3] by 6: R[ir] RSHIFT5(R[ir]); / applying RSHIFT5 three times. (The 7: R[ir] RSHIFT5(R[ir]); / sign extension is inconsequential.) 8: IF R[IR[3]] THEN GOTO 2; / Is it ba? R[ir] ADD(R[ir],R[ir]); 9: IF R[IR[3]] THEN GOTO 3; / Is it not be? R[ir] ADD(R[ir],R[ir]); : IF Z THEN GOTO 2; / Execute be R[ir] ADD(R[ir],R[ir]); : GOTO 247; / Branch for be not taken 2: R[pc] ADD(R[pc],R[temp]); / Branch is taken GOTO ; 3: IF R[IR[3]] THEN GOTO 6; / Is it bcs? R[ir] ADD(R[ir],R[ir]); 4: IF C THEN GOTO 2; / Execute bcs 5: GOTO 247; / Branch for bcs not taken 6: IF R[IR[3]] THEN GOTO 9; / Is it bvs? 7: IF N THEN GOTO 2; / Execute bneg 8: GOTO 247; / Branch for bneg not taken 9: IF V THEN GOTO 2; / Execute bvs 2: GOTO 247; / Branch for bvs not taken 999 M. Murdocca and V. Heuring 247: R[pc] INCPC(R[pc]); GOTO ; / Increment %pc and start over

21 6-2 Branch Decoding Decoding tree for branch instructions shows corresponding microprogram lines: IR[27] Line 8 IR[28] Line 9 Line 2 ba be Line IR[26] Line 3 28 cond branch Line 4 bcs IR[25] Line 6 be bcs bneg bvs ba Line 7 bneg bvs Line M. Murdocca and V. Heuring

22 6-22 Microstore Address A B C M M M U U U RW A X B X C X D R ALU COND JUMP ADDR Assembled ARC Microprogram M. Murdocca and V. Heuring

23 6-23 A B C M M M U U U RW A X B X C X D R ALU COND JUMP ADDR 793 Assembled ARC Microprogram (cont ) Principles of Computer Architecture by M. Murdocca and 247 V. Heuring 999 M. Murdocca and V. Heuring

24 6-24 Example: Add the subcc Instruction Consider adding instruction subcc (subtract) to the ARC instruction set. subcc uses the Arithmetic format and op3 =. 584: R[temp] SEXT3(R[ir]); / Extract rs2 operand IF IR[3] THEN GOTO 586; / Is second source immediate? 585: R[temp] R[rs2]; / Extract sign extended immediate operand 586: R[temp] NOR(R[temp], R[]); / Form one s complement of subtrahend 587: R[temp] INC(R[temp]); GOTO 63; / Form two s complement of subtrahend A A M U X B B M U X C C M U RW X D R ALU COND JUMP ADDR 999 M. Murdocca and V. Heuring

25 6-25 Branch Table A branch table for trap handlers and interrupt service routines: Address Contents... Trap Handler 6 JUMP TO 2 Illegal instruction 64 JUMP TO 3 Overflow 68 JUMP TO 36 Underflow 72 JUMP TO 5224 Zerodivide 76 JUMP TO 48 Disk 8 JUMP TO 5364 Printer 84 JUMP TO 598 TTY 88 JUMP TO 648 Timer M. Murdocca and V. Heuring

26 n = 248 words n = 248 words 6-26 Microprogramming vs. Nanoprogramming w = 4 bits Original Microprogram k = log 2 (n) = log 2 () = 7 bits (a) Microprogramming vs. (b) nanoprogramming. Microprogram w = 4 bits m = nanowords Total Area = n w = = 83,968 bits Microprogram Area = n k = = 4,336 bits Nanoprogram Area = m w = 4 = 4 bits Total Area = 4, = 8,436 bits (a) (b) 999 M. Murdocca and V. Heuring

27 6-27 Hardware Description Language HDL sequence for a resettable modulo 4 counter. Preamble Statements Epilogue MODULE: MOD_4_COUNTER. INPUTS: x. OUTPUTS: Z[2]. MEMORY: : Z,; GOTO { CONDITIONED ON x, CONDITIONED ON x}. : Z,; GOTO { CONDITIONED ON x, 2 CONDITIONED ON x}. 2: Z,; GOTO { CONDITIONED ON x, 3 CONDITIONED ON x}. 3: Z,; GOTO. END SEQUENCE. END MOD_4_COUNTER. 999 M. Murdocca and V. Heuring

28 6-28 Circuit Derived from HDL Logic design for a modulo 4 counter described in HDL. Z[] DATA SECTION Z[] CONTROL SECTION x CLK M. Murdocca and V. Heuring

29 6-29 HDL for ARC MODULE: ARC_CONTROL_UNIT. INPUTS: OUTPUTS: C, N, V, Z.! These are set by the ALU MEMORY: R[6][32], pc[32], ir[32], temp[32], temp[32], temp2[32], temp3[32]. : ir AND(pc, pc); Read ;! Instruction fetch! Decode op field : GOTO {2 CONDITIONED ON ir[3] ir[3],! Branch/sethi format: op= 4 CONDITIONED ON ir[3] ir[3],! Call format: op= 8 CONDITIONED ON ir[3] ir[3],! Arithmetic format: op= CONDITIONED ON ir[3] ir[3]}.! Memory format: op=! Decode op2 field 2: GOTO 9 CONDITIONED ON ir[24].! Goto 9 if Branch format HDL description of the 3: R[rd] ir[imm22];! sethi GOTO 2. ARC control unit. 4: R[5] AND(pc, pc).! call: save pc in register 5 5: temp ADD(ir, ir).! Shift disp3 field left 6: temp ADD(ir, ir).! Shift again 7: pc ADD(pc, temp); GOTO.! Jump to subroutine! Get second source operand into temp for Arithmetic format 8: temp { SEXT3(ir) CONDITIONED ON ir[3] NOR(ir[9:22]),! addcc R[rs2] CONDITIONED ON ir[3] NOR(ir[9:22]),! addcc SIMM3(ir) CONDITIONED ON ir[3] OR(ir[9:22]),! Remaining R[rs2] CONDITIONED ON ir[3] OR(ir[9:22])}.! Arithmetic instructions! Decode op3 field for Arithmetic format 9: R[rd] { ADDCC(R[rs], temp) CONDITIONED ON XNOR(IR[9:24], ),! addcc ANDCC(R[rs], temp) CONDITIONED ON XNOR(IR[9:24], ),! andcc ORCC(R[rs], temp) CONDITIONED ON XNOR(IR[9:24], ),! orcc NORCC(R[rs], temp) CONDITIONED ON XNOR(IR[9:24], ),! orncc SRL(R[rs], temp) CONDITIONED ON XNOR(IR[9:24], ),! srl ADD(R[rs], temp) CONDITIONED ON XNOR(IR[9:24], )};! jmpl GOTO 2.! Get second source operand into temp for Memory format : temp {SEXT3(ir) CONDITIONED ON ir[3], R[rs2] CONDITIONED ON ir[3]}. : temp ADD(R[rs], temp).! Decode op3 field for Memory format GOTO {2 CONDITIONED ON ir[2],! ld 3 CONDITIONED ON ir[2]}.! st 2: R[rd] AND(temp, temp); Read ; GOTO M. Murdocca and V. Heuring 3: ir RSHIFT5(ir).

30 6-3 HDL for ARC (cont ) 4: ir RSHIFT5(ir). 5: ir RSHIFT5(ir). 6: ir RSHIFT5(ir). 7: ir RSHIFT5(ir). 8: r AND(temp, R[rs2]); Write ; GOTO 2. 9: pc {! Branch instructions ADD(pc, temp) CONDITIONED ON ir[28] + ir[28] ir[27] Z + ir[28] ir[27] ir[26] C + ir[28] ir[27] ir[26] ir[25] N + ir[28] ir[27] ir[26] ir[25] V, INCPC(pc) CONDITIONED ON ir[28] ir[27] Z + ir[28] ir[27] ir[26] C + ir[28] ir[27] ir[26] ir[25] N + ir[28] ir[27] ir[26] ir[25] V}; GOTO. 2: pc INCPC(pc); GOTO. END SEQUENCE. END ARC_CONTROL_UNIT. 999 M. Murdocca and V. Heuring

31 6-3 HDL ARC Circuit CLK IR[3] IR[24] IR[3] CS CS CS 4 CS 6 The hardwired control section of the ARC: generation of the control signals CS 5 CS 9 9 CS 8 6 CS 7 IR[2] CS CS 2 CS 3 CS 4 CS 2 CS CS CS 6 CS 9 7 CS CS M. Murdocca and V. Heuring

32 IR[24] IR[23] IR[22] IR[9] IR[22] IR[9] IR[22] 6-32 HDL ARC Circuit (cont ) Hardwired control section of the ARC: signals from the data section of the control unit to the datapath. IR[28] IR[27] Z IR[28] IR[27] IR[26] C IR[28] IR[27] IR[26] IR[2] IR[2] IR[25] N IR[28] IR[27] IR[26] IR[25] C IR[3] CS 8 IR[9] IR[2] IR[2] IR[22] IR[28] CS 9 CS 9 IR[24] IR[23] IR[22] IR[2] IR[9] IR[3] CS8 IR[9] IR[2] IR[2] IR[22] IR[9] IR[2] IR[2] IR[23] IR[24] CS 9 IR[24] CS 9 IR[23] IR[3] CS 9 CS 8 IR[22] IR[2] IR[9] IR[2] CS 3 CS 2 CS CS 4 CS CS 7 CS 6 CS 2 CS 3 CS 5 CS 4 CS CS 2 CS 2 4 CS CS CS 3 CS 4 CS 3 CS CS 5 8 CS2 CS CS 7 6 CS 5 CS CS 6 CS CS 8 7 CS 3 CS 5 CS 4 CS 6 CS 2 CS 9 CS 7 ALU[] ALU[] ALU[2] ALU[3] IR[2] IR[2] CS 8 CS IR[3] IR[3] CS 8 IR[3] CS CS 8 CS 8 CS 3 CS 9 CS2 CS 9 CS CS CS 2 CS 5 CS 6 CS 2 CS 3 CS 5 CS 4 CS CS 6 8 Write CS7 CS 7 CS CS 4 BMUX CS 9 CS 2 CMUX AMUX Read C[] C[3] C[4] C[5] A[] A[3] A[4] A[] A[2] A[5] C[2] C[] B[] B[] B[2] B[3] B[4] B[5] 999 M. Murdocca and V. Heuring

33 6-33 Case Study: The VHDL Hardware Description Language The majority function. a) truth table, b) AND-OR implementation, c) black box representation. Minterm Index A B C F A B C A B C A B C A B C A B C F A B F C Majority Function a) b) c) 999 M. Murdocca and V. Heuring

34 6-34 VHDL Specification Interface specification for the majority component -- Interface entity MAJORITY is port (A_IN, B_IN, C_IN: in BIT F_OUT: out BIT); end MAJORITY; Behavioral model for the majority component -- Body architecture LOGIC_SPEC of MAJORITY is begin -- compute the output using a Boolean expression F_OUT <= (not A_IN and B_IN and C_IN) or (A_IN and not B_IN and C_IN) or (A_IN and B_IN and not C_IN) or (A_IN and B_IN and C_IN) after 4 ns; end LOGIC_SPEC; 999 M. Murdocca and V. Heuring

35 6-35 VHDL Specification (cont ) -- Package declaration, in library WORK package LOGIC_GATES is component AND3 port (A, B, C : in BIT; X : out BIT); end component; component OR4 port (A, B, C, D : in BIT; X : out BIT); end component; component NOT port (A : in BIT; X : out BIT); end component; -- Interface entity MAJORITY is port (A_IN, B_IN, C_IN: in BIT F_OUT: out BIT); end MAJORITY; 999 M. Murdocca and V. Heuring

36 6-36 VHDL Specification (cont ) -- Body -- Uses components declared in package LOGIC_GATES -- in the WORK library -- import all the components in WORK.LOGIC_GATES use WORK.LOGIC_GATES.all architecture LOGIC_SPEC of MAJORITY is -- declare signals used internally in MAJORITY signal A_BAR, B_BAR, C_BAR, I, I2, I3, I4: BIT; begin -- connect the logic gates NOT_ : NOT port map (A_IN, A_BAR); NOT_2 : NOT port map (B_IN, B_BAR); NOT_3 : NOT port map (C_IN, C_BAR); AND_ : AND3 port map (A_BAR, B_IN, C_IN, I); AND_2 : AND3 port map (A_IN, B_BAR, C_IN, I2); AND_3 : AND3 port map (A_IN, B_IN, C_BAR, I3); AND_4 : AND3 port map (A_IN, B_IN, C_IN, I4); OR_ : OR3 port map (I, I2, I3, I4, F_OUT); end LOGIC_SPEC; 999 M. Murdocca and V. Heuring

1 The ARC processor (data path and control)

1 The ARC processor (data path and control) 1 The ARC processor (data path and control) 1 The ARC processor (data path and control)... 1 1.1 Introduction... 2 1.2 Main part of data path... 2 1.3 Data path... 2 1.4 Controller... 3 1.4.1 Micro instruction

More information

MACHINE LANGUAGE AND ASSEMBLY LANGUAGE

MACHINE LANGUAGE AND ASSEMBLY LANGUAGE CHAPTER 4 MACHINE LANGUAGE AND ASSEMBLY LANGUAGE 103 4 MACHINE LANGUAGE AND ASSEMBLY LANGUAGE 4.1 Introduction In this chapter we explore the inner workings of a computer system. The central processing

More information

CPSC 352. Computer Organization. Chapter 5: Languages and the

CPSC 352. Computer Organization. Chapter 5: Languages and the 5-1 CPSC 352 Computer Organization Chapter 5: Languages and the Machine 5-2 Chapter Contents 5.1 The Compilation Process 5.2 The Assembly Process 5.3 Linking and Loading 5.4 Macros 5.5 Case Study: Extensions

More information

4. MICROPROGRAMMED COMPUTERS

4. MICROPROGRAMMED COMPUTERS Structure of Computer Systems Laboratory No. 4 1 4. MICROPROGRAMMED COMPUTERS This laboratory work presents the principle of microprogrammed computers and an example of microprogrammed architecture, in

More information

Principles of Computer Architecture. Chapter 8: Input and Output

Principles of Computer Architecture. Chapter 8: Input and Output 8-1 Chapter 8 - Input and Output Principles of Computer Architecture Miles Murdocca and Vincent Heuring Chapter 8: Input and Output 8-2 Chapter 8 - Input and Output Chapter Contents 8.1 Simple Bus Architectures

More information

Exam Computer Systems/Computer Architecture and Organisation Bachelor 2 nd year, EE and CS, EWI

Exam Computer Systems/Computer Architecture and Organisation Bachelor 2 nd year, EE and CS, EWI Exam Computer Systems/Computer Architecture and Organisation Bachelor 2 nd year, EE and CS, EWI Module/course code: Computer Systems 201400210(CS) / 201400217(EE) Date: 30 September 2016 Time: 13:45-15:30

More information

Basic Processor Design

Basic Processor Design Basic Processor Design Design Instruction Set Design Datapath Design Control Unit This lecture deals with Instruction Set Design. 1001 Instruction Set Terminology Mnemonic (Instruction Name) SUBI Syntax

More information

Lecture 12: Single-Cycle Control Unit. Spring 2018 Jason Tang

Lecture 12: Single-Cycle Control Unit. Spring 2018 Jason Tang Lecture 12: Single-Cycle Control Unit Spring 2018 Jason Tang 1 Topics Control unit design Single cycle processor Control unit circuit implementation 2 Computer Organization Computer Processor Memory Devices

More information

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated. 8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box START Register operation or output PC 0 (d)

More information

Implementing the Control. Simple Questions

Implementing the Control. Simple Questions Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the

More information

Computer Architecture Programming the Basic Computer

Computer Architecture Programming the Basic Computer 4. The Execution of the EXCHANGE Instruction The EXCHANGE routine reads the operand from the effective address and places it in DR. The contents of DR and AC are interchanged in the third microinstruction.

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

Outline. EEL-4713 Computer Architecture Designing a Single Cycle Datapath

Outline. EEL-4713 Computer Architecture Designing a Single Cycle Datapath Outline EEL-473 Computer Architecture Designing a Single Cycle path Introduction The steps of designing a processor path and timing for register-register operations path for logical operations with immediates

More information

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2 Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats

More information

Chapter 10 Computer Design Basics

Chapter 10 Computer Design Basics Logic and Computer Design Fundamentals Chapter 10 Computer Design Basics Part 2 A Simple Computer Charles Kime & Thomas Kaminski 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View

More information

Controller Implementation--Part II

Controller Implementation--Part II Controller Implementation--Part II Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time-State: Divide and Conquer Jump counters Microprogramming (ROM)

More information

Chapter 4 Simple Calculations

Chapter 4 Simple Calculations Chapter 4 Simple Calculations Arthur B. Maccabe Department of Computer Science The University of New Mexico Copyright 1993 2000, Arthur B. Maccabe and McGraw-Hill, Inc. Overview Preliminaries RISC/CISC

More information

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally

More information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 4. The Processor. Computer Architecture and IC Design Lab Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS

More information

are Softw Instruction Set Architecture Microarchitecture are rdw

are Softw Instruction Set Architecture Microarchitecture are rdw Program, Application Software Programming Language Compiler/Interpreter Operating System Instruction Set Architecture Hardware Microarchitecture Digital Logic Devices (transistors, etc.) Solid-State Physics

More information

361 datapath.1. Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath

361 datapath.1. Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath 361 datapath.1 Computer Architecture EECS 361 Lecture 8: Designing a Single Cycle Datapath Outline of Today s Lecture Introduction Where are we with respect to the BIG picture? Questions and Administrative

More information

Initial Representation Finite State Diagram. Logic Representation Logic Equations

Initial Representation Finite State Diagram. Logic Representation Logic Equations Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;

More information

TABLE 8-1. Control Signals for Binary Multiplier. Load. MUL0 Q 0 CAQ sr CAQ. Shift_dec. C out. Load LOADQ. CAQ sr CAQ. Shift_dec P P 1.

TABLE 8-1. Control Signals for Binary Multiplier. Load. MUL0 Q 0 CAQ sr CAQ. Shift_dec. C out. Load LOADQ. CAQ sr CAQ. Shift_dec P P 1. T-192 Control Signals for Binary Multiplier TABLE 8-1 Control Signals for Binary Multiplier Block Diagram Module Microoperation Control Signal Name Control Expression Register A: A 0 Initialize IDLE G

More information

Micro-Operations. execution of a sequence of steps, i.e., cycles

Micro-Operations. execution of a sequence of steps, i.e., cycles Micro-Operations Instruction execution execution of a sequence of steps, i.e., cycles Fetch, Indirect, Execute & Interrupt cycles Cycle - a sequence of micro-operations Micro-operations data transfer between

More information

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated. 8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN 0 1 Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box 0 1 START Register operation or output

More information

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due

More information

Register-Level Design

Register-Level Design Register-Level Design A digital system can be treated at different level of abstraction or compleity. So far, we have seen it at the gate level and the transistor level. At a higher level than the gate

More information

CPU Organization (Design)

CPU Organization (Design) ISA Requirements CPU Organization (Design) Datapath Design: Capabilities & performance characteristics of principal Functional Units (FUs) needed by ISA instructions (e.g., Registers, ALU, Shifters, Logic

More information

THE MICROPROCESSOR Von Neumann s Architecture Model

THE MICROPROCESSOR Von Neumann s Architecture Model THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit

More information

Ch 5: Designing a Single Cycle Datapath

Ch 5: Designing a Single Cycle Datapath Ch 5: esigning a Single Cycle path Computer Systems Architecture CS 365 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Memory path Input Output Today s Topic:

More information

CS 2461: Computer Architecture I

CS 2461: Computer Architecture I Computer Architecture is... CS 2461: Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ Instruction Set Architecture Organization

More information

CpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath

CpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath CpE242 Computer Architecture and Engineering Designing a Single Cycle Datapath CPE 442 single-cycle datapath.1 Outline of Today s Lecture Recap and Introduction Where are we with respect to the BIG picture?

More information

Computer Architecture and Organization

Computer Architecture and Organization 6-1 Chapter 6 - Languages and the Machine Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 6 Languages and the Machine 6-2 Chapter 6 - Languages and the Machine Chapter

More information

Introduction to CPU Design

Introduction to CPU Design ١ Introduction to CPU Design Computer Organization & Assembly Language Programming Dr Adnan Gutub aagutub at uqu.edu.sa [Adapted from slides of Dr. Kip Irvine: Assembly Language for Intel-Based Computers]

More information

Processing Unit. Unit II

Processing Unit. Unit II Processing Unit Unit II Execution of a complete instruction Add (R3), R1 - Adds the contents of a memory location pointed to by R3 to register R1 and store the result in R1. 1. Fetch the instruction 2.

More information

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu

CENG 3420 Computer Organization and Design. Lecture 06: MIPS Processor - I. Bei Yu CENG 342 Computer Organization and Design Lecture 6: MIPS Processor - I Bei Yu CEG342 L6. Spring 26 The Processor: Datapath & Control q We're ready to look at an implementation of the MIPS q Simplified

More information

CpE 442. Designing a Multiple Cycle Controller

CpE 442. Designing a Multiple Cycle Controller CpE 442 Designing a Multiple Cycle Controller CPE 442 multicontroller.. Outline of Today s Lecture Recap (5 minutes) Review of FSM control (5 minutes) From Finite State Diagrams to Microprogramming (25

More information

Chapter 9 Computer Design Basics

Chapter 9 Computer Design Basics Logic and Computer Design Fundamentals Chapter 9 Computer Design asics Part 2 A Simple Computer Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview

More information

ECE468 Computer Organization and Architecture. Designing a Multiple Cycle Controller

ECE468 Computer Organization and Architecture. Designing a Multiple Cycle Controller ECE468 Computer Organization and Architecture Designing a Multiple Cycle Controller ECE468 multicontroller Review of a Multiple Cycle Implementation The root of the single cycle processor s problems: The

More information

Advanced Computer Architecture

Advanced Computer Architecture Advanced Computer Architecture Lecture No. 22 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 5 Computer Systems Design and Architecture 5.3 Summary Microprogramming Working of a General Microcoded

More information

ECE 4750 Computer Architecture, Fall 2014 T01 Single-Cycle Processors

ECE 4750 Computer Architecture, Fall 2014 T01 Single-Cycle Processors ECE 4750 Computer Architecture, Fall 2014 T01 Single-Cycle Processors School of Electrical and Computer Engineering Cornell University revision: 2014-09-03-17-21 1 Instruction Set Architecture 2 1.1. IBM

More information

CPE 335. Basic MIPS Architecture Part II

CPE 335. Basic MIPS Architecture Part II CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization CS/COE0447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science A simple MIPS We will design a simple MIPS processor that supports a small instruction

More information

CS/COE0447: Computer Organization

CS/COE0447: Computer Organization A simple MIPS CS/COE447: Computer Organization and Assembly Language Datapath and Control Sangyeun Cho Dept. of Computer Science We will design a simple MIPS processor that supports a small instruction

More information

Computer Organization

Computer Organization Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine

More information

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite

More information

CC 311- Computer Architecture. The Processor - Control

CC 311- Computer Architecture. The Processor - Control CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor

More information

The Big Picture: Where are We Now? EEM 486: Computer Architecture. Lecture 3. Designing a Single Cycle Datapath

The Big Picture: Where are We Now? EEM 486: Computer Architecture. Lecture 3. Designing a Single Cycle Datapath The Big Picture: Where are We Now? EEM 486: Computer Architecture Lecture 3 The Five Classic Components of a Computer Processor Input Control Memory Designing a Single Cycle path path Output Today s Topic:

More information

session 7. Datapath Design

session 7. Datapath Design General Objective: Determine the hardware requirement of a digital computer based on its instruction set. Specific Objectives: Describe the general concepts in designing the data path of a digital computer

More information

ECE468 Computer Organization and Architecture. Designing a Single Cycle Datapath

ECE468 Computer Organization and Architecture. Designing a Single Cycle Datapath ECE468 Computer Organization and Architecture Designing a Single Cycle Datapath ECE468 datapath1 The Big Picture: Where are We Now? The Five Classic Components of a Computer Processor Control Input Datapath

More information

CS222: Processor Design

CS222: Processor Design CS222: Processor Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Processor Design building blocks Outline A simple implementation: Single Cycle Data pathandcontrol

More information

Initial Representation Finite State Diagram Microprogram. Sequencing Control Explicit Next State Microprogram counter

Initial Representation Finite State Diagram Microprogram. Sequencing Control Explicit Next State Microprogram counter Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;

More information

Xuan Guo. Lecture XIV: Review of Chapter 3 & 4. CSC 3210 Computer Organization and Programming Georgia State University. March 5, 2015.

Xuan Guo. Lecture XIV: Review of Chapter 3 & 4. CSC 3210 Computer Organization and Programming Georgia State University. March 5, 2015. CSC 3210 Computer Organization and Programming Georgia State University March 5, 2015 This lecture Plan for the lecture: Binary Hardware Device Converting from Decimal to other number system Converting

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Fig: Computer memory with Program, data, and Stack. Blog - NEC (Autonomous) 1

Fig: Computer memory with Program, data, and Stack. Blog -   NEC (Autonomous) 1 Central Processing Unit 1. Stack Organization A useful feature that is included in the CPU of most computers is a stack or last in, first out (LIFO) list. A stack is a storage device that stores information

More information

MICROPROGRAMMED CONTROL

MICROPROGRAMMED CONTROL MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed

More information

Designing a Multicycle Processor

Designing a Multicycle Processor Designing a Multicycle Processor Arquitectura de Computadoras Arturo Díaz D PérezP Centro de Investigación n y de Estudios Avanzados del IPN adiaz@cinvestav.mx Arquitectura de Computadoras Multicycle-

More information

Chapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions

Chapter 05: Basic Processing Units Control Unit Design. Lesson 15: Microinstructions Chapter 05: Basic Processing Units Control Unit Design Lesson 15: Microinstructions 1 Objective Understand that an instruction implement by sequences of control signals generated by microinstructions in

More information

EITF20: Computer Architecture Part2.2.1: Pipeline-1

EITF20: Computer Architecture Part2.2.1: Pipeline-1 EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle

More information

EECS150 - Digital Design Lecture 10- CPU Microarchitecture. Processor Microarchitecture Introduction

EECS150 - Digital Design Lecture 10- CPU Microarchitecture. Processor Microarchitecture Introduction EECS150 - Digital Design Lecture 10- CPU Microarchitecture Feb 18, 2010 John Wawrzynek Spring 2010 EECS150 - Lec10-cpu Page 1 Processor Microarchitecture Introduction Microarchitecture: how to implement

More information

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I aculty of Engineering Systems & Biomedical Dept. irst Year Cairo University Sheet 6 Computer I 1. Choose rue or alse for each of the following statements a) In a direct addressing mode instruction, the

More information

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

The Processor (1) Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University The Processor (1) Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3050: Theory on Computer Architectures, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)

More information

UC Berkeley CS61C : Machine Structures

UC Berkeley CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 25 CPU Design: Designing a Single-cycle CPU Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia T-Mobile s Wi-Fi / Cell phone

More information

MMP16: Didactic Micro-Programmed Micro-Processor

MMP16: Didactic Micro-Programmed Micro-Processor MMP16: Didactic Micro-Programmed Micro-Processor José Luis López Presa Elio Pérez Calle Department of Telematic Engineering and Architecture, Universidad Politécnica de Madrid, Spain (UPM) jllopez@diatel.upm.es

More information

A Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3

A Processor. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter , 4.1-3 A Processor Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 2.16-20, 4.1-3 Let s build a MIPS CPU but using Harvard architecture Basic Computer System Registers ALU

More information

CONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified:

CONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified: CONTROL UNIT CONTROL UNIT of the Microprocessor Two main operations of Control Unit can be identified: Instruction sequencing - the methods by which instructions are selected for execution or, the manner

More information

CS 152 Computer Architecture and Engineering. Lecture 10: Designing a Multicycle Processor

CS 152 Computer Architecture and Engineering. Lecture 10: Designing a Multicycle Processor CS 152 Computer Architecture and Engineering Lecture 1: Designing a Multicycle Processor October 1, 1997 Dave Patterson (http.cs.berkeley.edu/~patterson) lecture slides: http://www-inst.eecs.berkeley.edu/~cs152/

More information

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath COMP33 - Computer Architecture Lecture 8 Designing a Single Cycle Datapath The Big Picture The Five Classic Components of a Computer Processor Input Control Memory Datapath Output The Big Picture: The

More information

Control Unit Implementation

Control Unit Implementation Control Unit Implementation Moore Machine Implementation Reset RES PC IF PC MAR, PC + PC Note capture of MBR in these states IF Wait/ IF2 Wait/ Wait/ MAR Mem, Read/Write, Request, Mem MBR Wait/ IF3 Wait/

More information

ECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor

ECE 2300 Digital Logic & Computer Organization. More Single Cycle Microprocessor ECE 23 Digital Logic & Computer Organization Spring 28 More Single Cycle Microprocessor Lecture 6: HW6 due tomorrow Announcements Prelim 2: Tues April 7, 7:3pm, Phillips Hall Coverage: Lectures 8~6 Inform

More information

ARM processor organization

ARM processor organization ARM processor organization P. Bakowski bako@ieee.org ARM register bank The register bank,, which stores the processor state. r00 r01 r14 r15 P. Bakowski 2 ARM register bank It has two read ports and one

More information

The Processor: Datapath & Control

The Processor: Datapath & Control Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture The Processor: Datapath & Control Processor Design Step 3 Assemble Datapath Meeting Requirements Build the

More information

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1 ENG8 Computer Organization and rchitecture MIPS: Data Path Design Part Winter 7 S. reibi School of Engineering University of Guelph Introduction Topics uilding a Complete Data Path for MIPS Multi Cycle

More information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Inf2C - Computer Systems Lecture Processor Design Single Cycle

Inf2C - Computer Systems Lecture Processor Design Single Cycle Inf2C - Computer Systems Lecture 10-11 Processor Design Single Cycle Boris Grot School of Informatics University of Edinburgh Previous lectures Combinational circuits Combinations of gates (INV, AND, OR,

More information

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

The Processor: Datapath and Control. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University The Processor: Datapath and Control Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction CPU performance factors Instruction count Determined

More information

Processor (I) - datapath & control. Hwansoo Han

Processor (I) - datapath & control. Hwansoo Han Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline

More information

Programmable Machines

Programmable Machines Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational

More information

Outline of today s lecture. EEL-4713 Computer Architecture Designing a Multiple-Cycle Processor. What s wrong with our CPI=1 processor?

Outline of today s lecture. EEL-4713 Computer Architecture Designing a Multiple-Cycle Processor. What s wrong with our CPI=1 processor? Outline of today s lecture EEL-7 Computer Architecture Designing a Multiple-Cycle Processor Recap and Introduction Introduction to the Concept of Multiple Cycle Processor Multiple Cycle Implementation

More information

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University

Chapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers

More information

Module 5 - CPU Design

Module 5 - CPU Design Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction

More information

Processor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4

Processor. Han Wang CS3410, Spring 2012 Computer Science Cornell University. See P&H Chapter , 4.1 4 Processor Han Wang CS3410, Spring 2012 Computer Science Cornell University See P&H Chapter 2.16 20, 4.1 4 Announcements Project 1 Available Design Document due in one week. Final Design due in three weeks.

More information

EITF20: Computer Architecture Part2.2.1: Pipeline-1

EITF20: Computer Architecture Part2.2.1: Pipeline-1 EITF20: Computer Architecture Part2.2.1: Pipeline-1 Liang Liu liang.liu@eit.lth.se 1 Outline Reiteration Pipelining Harzards Structural hazards Data hazards Control hazards Implementation issues Multi-cycle

More information

Chapter 4. The Processor Designing the datapath

Chapter 4. The Processor Designing the datapath Chapter 4 The Processor Designing the datapath Introduction CPU performance determined by Instruction Count Clock Cycles per Instruction (CPI) and Cycle time Determined by Instruction Set Architecure (ISA)

More information

Chapter 1 Microprocessor architecture ECE 3120 Dr. Mohamed Mahmoud http://iweb.tntech.edu/mmahmoud/ mmahmoud@tntech.edu Outline 1.1 Computer hardware organization 1.1.1 Number System 1.1.2 Computer hardware

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Data Paths and Microprogramming We have spent time looking at the MIPS instruction set architecture and building

More information

CS61C : Machine Structures

CS61C : Machine Structures CS 61C L path (1) insteecsberkeleyedu/~cs61c/su6 CS61C : Machine Structures Lecture # path natomy: 5 components of any Computer Personal Computer -7-25 This week Computer Processor ( brain ) path ( brawn

More information

CS 61C: Great Ideas in Computer Architecture Datapath. Instructors: John Wawrzynek & Vladimir Stojanovic

CS 61C: Great Ideas in Computer Architecture Datapath. Instructors: John Wawrzynek & Vladimir Stojanovic CS 61C: Great Ideas in Computer Architecture Datapath Instructors: John Wawrzynek & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/fa15 1 Components of a Computer Processor Control Enable? Read/Write

More information

Programmable Machines

Programmable Machines Programmable Machines Silvina Hanono Wachman Computer Science & Artificial Intelligence Lab M.I.T. Quiz 1: next week Covers L1-L8 Oct 11, 7:30-9:30PM Walker memorial 50-340 L09-1 6.004 So Far Using Combinational

More information

SCRAM Introduction. Philipp Koehn. 19 February 2018

SCRAM Introduction. Philipp Koehn. 19 February 2018 SCRAM Introduction Philipp Koehn 19 February 2018 This eek 1 Fully work through a computer circuit assembly code Simple but Complete Random Access Machine (SCRAM) every instruction is 8 bit 4 bit for op-code:

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations

More information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control, UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING

More information

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations

Chapter 4. The Processor. Instruction count Determined by ISA and compiler. We will examine two MIPS implementations Chapter 4 The Processor Part I Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations

More information

CS Computer Architecture Spring Week 10: Chapter

CS Computer Architecture Spring Week 10: Chapter CS 35101 Computer Architecture Spring 2008 Week 10: Chapter 5.1-5.3 Materials adapated from Mary Jane Irwin (www.cse.psu.edu/~mji) and Kevin Schaffer [adapted from D. Patterson slides] CS 35101 Ch 5.1

More information

Blog - https://anilkumarprathipati.wordpress.com/

Blog - https://anilkumarprathipati.wordpress.com/ Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

Chapter 3 : Control Unit

Chapter 3 : Control Unit 3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional

More information

11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number:

11/22/1999 7pm - 9pm. Name: Login Name: Preceptor Name: Precept Number: Login Preceptor Precept Number: Computer Science 126 Second Midterm Exam 11/22/1999 7pm - 9pm This exam has 10 questions. The weight of each question is printed in the table below and next to each question.

More information

UC Berkeley CS61C : Machine Structures

UC Berkeley CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 24 Introduction to CPU Design 2007-03-14 CS61C L24 Introduction to CPU Design (1) Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia

More information

REGISTER TRANSFER LANGUAGE

REGISTER TRANSFER LANGUAGE REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro

More information