Computer Structure. Unit 4. Processor

Size: px
Start display at page:

Download "Computer Structure. Unit 4. Processor"

Transcription

1 Computer Structure Unit 4. Processor Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID

2 Contents Computer elements Processor organization Registers ALU Control unit Interconnections Control unit Execution of instructions Execution modes Computer startup Interrupts Control unit design Performance and parallelism ARCOS-UC3M Computer Structure 2

3 Computer elements 3 Processor Main memory Bus I/O module I/O module I/O module Peripheral Peripheral Peripheral ARCOS-UC3M Computer Structure 3

4 Interconection 4 Processor Main memory Data bus Address bus Control bus I/O module I/O module I/O module Peripheral Peripheral Peripheral ARCOS-UC3M Computer Structure 4

5 Motherboard ARCOS-UC3M Computer Structure 5

6 Processor elements 6 Registers Arithmetic logic unit Control unit Cache memory ARCOS-UC3M Computer Structure 6

7 Registers n Element that stores a set of bits Register Load n There can be other signal to reset the register ARCOS-UC3M Computer Structure 7

8 Registers 8 n Register n Input Load Load Falling edge content Output ARCOS-UC3M Computer Structure 8

9 Types of registers Visible to programmers Not visible Temporary registers Control and state registers Program counter, PC Instruction register, RI Memory address register, MAR Memory buffer register, MBR Program status word, PWS ARCOS-UC3M Computer Structure 9

10 Register file (register bank) 10 Set of registers that can be read and written by supplying a register number to be accessed Number of register is power of 2: n registers log 2 n bits for the selection. k bits of selection 2 k registers. Fast element ARCOS-UC3M Computer Structure 10

11 Register file 11 A n B n RA RB RC k k k 0 1 SC 2 k -1 E n ARCOS-UC3M Computer Structure 11

12 Register file 12 A n B n RA RB k k 0 1 With 32 registers, k=5 RC k SC 2 k -1 E n ARCOS-UC3M Computer Structure 12

13 13 Register file A n B What is the value of RA to obtain the content of register 14? n RA RB RC k k k 0 1 SC 2 k -1 E n ARCOS-UC3M Computer Structure 13

14 Scheme for reading A B RA k k -1 M U X RB k M U X ARCOS-UC3M Computer Structure 14

15 Arithmetic logic unit (ALU) 15 A B n n OP p 2 p operations n R Carry Overflow Zero Positive Negative PWS ARCOS-UC3M Computer Structure 15

16 Control Unit 16 Rest of the processor Control unit Control signal Clock signal Value of every control signal in every clock cycle ARCOS-UC3M Computer Structure 16

17 Memory access 17 L E Memory n ADDR Address n DATA Datum ARCOS-UC3M Computer Structure 17

18 Tristate buffer 18 E S E C S 0 0 Z 1 0 Z C ARCOS-UC3M Computer Structure 18

19 Bus access 19 CA CB CC RA RB RC TA TB TC Bus ARCOS-UC3M Computer Structure 19

20 Example What control signals must be activated to copy the content of RA in RB? CA CB CC RA RB RC TA TB TC Bus ARCOS-UC3M Computer Structure 20

21 Datapath (RB RA) 21 CA CB CC RA RB RC TA TB TC Bus All control signals deactivated ARCOS-UC3M Computer Structure 21

22 Datapath (RB RA) 22 CA CB CC RA RB RC TA TB TC Bus ARCOS-UC3M Computer Structure 22

23 23 Structure of a computer based on internal bus ARCOS-UC3M Computer Structure 23

24 Other registers PC: program counter IR: instruction register SP: stack pointer MAR: memory address register MBR: memory buffer register PSW: program status word Transparent registers: RT1, RT2, RT3. ARCOS-UC3M Computer Structure 24

25 Features bit computer Memory addressed by bytes One cycle per read and write operations 32 registers R0..R31 As in the MIPS: R0 = 0 y SP = R29 Registers not visible: RT1, RT2, RT3 Other registers for control and state MAR, MBR, PC, PSW, RI ARCOS-UC3M Computer Structure 25

26 Register-transfer level design Register-transfer level language (RTL) Register 1 Register 2 Specifies what happens in the computer using transfers among registers ARCOS-UC3M Computer Structure 26

27 Elemental operations Transfer operations: MAR PC Process operations: R1 R2 + RT2 RTL Specifies transfers among registers Specifies what happens in the computer using transfers among registers ARCOS-UC3M Computer Structure 27

28 Control signals ARCOS-UC3M Computer Structure 28

29 Controls signals Signals for memory access Signals for load in registers Signal to control tristate gates Signals to select MUX Signals to control the register file (RA, RB, RC y SC) ARCOS-UC3M Computer Structure 29

