CSCI365 Computer Organization Lecture 19 Note Some slides
![CSCI-365 Computer Organization Lecture 19 Note: Some slides and/or pictures in the following are CSCI-365 Computer Organization Lecture 19 Note: Some slides and/or pictures in the following are](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-1.jpg)
![Fetching Instructions • Fetching instructions involves – reading the instruction from the Instruction Memory Fetching Instructions • Fetching instructions involves – reading the instruction from the Instruction Memory](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-2.jpg)
![Decoding Instructions • Decoding instructions involves – sending the fetched instruction’s opcode and function Decoding Instructions • Decoding instructions involves – sending the fetched instruction’s opcode and function](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-3.jpg)
![Executing R Format Operations • R format operations (add, sub, slt, and, or) 31 Executing R Format Operations • R format operations (add, sub, slt, and, or) 31](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-4.jpg)
![Executing Load and Store Operations • Load and store operations involve – compute memory Executing Load and Store Operations • Load and store operations involve – compute memory](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-5.jpg)
![Executing Branch Operations Add 4 Add Shift left 2 Branch target address ALU control Executing Branch Operations Add 4 Add Shift left 2 Branch target address ALU control](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-6.jpg)
![Executing Jump Operations • Jump operation involves – replace the lower 28 bits of Executing Jump Operations • Jump operation involves – replace the lower 28 bits of](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-7.jpg)
![Creating a Single Datapath from the Parts • Assemble the datapath segments and add Creating a Single Datapath from the Parts • Assemble the datapath segments and add](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-8.jpg)
![Single Cycle Datapath with Control Unit 0 Add ALUOp Reg. Dst PC Read Address Single Cycle Datapath with Control Unit 0 Add ALUOp Reg. Dst PC Read Address](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-9.jpg)
![](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-10.jpg)
![The ALU Control (DONE IN CLASS) The ALU Control (DONE IN CLASS)](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-11.jpg)
- Slides: 11
![CSCI365 Computer Organization Lecture 19 Note Some slides andor pictures in the following are CSCI-365 Computer Organization Lecture 19 Note: Some slides and/or pictures in the following are](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-1.jpg)
CSCI-365 Computer Organization Lecture 19 Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson & Hennessy, © 2005 Some slides and/or pictures in the following are adapted from: slides © 2008 UCB
![Fetching Instructions Fetching instructions involves reading the instruction from the Instruction Memory Fetching Instructions • Fetching instructions involves – reading the instruction from the Instruction Memory](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-2.jpg)
Fetching Instructions • Fetching instructions involves – reading the instruction from the Instruction Memory – updating the PC to hold the address of the next instruction – PC is updated every cycle, so it does not need an explicit write control signal – Instruction Memory is read every cycle, so it doesn’t need an explicit read control signal Add 4 Instruction Memory PC Read Address Instruction
![Decoding Instructions Decoding instructions involves sending the fetched instructions opcode and function Decoding Instructions • Decoding instructions involves – sending the fetched instruction’s opcode and function](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-3.jpg)
Decoding Instructions • Decoding instructions involves – sending the fetched instruction’s opcode and function field bits to the control unit – reading two values from the Register File • Register File addresses are contained in the instruction Control Unit Instruction Read Addr 1 Read Register Read Addr 2 Data 1 File Write Addr Read Write Data 2
![Executing R Format Operations R format operations add sub slt and or 31 Executing R Format Operations • R format operations (add, sub, slt, and, or) 31](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-4.jpg)
Executing R Format Operations • R format operations (add, sub, slt, and, or) 31 R-type: op 25 rs 20 15 rt rd 10 5 0 shamt funct – perform the (op and funct) operation on values in rs and rt – store the result back into the Register File (into location rd) Reg. Write Instruction Read Addr 1 Register Read Addr 2 Data 1 File Write Addr Read Write Data ALU control ALU overflow zero Data 2 – The Register File is not written every cycle (e. g. sw), so we need an explicit write control signal for the Register File
![Executing Load and Store Operations Load and store operations involve compute memory Executing Load and Store Operations • Load and store operations involve – compute memory](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-5.jpg)
Executing Load and Store Operations • Load and store operations involve – compute memory address by adding the base register (read from the Register File during decode) to the 16 -bit signed-extended offset field in the instruction – store value (read from the Register File during decode) written to the Data Memory – load value, read from the Data Memory, written to the Register File Reg. Write Instruction ALU control overflow zero Read Addr 1 Register Read Addr 2 Data 1 File Write Addr Read Write Data 16 Address ALU Data Memory Read Data Write Data 2 Sign Extend Mem. Write Mem. Read 32
![Executing Branch Operations Add 4 Add Shift left 2 Branch target address ALU control Executing Branch Operations Add 4 Add Shift left 2 Branch target address ALU control](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-6.jpg)
Executing Branch Operations Add 4 Add Shift left 2 Branch target address ALU control PC • Branch operations involves Instruction – compare the operands read from the Register File during decode for equality (zero ALU output) – compute the branch target address by adding the updated PC to the 16 bit signed-extended offset field in the instr Read Addr 1 Register Read Addr 2 Data 1 File Write Addr Read Write Data 16 Data 2 Sign Extend 32 zero (to branch control logic) ALU
![Executing Jump Operations Jump operation involves replace the lower 28 bits of Executing Jump Operations • Jump operation involves – replace the lower 28 bits of](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-7.jpg)
Executing Jump Operations • Jump operation involves – replace the lower 28 bits of the PC with the lower 26 bits of the fetched instruction shifted left by 2 bits Add 4 4 Instruction Memory PC Read Address Instruction Shift left 2 26 Jump address 28
![Creating a Single Datapath from the Parts Assemble the datapath segments and add Creating a Single Datapath from the Parts • Assemble the datapath segments and add](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-8.jpg)
Creating a Single Datapath from the Parts • Assemble the datapath segments and add control lines and multiplexors as needed • Single cycle design – fetch, decode and execute each instructions in one clock cycle – no datapath resource can be used more than once per instruction, so some must be duplicated (e. g. , separate Instruction Memory and Data Memory, several adders) – multiplexors needed at the input of shared elements with control lines to do the selection – write signals to control writing to the Register File and Data Memory • Cycle time is determined by length of the longest path
![Single Cycle Datapath with Control Unit 0 Add ALUOp Reg Dst PC Read Address Single Cycle Datapath with Control Unit 0 Add ALUOp Reg. Dst PC Read Address](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-9.jpg)
Single Cycle Datapath with Control Unit 0 Add ALUOp Reg. Dst PC Read Address Instr[31 -0] Mem. Read Memto. Reg Mem. Write ALUSrc Reg. Write ovf Instr[25 -21] Read Addr 1 Register Read Instr[20 -16] Read Addr 2 Data 1 File 0 Write Addr Read 1 Instr[15 -11] Instr[15 -0] 1 PCSrc Branch Instr[31 -26] Control Unit Instruction Memory Add Shift left 2 4 Write Data zero 0 ALU Data 2 1 Sign 16 Extend 32 Instr[5 -0] ALU control Address Data Memory Read Data 1 Write Data 0
![](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-10.jpg)
![The ALU Control DONE IN CLASS The ALU Control (DONE IN CLASS)](https://slidetodoc.com/presentation_image_h2/6396aba9843a38953fdb61f240851e11/image-11.jpg)
The ALU Control (DONE IN CLASS)
Process organization in computer organization
A small child slides down the four frictionless slides
Final energy quick check
Principles of economics powerpoint lecture slides
Andrew ng machine learning slides
Business communication lecture slides
01:640:244 lecture notes - lecture 15: plat, idah, farad
Lecture note tiu
Basic structure of a computer system
Difference between computer architecture and organisation
Basic computer organization and design
Design of basic computer with flowchart