30 Control signals 30 Control signal activated in every clock cycle Can be obtained from RTL Elemental Op. MAR PC Control signals activated T4, C1 R1 R2 + RT1 RB = (R2) MA = 1 MB = 0 Cod Op. ADD T5 RC = (R1) SC ARCOS-UC3M Computer Structure 30

31 Register file ARCOS-UC3M Computer Structure 31

32 Control signals of the register file A, B: output gates E: imnput gate Tx : tristate activation signal Rx : Register selection signal SC: Signal to load in register Register bank (RB): A: output of BR B: output of BR E: input in BR RA: register selection by A RB: register selection by B RC: register selection by E SC: write in register (load) selected by SC T1: Output of RB to internal bus T2: Output of RB to internal bus ARCOS-UC3M Computer Structure 32

33 Registers Bank Example Control signals for the operation R1 R2, where R1 is the register 1 and R2 is the register 2: RA = RC = T1 y SC Rest of signal: 0 clock RA RC T1 SC Clock cycle Load in negative edge-triggered, when signal changes from high to low. The datum is available in R1 in next cycle ARCOS-UC3M Computer Structure 33

34 Memory and associated registers Main memory, MBR and MAR ARCOS-UC3M Computer Structure 34

35 Control signal for memory access MAR: memory address register MBR : memory buffer register Tx: Tristate activation signal Cx: signal to load in register Main memory R: Read W: Write C1: from internal bus to MAR C2: from data bus to MBR C3: from internal bus to MBR Td: output of MAR to address bus Ta: output of MBR to data bus T3: output of to internal bus ARCOS-UC3M Computer Structure 35

36 Memory access operations Read: MAR <address> (C1) Read cycle (R) MBR MP[Address] (..., C2) Write: MAR <address> (..., C1) MBR <datum> (..., C3) Write cycle(w) ARCOS-UC3M Computer Structure 36

37 Example of memory access Control signal for R2 Memoria[R1]: First cycle: RA = 00001, T1, C1 (MAR R1) Second cycle (assuming one cycle per read operation): Td, L, C2 (MBR Memory) Third cycle: T3, Rc = 00001, SC (R2 MBR) Clock RA RC Clock cycle T1 SC Load in negative edge-triggered, when signal changes from high to low. The datum is available in R1 in next cycle ARCOS-UC3M Computer Structure 37

38 Memory access example Chronogram and control signal Reloj RA RC First cycle: RA = 00001, T1, C1 (MAR R1) Second cycle: Td, L, C2 (MBR Memory) Third cycle: T3, Rc = 00001, SC (R2 MBR) T1 C1 C2 Td L SC T3 Rest of signals: 0 ARCOS-UC3M Computer Structure 38

39 Arithmetic and logic unit (ALU) ARCOS-UC3M Computer Structure 39

40 Control signals ALU C9: internal bus to register RT1 C10: internal bus to register RT2 MA: operand selector: A ó RT1 MB: operand selector: B ó RT2 Cod. OP: operation to perform in ALU (+,-,AND, OR, ) C11: ALU result to register RT3 T5: ALU result to internal bus T6: output of RT3 to internal bus ARCOS-UC3M Computer Structure 40

41 Example of operations Operation Op. code Adition 000 substraction 001 Mult. 010 División 011 And 100 Or 101 Xor 110 Not (sobre MA) 111 ARCOS-UC3M Computer Structure 41

42 Example of operation in the ALU Control signal for RT3 R1 + RT1: MA = 1, MB = 0 RB = C11 Cod.Op = 000 clock RB MA C Clock cycle Load in negative edge-triggered, when signal changes from high to low. The datum is available in R1 in next cycle Cod. Op Rest of signals: ARCOS-UC3M Computer Structure 42

43 Control unit Control unit with PC, IR, and PSW ARCOS-UC3M Computer Structure 43

44 PC, IR, and PSW registers Program counter (PC): contains the address of the instruction to be fetched Instruction register (IR): contains the instruction recently fetched Program status word (PSW): contains status information: Information about last operation in ALu. Bits to indicate: sign, Zero, carry, overflow, etc. Execution mode: bit that indicates whether CPU is executing in supervisor or user mode Interrupt enable/disable ARCOS-UC3M Computer Structure 44

45 PC, IR, and PSW registers and control signals Program counter, PC: C4: PC PC + 4 C5: internal bus to PC T4: PC to internal bus Program status word, PSW C7: internal bus to PSW C8: ALU flags to PSW T7: PSW to internal bus Instruction register, IR: C6: internal bus to IR T8: IR to internal bus ARCOS-UC3M Computer Structure 45

46 Control unit Basic functions: Fetch instructions from memory Decoding Instruction execution Start Fetch Decoding Execution Stop ARCOS-UC3M Computer Structure 46

47 Clock A computer is synchronous cycle The clock controls the behavior The clock controls the operations In a clock cycle one o more elemental operations are executed if there are not conflicts In one cycle the needed control signals are activated In the same cycle, following operations can be perform: MAR PC y RT3 RT2 + RT1 In the same cycle, following operations cannot be perform: MAR PC y R1 RT3 Why? ARCOS-UC3M Computer Structure 47

48 Exercise What is the cycle of a computer with a clock frequency of 1 GHz? ARCOS-UC3M Computer Structure 48

49 Instruction cycle 49 Instruction fetch Fetch (read) the instruction stored in the memory address stored in PC. The instruction is stored in IR. Increment PC Decoding: Interpret the instruction stored in IR in order to select: Operation to do Addressing to apply Control signals to activate Execution Perform the indicated operation activating the appropriate control signals ARCOS-UC3M Computer Structure 49

50 Example: Fetch 50 Cycle Elemental op. C1 MAR PC C2 PC PC + 4 C3 MBR MP C4 IR MBR Cycle Elemental op. C1 MAR PC C2 PC PC + 4, MBR MP C3 IR MBR Simultaneous operations can be made ARCOS-UC3M Computer Structure 50

51 Fetch (c1) 51 C1: MAR PC C2: PC PC + 4, MBR MP C3: IR MBR ARCOS-UC3M Computer Structure 51

52 Fetch (c2) 52 C1: MAR PC C2: PC PC + 4, MBR MP C3: IR MBR ARCOS-UC3M Computer Structure 52

53 Fetch (c3) 53 C1: MAR PC C2: PC PC + 4, MBR MP C3: IR MBR ARCOS-UC3M Computer Structure 53

54 Control signals in fetch 54 Control signals activated in fetch. Obtained from RTL Cycle Elemental Op. Control signals activated C1 MAR PC T4, C1 C2 PC PC + 4, MBR MP C4, Td, L, C2 C3 IR MBR T3, C6 ARCOS-UC3M Computer Structure 54

55 Execution of lw $reg, addr Cycle C1 Elemental op. MAR PC C2 PC PC + 4, MBR MP C3 C4 C5 C6 C7 MBR MP Decoding MAR IR(addr) MBR MP $Reg MBR ARCOS-UC3M Computer Structure 55

56 Execution of jal addr Cycle C1 Elemental OP. MAR PC C2 PC PC + 4, MBR MP C3 C4 C5 IR MBR Decoding PC addr ARCOS-UC3M Computer Structure 56

57 57 Exercise: Elemental operations for these instructions Instructions in one word: sw $reg, dir add $rd, $ro1, $ro2 addi $rd, $ro1, inm lw $reg1, desp($reg2) j dir jr $reg beq $ro1, $ro2, desp ARCOS-UC3M Computer Structure 57

58 Instructions that occupy several words Example: addm R1, addr R1 R1 + [addr] format: addm R1 addr 1st word 2nd word Cycle C1 Elemenal Op. MAR PC C2 PC PC + 4, MBR MP C3 C4 C5 IR MBR Decoding MAR PC Cycle C6 C7 C8 C9 C10 Elemenal Op. MBR MP, PC PC + 4 MAR MBR MBR MP RT1 MBR R1 R1 + RT1 ARCOS-UC3M Computer Structure 58

59 Execution modes User mode Processor cannot execute privileged instructions (I/O instructions, interrupt enabled, ) When an user process executes a privileged instruction, the processor generates an interrupt Kernel (supervisor) mode Reserved to operating system Processor can execute all instructions The mode is indicates using a bit in the PSW register ARCOS-UC3M Computer Structure 59

60 Interrupts Signal received in control unit. Break the normal sequence of execution Reasons: Error in the execution of an instruction (division by zero, ) Illegal instruction Illegal memory access Device that requests the attention of the processor Clock. Clock interrupts When an interrupt is generated, the current program is stopped and the execution is transferred to another program that manages the interrupt ARCOS-UC3M Computer Structure 60

61 Interrupts classification Synchronous HW exceptions Division by zero, illegal memory access, Asynchronous HW exceptions HW errors External interrupts Devices, clock interrupt System calls Machine instructions that provoke an interrupt used to activate the operating system ARCOS-UC3M Computer Structure 61

62 Interrupt handling Interrupts disabled Start Fetch Instruciton execution Interrupt cycle Iinterrupts enabled Stop ARCOS-UC3M Computer Structure 62

63 Interrupt cycle In this cycle, control unit: Check interrupts. If there are activated interrupts: Save PC and PSW Change from user mode to kernel mode Get the address of the interrupt handling routine Load in PC the above address (next instruction will be the first instruction of the interrupt handling routine) ARCOS-UC3M Computer Structure 63

64 Interrupt handling routine Belongs to operating system Saves the rest or processor registers Processes the interrupt Restores the registers previously saved Executes the machine instruction: RETI Restores the PSW of the interrupted program (changes from kernel mode to user mode again) Restores PC (next instruction executed will be one of the previously interrupted program) ARCOS-UC3M Computer Structure 64

65 Interrupt vector table Operating system Memory Element that interrupts INT vector Control unit vector Interrupt handling routine ARCOS-UC3M Computer Structure 65

66 Interrupt vector table An element that activates an interrupt provides the interrupt vector This vector is an index into the interrupt vector table This table contains the address for each interrupt handling routine Control unit reads the address of the vector table and load this value in PC Every operating system fills this table with the addresses of the interrupt handling routines. This addresses are operating system dependent ARCOS-UC3M Computer Structure 66

67 PC interrupts (Windows 7) ARCOS-UC3M Computer Structure 67

68 Software interrupts system call (example: Linux) close(fd) ; Aplication User mode close(int desc) { MOVE %eax, #NUM_CLOSE MOVE %ebx, desc INT 0x80 %eax = returned value RET } libc.so Instruction that provokes A SW interrrupt Kernel mode _sys_call_table _system_call( ) sys_call_table(%eax) ret_from_sys_call _ret_from_syscall rescheduling sys_close() ARCOS-UC3M Computer Structure 68

69 Control unit design IR CO PSW Interupts Control unit Control signals Clock Every control signal is a function of the value of: IR content PSW content Period of time (clock) ARCOS-UC3M Computer Structure 69

70 Control unit design For each machine instruction: Define, using RTL, the behavior of every clock cycle Translate this behavior to control signals values in every clock cycle Design a circuit to generate the value of every control signal in every clock cycle ARCOS-UC3M Computer Structure 70

71 Example of state machine Example for a computer with 4 instructions machine add r1, r2 lw r1, addr bz dir sw r1 ARCOS-UC3M Computer Structure 71

72 Control techniques Hardwired implementation Microprogrammed control ARCOS-UC3M Computer Structure 72

73 Hardwired control Control unit uses gates. Its inputs logic signals are transformed intro a set of output logic signals Features: Very fast Difficult to modify Redesign ARCOS-UC3M Computer Structure 73

74 Microprogrammed control unit Basic idea: use a memory (control memory) to store the control signal values for each period of each instruction Features: Easy modification Updates, etc.. Ej.: PSP, IPhone, etc. Simplify the design ARCOS-UC3M Computer Structure 74

75 Microprogrammed control unit IR PSW Interrupt signals CO Clock signal Sequencing logic C1 C2 C3 C4 R5 C6 C7 C8 C9 C10 C11 Td Ta T1 T2 T3 T4 T5 T6 T7 T8 RA4 RA3 RA2 Ra Control memory RB4 Rb3 RB2 RB1 RB0 RC4 RC3 RC2 RC1 RC0 SC L E Cop3 Cop2 Cop1 Cop Microinstruction Control signals ARCOS-UC3M Computer Structure 75

76 Microinstructions Each control memory word defines the value of each control signal in a period Microinstruction A microinstruction includes a bit for each control signal ARCOS-UC3M Computer Structure 76

77 Microcode and microprogram Microprogram: Set of microinstruction for each machine instruction Microcode(firmware): Set of microprograms of a computer ARCOS-UC3M Computer Structure 77

78 Basic structure of a microprogrammed control unit Three elements: Control memory to store all microinstructions. Procedure to associate to each machine instruction the appropriated microprogram Procedure that converts the operation code of a machine instruction into the address of the control memory where the program is stored Mechanism to obtain the rest of microinstructions Two alternatives: Explicit sequencing Implicit sequencing ARCOS-UC3M Computer Structure 78

79 Explicit sequencing Each microinstruction includes the address of the next microinstruction Control memory with great capacity ARCOS-UC3M Computer Structure 79

80 Implicit sequencing All instructions of a microprogram are stored consecutively in memory Need: Translation step (ROM o PLA) Microaddresses register ARCOS-UC3M Computer Structure 80

81 Microinstruction format Microinstruction format: Specify the number of bits and the control signals Signals grouped into fields: Tristate bus signals ALU signals Registers bank signals Memory signals Multiplexor signals ARCOS-UC3M Computer Structure 81

82 Startup of a computer ROM init. The reset loads predefined values in registers: PC address of the init program (ROM memory) Execute the init program System test Load in memory the operating system loader PC init address of the operating system loader Execute the operating system loader program to load the rest of the operating system Execute the operating system OS loader Rest of OS ARCOS-UC3M Computer Structure 82

83 Model of processor based on datapath (without internal bus) PC +4 Instructions Memory Registers Banck Data memory ARCOS-UC3M Computer Structure 83

84 Program execution time = _ + _ N is the number of instructions of the program CPI is the average number of clock cycles to execute an instruction t CPU_cycle is the cycle clock duration AMI is the average number of memory access per instruction t mem_cycle is the time needed for a memory access ARCOS-UC3M Computer Structure 84

85 Instruction level parallelism Concurrent execution of several machine instructions Pipielined processor : use pipelines in which multiple instructions are overlapped in execution Superscalar processor: multiple independent instruction pipelines are used. Each pipeline can handle multiple instructions at a time Multicore processor: several processors or cores in the same chip ARCOS-UC3M Computer Structure 85

86 Pipelining Stages in the execution of instructions IF: instruction fetch D: Decoding RO: read operands EX: execution WO: write operands ARCOS-UC3M Computer Structure 86

87 Execution without pipeline Time IF D RO EX WO IF D RO EX WO If each stage consumes N clock cycles, one instruction is executed every 5 x N cycles ARCOS-UC3M Computer Structure 87

88 Execution with pipeline Time RI D RO EX WO IF D RO EX WO IF D RO EX WO IF D RO EX WO If each stage consumes N clock cycles, one instruction is executed every N cycles ARCOS-UC3M Computer Structure 88

89 Superscalar Time IF D RO EX WO IF D RO EX WO IF D RO EX WO IF D RO EX WO IF D RO EX WO IF D RO EX WO IF D RO EX WO IF D RO EX WO Several independent pipelines ARCOS-UC3M Computer Structure 89

90 Multicores Multiples processors in the same chip ARCOS-UC3M Computer Structure 90

CPU Structure and Function

CPU Structure and Function CPU Structure and Function Chapter 12 Lesson 17 Slide 1/36 Processor Organization CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data Lesson 17 Slide 2/36 CPU With Systems

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

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

Processing Unit CS206T

Processing Unit CS206T Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct

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

Micro-programmed Control Ch 15

Micro-programmed Control Ch 15 Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of

More information

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4) Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Machine Instructions vs. Micro-instructions Memory execution unit CPU control memory

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

Micro-programmed Control Ch 15

Micro-programmed Control Ch 15 Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of

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

UNIT- 5. Chapter 12 Processor Structure and Function

UNIT- 5. Chapter 12 Processor Structure and Function UNIT- 5 Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data CPU With Systems Bus CPU Internal Structure Registers

More information

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 16 Control Unit Operations Rev. 3.2 (2009-10) by Enrico Nardelli 16-1 Execution of the Instruction Cycle It has many elementary phases,

More information

Micro-programmed Control Ch 17

Micro-programmed Control Ch 17 Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to

More information

CPU Structure and Function

CPU Structure and Function Computer Architecture Computer Architecture Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr nizamettinaydin@gmail.com http://www.yildiz.edu.tr/~naydin CPU Structure and Function 1 2 CPU Structure Registers

More information

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary Hardwired Control (4) Complex Fast Difficult to design Difficult to modify

More information

William Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function

William Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function William Stallings Computer Organization and Architecture Chapter 11 CPU Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data Registers

More information

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer.

Control unit. Input/output devices provide a means for us to make use of a computer system. Computer System. Computer. Lecture 6: I/O and Control I/O operations Control unit Microprogramming Zebo Peng, IDA, LiTH 1 Input/Output Devices Input/output devices provide a means for us to make use of a computer system. Computer

More information

E3940 Microprocessor Systems Laboratory. Introduction to the Z80

E3940 Microprocessor Systems Laboratory. Introduction to the Z80 E3940 Microprocessor Systems Laboratory Introduction to the Z80 Andrew T. Campbell comet.columbia.edu/~campbell campbell@comet.columbia.edu E3940 Microprocessor Systems Laboratory Page 1 Z80 Laboratory

More information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY LANGUAGE MACHINE ORGANIZATION ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction

More information

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Chapter 11 CPU Structure and Function Rev. 3.2.1 (2005-06) by Enrico Nardelli 11-1 CPU Functions CPU must: Fetch instructions Decode instructions

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

EECE 417 Computer Systems Architecture

EECE 417 Computer Systems Architecture EECE 417 Computer Systems Architecture Department of Electrical and Computer Engineering Howard University Charles Kim Spring 2007 1 Computer Organization and Design (3 rd Ed) -The Hardware/Software Interface

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

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir What Are The Main Differences Between Program Counter Pc And Instruction Register Ir and register-based instructions - Anatomy on a CPU - Program Counter (PC): holds memory address of next instruction

More information

CPU Structure and Function. Chapter 12, William Stallings Computer Organization and Architecture 7 th Edition

CPU Structure and Function. Chapter 12, William Stallings Computer Organization and Architecture 7 th Edition CPU Structure and Function Chapter 12, William Stallings Computer Organization and Architecture 7 th Edition CPU must: CPU Function Fetch instructions Interpret/decode instructions Fetch data Process data

More information

EE 457 Unit 8. Exceptions What Happens When Things Go Wrong

EE 457 Unit 8. Exceptions What Happens When Things Go Wrong 1 EE 457 Unit 8 Exceptions What Happens When Things Go Wrong 2 What are Exceptions? Exceptions are rare events triggered by the hardware and forcing the processor to execute a software handler HW Interrupts

More information

What are Exceptions? EE 457 Unit 8. Exception Processing. Exception Examples 1. Exceptions What Happens When Things Go Wrong

What are Exceptions? EE 457 Unit 8. Exception Processing. Exception Examples 1. Exceptions What Happens When Things Go Wrong 8. 8.2 What are Exceptions? EE 457 Unit 8 Exceptions What Happens When Things Go Wrong Exceptions are rare events triggered by the hardware and forcing the processor to execute a software handler Similar

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 - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Processor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Processor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Processor Architecture Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Moore s Law Gordon Moore @ Intel (1965) 2 Computer Architecture Trends (1)

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

CS/COE1541: Introduction to Computer Architecture

CS/COE1541: Introduction to Computer Architecture CS/COE1541: Introduction to Computer Architecture Dept. of Computer Science University of Pittsburgh http://www.cs.pitt.edu/~melhem/courses/1541p/index.html 1 Computer Architecture? Application pull Operating

More information

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers

The register set differs from one computer architecture to another. It is usually a combination of general-purpose and special purpose registers Part (6) CPU BASICS A typical CPU has three major components: 1- register set, 2- arithmetic logic unit (ALU), 3- control unit (CU). The figure below shows the internal structure of the CPU. The CPU fetches

More information

Microprogrammed Control Approach

Microprogrammed Control Approach Microprogrammed Control Approach Considering the FSM for our MIPS subset has 10 states, the complete MIPS instruction set, which contains more than 100 instructions, and considering that these instructions

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

Processor Architecture

Processor Architecture Processor Architecture Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE2030: Introduction to Computer Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)

More information

Computer System Overview

Computer System Overview Computer System Overview Operating Systems 2005/S2 1 What are the objectives of an Operating System? 2 What are the objectives of an Operating System? convenience & abstraction the OS should facilitate

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

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2. BASIC ELEMENTS Simplified view: Processor Slide 1 Computer System Overview Operating Systems Slide 3 Main Memory referred to as real memory or primary memory volatile modules 2004/S2 secondary memory devices

More information

Topic #6. Processor Design

Topic #6. Processor Design Topic #6 Processor Design Major Goals! To present the single-cycle implementation and to develop the student's understanding of combinational and clocked sequential circuits and the relationship between

More information

CSE 410. Operating Systems

CSE 410. Operating Systems CSE 410 Operating Systems Handout: syllabus 1 Today s Lecture Course organization Computing environment Overview of course topics 2 Course Organization Course website http://www.cse.msu.edu/~cse410/ Syllabus

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

Author : Dalbir Singh, Computer Science Deptt. CPU Structure and Functions. 1. Processor Organization

Author : Dalbir Singh, Computer Science Deptt. CPU Structure and Functions. 1. Processor Organization Author : Dalbir Singh, Computer Science Deptt. CPU Structure and Functions 1. Processor Organization To understand the organization of the CPU, let us consider the requirements placed on the CPU, the things

More information

Computer Logic II CCE 2010

Computer Logic II CCE 2010 Computer Logic II CCE 2010 Dr. Owen Casha Computer Logic II 1 The Processing Unit Computer Logic II 2 The Processing Unit In its simplest form, a computer has one unit that executes program instructions.

More information

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer Outline Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution. Understand a simple

More information

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding 4.8 MARIE This is the MARIE architecture shown graphically. Chapter 4 MARIE: An Introduction to a Simple Computer 2 4.8 MARIE MARIE s Full Instruction Set A computer s control unit keeps things synchronized,

More information

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 3, 2015 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

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

Microcomputer Architecture and Programming

Microcomputer Architecture and Programming IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller

More information

DC57 COMPUTER ORGANIZATION JUNE 2013

DC57 COMPUTER ORGANIZATION JUNE 2013 Q2 (a) How do various factors like Hardware design, Instruction set, Compiler related to the performance of a computer? The most important measure of a computer is how quickly it can execute programs.

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

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016 CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if

More information

ECE 250 / CPS 250 Computer Architecture. Processor Design Datapath and Control

ECE 250 / CPS 250 Computer Architecture. Processor Design Datapath and Control ECE 250 / CPS 250 Computer Architecture Processor Design Datapath and Control Benjamin Lee Slides based on those from Andrew Hilton (Duke), Alvy Lebeck (Duke) Benjamin Lee (Duke), and Amir Roth (Penn)

More information

Chapter 12. CPU Structure and Function. Yonsei University

Chapter 12. CPU Structure and Function. Yonsei University Chapter 12 CPU Structure and Function Contents Processor organization Register organization Instruction cycle Instruction pipelining The Pentium processor The PowerPC processor 12-2 CPU Structures Processor

More information

CS3350B Computer Architecture Winter 2015

CS3350B Computer Architecture Winter 2015 CS3350B Computer Architecture Winter 2015 Lecture 5.5: Single-Cycle CPU Datapath Design Marc Moreno Maza www.csd.uwo.ca/courses/cs3350b [Adapted from lectures on Computer Organization and Design, Patterson

More information

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network Prepared by: Irfan Khan

structural RTL for mov ra, rb Answer:- (Page 164) Virtualians Social Network  Prepared by: Irfan Khan Solved Subjective Midterm Papers For Preparation of Midterm Exam Two approaches for control unit. Answer:- (Page 150) Additionally, there are two different approaches to the control unit design; it can

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

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter

Latches. IT 3123 Hardware and Software Concepts. Registers. The Little Man has Registers. Data Registers. Program Counter IT 3123 Hardware and Software Concepts Notice: This session is being recorded. CPU and Memory June 11 Copyright 2005 by Bob Brown Latches Can store one bit of data Can be ganged together to store more

More information

Chapter 16. Control Unit Operation. Yonsei University

Chapter 16. Control Unit Operation. Yonsei University Chapter 16 Control Unit Operation Contents Micro-Operation Control of the Processor Hardwired Implementation 16-2 Micro-Operations Micro-Operations Micro refers to the fact that each step is very simple

More information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

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

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

MARIE: An Introduction to a Simple Computer

MARIE: An Introduction to a Simple Computer MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA CISC 662 Graduate Computer Architecture Lecture 4 - ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

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

Q.1 Explain Computer s Basic Elements

Q.1 Explain Computer s Basic Elements Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some

More information

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function William Stallings Computer Organization and Architecture 8 th Edition Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data

More information

omputer Design Concept adao Nakamura

omputer Design Concept adao Nakamura omputer Design Concept adao Nakamura akamura@archi.is.tohoku.ac.jp akamura@umunhum.stanford.edu 1 1 Pascal s Calculator Leibniz s Calculator Babbage s Calculator Von Neumann Computer Flynn s Classification

More information

CS 61C: Great Ideas in Computer Architecture. MIPS CPU Datapath, Control Introduction

CS 61C: Great Ideas in Computer Architecture. MIPS CPU Datapath, Control Introduction CS 61C: Great Ideas in Computer Architecture MIPS CPU Datapath, Control Introduction Instructor: Alan Christopher 7/28/214 Summer 214 -- Lecture #2 1 Review of Last Lecture Critical path constrains clock

More information

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version:

SISTEMI EMBEDDED. Computer Organization Central Processing Unit (CPU) Federico Baronti Last version: SISTEMI EMBEDDED Computer Organization Central Processing Unit (CPU) Federico Baronti Last version: 20170516 Processing Unit A processor reads program instructions from the computer s memory and executes

More information

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1 CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY COMPUTER ARCHITECURE- III YEAR EEE-6 TH SEMESTER 16 MARKS QUESTION BANK UNIT-1 Data representation: (CHAPTER-3) 1. Discuss in brief about Data types, (8marks)

More information

Hardwired Control Unit Ch 14

Hardwired Control Unit Ch 14 Hardwired Control Unit Ch 14 Micro-operations Controlling Execution Hardwired Control 1 What is Control (2) So far, we have shown what happens inside CPU execution of instructions opcodes, addressing modes,

More information

Chapter 4. MARIE: An Introduction to a Simple Computer

Chapter 4. MARIE: An Introduction to a Simple Computer Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.

More information

RAČUNALNIŠKEA COMPUTER ARCHITECTURE

RAČUNALNIŠKEA COMPUTER ARCHITECTURE RAČUNALNIŠKEA COMPUTER ARCHITECTURE 6 Central Processing Unit - CPU RA - 6 2018, Škraba, Rozman, FRI 6 Central Processing Unit - objectives 6 Central Processing Unit objectives and outcomes: A basic understanding

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

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

Systems Architecture I

Systems Architecture I Systems Architecture I Topics A Simple Implementation of MIPS * A Multicycle Implementation of MIPS ** *This lecture was derived from material in the text (sec. 5.1-5.3). **This lecture was derived from

More information

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization

CISC 662 Graduate Computer Architecture. Lecture 4 - ISA MIPS ISA. In a CPU. (vonneumann) Processor Organization CISC 662 Graduate Computer Architecture Lecture 4 - ISA MIPS ISA Michela Taufer http://www.cis.udel.edu/~taufer/courses Powerpoint Lecture Notes from John Hennessy and David Patterson s: Computer Architecture,

More information

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers.

PART A (22 Marks) 2. a) Briefly write about r's complement and (r-1)'s complement. [8] b) Explain any two ways of adding decimal numbers. Set No. 1 IV B.Tech I Semester Supplementary Examinations, March - 2017 COMPUTER ARCHITECTURE & ORGANIZATION (Common to Electronics & Communication Engineering and Electronics & Time: 3 hours Max. Marks:

More information

Part A Questions 1. What is an ISP? ISP stands for Instruction Set Processor. This unit is simply called as processor which executes machine instruction and coordinates the activities of other units..

More information

Hardwired Control Unit Ch 16

Hardwired Control Unit Ch 16 Hardwired Control Unit Ch 16 Micro-operations Controlling Execution Hardwired Control 1 What is Control (2) So far, we have shown what happens inside CPU execution of instructions opcodes, addressing modes,

More information

General Purpose Processors

General Purpose Processors Calcolatori Elettronici e Sistemi Operativi Specifications Device that executes a program General Purpose Processors Program list of instructions Instructions are stored in an external memory Stored program

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 AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction

More information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle

More information

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor.

Chapter 4. Instruction Execution. Introduction. CPU Overview. Multiplexers. Chapter 4 The Processor 1. The Processor. COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor The Processor - Introduction

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Pipelining 11142011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Review I/O Chapter 5 Overview Pipelining Pipelining

More information

RISC & Superscalar. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 12. Instruction Pipeline no hazard.

RISC & Superscalar. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 12. Instruction Pipeline no hazard. COMP 212 Computer Organization & Architecture Pipeline Re-Cap Pipeline is ILP -Instruction Level Parallelism COMP 212 Fall 2008 Lecture 12 RISC & Superscalar Divide instruction cycles into stages, overlapped

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Fall 1999 Lab 7-10: Micro-processor Design: Minimal Instruction Set Processor (MISP) Objective:

More information

The MIPS Processor Datapath

The MIPS Processor Datapath The MIPS Processor Datapath Module Outline MIPS datapath implementation Register File, Instruction memory, Data memory Instruction interpretation and execution. Combinational control Assignment: Datapath

More information

CHAPTER 4 MARIE: An Introduction to a Simple Computer

CHAPTER 4 MARIE: An Introduction to a Simple Computer CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 177 4.2 CPU Basics and Organization 177 4.2.1 The Registers 178 4.2.2 The ALU 179 4.2.3 The Control Unit 179 4.3 The Bus 179 4.4 Clocks

More information

COMPUTER ORGANIZATION AND DESIGN

COMPUTER ORGANIZATION AND DESIGN COMPUTER ORGANIZATION AND DESIGN 5 Edition th The Hardware/Software Interface Chapter 4 The Processor 4.1 Introduction Introduction CPU performance factors Instruction count CPI and Cycle time Determined

More information

Block diagram view. Datapath = functional units + registers

Block diagram view. Datapath = functional units + registers Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs = machine instruction,

More information

Lecture 10: Simple Data Path

Lecture 10: Simple Data Path Lecture 10: Simple Data Path Course so far Performance comparisons Amdahl s law ISA function & principles What do bits mean? Computer math Today Take QUIZ 6 over P&H.1-, before 11:59pm today How do computers

More information

The Processing Unit. TU-Delft. in1210/01-pds 1

The Processing Unit. TU-Delft. in1210/01-pds 1 The Processing Unit in1210/01-pds 1 Problem instruction? y Decoder a ALU y f Reg in1210/01-pds 2 Basic cycle! Assume an instruction occupies a single word in memory! Basic cycle to be implemented: 1. Fetch

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #18 Introduction to CPU Design 2007-7-25 Scott Beamer, Instructor CS61C L18 Introduction to CPU Design (1) What about overflow? Consider

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

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

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

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

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