CSE140L: Components and Design Techniques for Digital Systems Lab. RTL design. Tajana Simunic Rosing. Source: Vahid, Katz
|
|
- Alaina Black
- 6 years ago
- Views:
Transcription
1 CSE140L: Components and Design Techniques for Digital Systems Lab RTL design Tajana Simunic Rosing Source: Vahid, Katz 1
2 Lab #4 due next week Outline Report due at the beginning of class (2pm) Demo hours posted on the class website Today: RTL CPU design Next week: CPU design cont. Synthesis from Verilog 2
3 Register Transfer Level (RTL) Design Method 5.2
4 Step 1 Example: Laser-ased Distance Measurer T (in seconds) laser sensor D 2D = T sec * 3*10 8 m/sec Object of interest Example of how to create a high-level state machine to describe desired processor behavior Laser-based distance measurement pulse laser, measure time T to sense reflection Laser light travels at speed of light, 3*10 8 m/sec Distance is thus D = T sec * 3*10 8 m/sec / 2
5 Step 1 Example: Laser-ased Distance Measurer Inputs:, S(1 bit each) Outputs: L (bit), D ( bits) from button D to display Laserbased distance measurer L to laser S from sensor S0? a L = 0 (laser off) D = 0 (distance = 0) Step 1: Create high-level state machine egin by declaring inputs and outputs Create initial state, name it S0 Initialize laser to off (L=0) Initialize displayed distance to 0 (D=0)
6 Step 1 Example: Laser-ased Distance Measurer Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) (button not pressed) from button D to display Laserbased distance measurer L to laser S from sensor a S0 L = 0 D = 0 S1? (button pressed) Add another state, call S1, that waits for a button press stay in S1, keep waiting go to a new state S2 6
7 Step 1 Example: Laser-ased Distance Measurer Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) from button D to display Laserbased distance measurer L to laser S from sensor S0 S1 S2 L = 0 D = 0 L = 1 (laser on) Add a state S2 that turns on the laser (L=1) Then turn off laser (L=0) in a state S3 S3 L = 0 (laser off) a 7
8 Step 1 Example: Laser-ased Distance Measurer Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) Local Registers: Dctr ( bits) S (no reflection) from button D to display Laser-based distance measurer L to laser S from sensor S0 S1 S2 S3 L = 0 D = 0 Dctr = 0 (reset cycle count) Stay in S3 until sense reflection (S) To measure time, count cycles for which we are in S3 To count, declare local register Dctr Increment Dctr each cycle in S3 L = 1 L = 0 Dctr = Dctr + 1 (count cycles) S (reflection)? Initialize Dctr to 0 in S1. S2 would have been O.K. too a 8
9 Step 1 Example: Laser-ased Distance Measurer Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) Local Registers: Dctr ( bits) from button D to display Laser-based distance measurer L to laser S from sensor S S0 S1 S2 S3 S L = 0 Dctr = 0 L = 1 L=0 D = 0 Dctr = Dctr + 1 Once reflection detected (S), go to new state S4 Calculate distance Assuming clock frequency is 3x10 8, Dctr holds number of meters, so D=Dctr/2 After S4, go back to S1 to wait for button again S4 D = Dctr / 2 (calculate D) a 9
10 Step 2: Create a Datapath Datapath must Implement data storage Implement data computations Look at high-level state machine, do three substeps (a) Make data inputs/outputs be datapath inputs/outputs (b) Instantiate declared registers into the datapath (also instantiate a register for each data output) (c) Examine every state and transition, and instantiate datapath components and connections to implement any data computations Instantiate: to introduce a new component into a design. 10
11 Step 2 Example: Laser-ased Distance Measurer (a) Make data inputs/outputs be datapath inputs/outputs (b) Instantiate declared registers into the datapath (also instantiate a register for each data output) (c) Examine every state and transition, and instantiate datapath components and connections to implement any data computations Dreg_clr Dreg_ld Dctr_clr Dctr_cnt Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) Local Registers: Dctr ( bits) S0 S1 S2 S3 L = 0 D = 0 Dctr = 0 Datapath clear count S Q Dctr: -bit up-counter S L = 1 L=0 Dctr = Dctr + 1 clear load I Q S4 D = Dctr / 2 (calculate D) Dreg: -bit register D a 11
12 Step 2 Example: Laser-ased Distance Measurer (c) (continued) Examine every state and transition, and instantiate datapath components and connections to implement any data computations Dreg_clr Dreg_ld Dctr_clr Dctr_cnt Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) Local Registers: Dctr ( bits) Datapath clear count S S0 S1 S2 S3 L = 0 D = 0 Dctr = 0 Q Dctr: -bit up-counter S L = 1 L=0 Dctr = Dctr + 1 clear load >>1 I Q Dreg: -bit register D S4 D = Dctr / 2 (calculate D) 12 a
13 Step 2 Example Showing Mux Use Localregisters: E,F, G, R ( bits) E F G E F G E F G T0 R = E + F A + A + add_a_s0 add s T1 R = R + G a R R A + (a) (b) (c) R Introduce mux when one component input can come from more than one source (d) 13
14 Step 3: Connecting the Datapath to a Controller from button to display D Controller Dreg_clr Dreg_ld Dctr_clr Dctr_cnt 300 MHz Clock Datapath L S to laser from sensor Laser-based distance measurer example Easy just connect all control signals between controller and datapath Datapath Dreg_clr Dreg_ld Dctr_clr Dctr_cnt clear count Q Dctr: -bit up-counter clear load I Q Dreg: -bit register D 14
15 from but ton to displ ay D Controller FSM has same structure as highlevel state machine Inputs/outputs all bits now Replace data operations by bit operations using datapath Step 4: Deriving the Controller s FSM Dreg_clr Dreg_ld Dctr_clr Dctr_cnt 300 Hz MClock Datapath L to laser from sensor S Inputs:, S (1 bit each) Outputs: L (bit), D ( bits) Local Registers: Dctr ( bits) S S0 S1 S2 S3 S L = 0 Dctr = 0 L = 1 L=0 D = 0 Dctr = Dctr + 1 Inputs:, S Outputs: L, Dreg_clr, Dreg_ld, Dctr_clr, Dctr_cnt S S0 S1 S2 S3 L = 0 L = 0 Dreg_clr = 0 L = 1 Dreg_clr = 0 L = 0 Dreg_ld = 0 Dreg_ld = 0 Dctr_clr = 1 Dctr_clr = 0 Dctr_cnt = 0 Dctr_cnt = 0 (clear count) (laser on) Dreg_clr = 1 Dreg_ld = 0 Dctr_clr = 0 Dctr_cnt = 0 (laser off) (clear D reg) Dreg_clr = 0 Dreg_ld = 0 Dctr_clr = 0 Dctr_cnt = 1 (laser off) (count up) S S4 S4 D = Dctr / 2 (calculate D) L = 0 Dreg_clr = 0 Dreg_ld = 1 Dctr_clr = 0 Dctr_cnt = 0 (load D reg with Dctr/2) (stop counting) 15 a
16 Step 4: Deriving the Controller s FSM S S0 S1 S2 S3 S S4 L = 0 L = 0 Dreg_clr = 0 L = 1 Dreg_clr = 0 L = 0 Dreg_ld = 0 Dreg_ld = 0 Dctr_clr = 1 Dctr_clr = 0 Dctr_cnt = 0 Dctr_cnt = 0 (clear count) (laser on) Dreg_clr = 1 Dreg_ld = 0 Dctr_clr = 0 Dctr_cnt = 0 (laser off) (clear D reg) Dreg_clr = 0 Dreg_ld = 0 Dctr_clr = 0 Dctr_cnt = 1 (laser off) (count up) L = 0 Dreg_clr = 0 Dreg_ld = 1 Dctr_clr = 0 Dctr_cnt = 0 (load D reg with Dctr/2) (stop counting) Using shorthand of outputs not assigned implicitly assigned 0 Inputs:, S Outputs: L, Dreg_clr, Dreg_ld, Dctr_clr, Dctr_cnt S S0 S1 S2 S3 L = 0 Dctr_clr = 1 L = 1 L = 0 Dreg_clr = 1 (clear count) (laser on) Dctr_cnt = 1 (laser off) (laser off) (clear D reg) (count up) S S4 Dreg_ld = 1 Dctr_cnt = 0 (load D reg with Dctr/2) (stop counting) a
17 Step 4 from button to display D Controller Dreg_clr Dreg_ld Dctr_clr Dctr_cnt 300 MHz Clock Datapath L to laser from sensor S Dreg_clr Dreg_ld Dctr_clr Dctr_cnt Datapath clear count Dctr: -bit up-counter Q clear load I Dreg: -bit register Q Inputs:, S Outputs: L, Dreg_clr, Dreg_ld, Dctr_clr, Dctr_cnt D S S0 S1 S2 S3 L = 0 Dctr_clr = 1 L = 1 L = 0 Dreg_clr = 1 (clear count) (laser on) Dctr_cnt = 1 (laser off) (laser off) (clear D reg) (count up) S S4 Dreg_ld = 1 Dctr_cnt = 0 (load D reg with Dctr/2) (stop counting) Implement FSM as state register and logic (Ch3) to complete the design 17
18 Laser distance Verilog signals 18
19 Laser distance Verilog FSM S S0 S1 S2 S3 S4 S L = 0 Dctr = 0 L = 1 L=0 D = Dctr / 2 D = 0 Dctr = Dctr + 1(calculate D) 19
20 CSE140L: Components and Design Techniques for Digital Systems Lab CPU design Tajana Simunic Rosing Source: Vahid, Katz, Culler 20
21 Introduction Programmable (general-purpose) processor Mass-produced, then programmed to implement different processing tasks Well-known common programmable processors: Pentium, Sparc, PowerPC Lesser-known but still common: ARM, MIPS, 8051, PIC Low-cost embedded processors found in cell phones, blinking shoes, etc. Instructive to design a very simple programmable processor Real processors can be much more complex Instruction memory Data memory PC0 IR n-bit 2x1 Controller Control unit Register file RF ALU Datapath General-purpose processor 21
22 asic Architecture Processing generally consists of: Loading some data Transforming that data Storing that data Datapath: Can read/write data to/from memory Has register file to hold data locally Has ALU to transform local data Data memory n-bit 2x1 Register file RF ALU Datapath 22
23 asic Datapath Operations Load operation: Load data from data memory to RF ALU operation: Transforms data by passing one or two RF register values through ALU, performing operation (ADD, SU, AND, OR, etc.), and writing back into RF. Store operation: Stores RF register value back into data memory Each operation can be done in one clock cycle Data memory D Data memory D Data memory D n-bit 2x1 n-bit 2x1 n-bit 2x1 a Register file RF Register file RF Register file RF ALU ALU ALU Load operation ALU operation Store operation 23
24 asic Datapath Operations Is this a valid single-cycle operation for the given datapath? Move D[1] to RF[1] (i.e., RF[1] = D[1]) Store RF[1] to D[9] and store RF[2] to D[10] Add D[0] plus D[1], store result in D[9] Data memory D Data memory D Data memory D n-bit 2x1 n-bit 2x1 n-bit 2x1 Register file RF Register file RF Register file RF ALU ALU ALU Load operation ALU operation Store operation 24
25 asic Architecture Control Unit D[9] = D[0] + D[1] requires a sequence of four datapath operations: 0: RF[0] = D[0] 1: RF[1] = D[1] 2: RF[2] = RF[0] + RF[1] 3: D[9] = RF[2] Each operation is an instruction Sequence of instructions program Store program in Instruction memory Control unit reads each instruction and executes it on the datapath PC: Program counter address of current instruction IR: Instruction register current instruction Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC Controller IR signals to control the datapath Data memory D n-bit 2x1 Register file RF ALU Control unit Datapath 25
26 asic Architecture Control Unit To carry out each instruction, the control unit must: Fetch Read instruction from inst. mem. Decode Determine the operation and operands of the instruction Execute Carry out the instruction's operation using the datapath Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 0 >1 Controller IR RF[0]=D[0] Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 1 Controller IR RF[0]=D[0] Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 1 IR RF[0]=D[0] Data memory D D[0]: 99 n-bit 2x1 Register file RF R[0]:?? 99 Control unit (a) Fetch Control unit (b) Decode "load" Controller Control unit Execute (c) Datapath ALU 26
27 asic Architecture Control Unit To carry out each instruction, the control unit must: Fetch Read instruction from inst. mem. Decode Determine the operation and operands of the instruction Execute Carry out the instruction's operation using the datapath Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 1 >2 Controller IR RF[1]=D[1} Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 2 Controller IR RF[1]=D[1] Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 2 IR RF[1]=D[1] Data memory D D[1]: 102 n-bit 2x1 Register file RF R[1]:?? 102 Control unit (a) Fetch Control unit (b) Decode "load" Controller Control unit Execute (c) Datapath ALU 27
28 asic Architecture Control Unit To carry out each instruction, the control unit must: Fetch Read instruction from inst. mem. Decode Determine the operation and operands of the instruction Execute Carry out the instruction's operation using the datapath Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 2 >3 Controller Control unit (a) Fetch IR RF[2]=RF[0]+RF[1] Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 3 Controller Control unit (b) Decode IR RF[2]=RF[0]+RF[1] "ALU (add)" Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 3 Controller Control unit IR RF[2]=RF[0]+RF[1] Execute (c) Data memory D n-bit 2x1 Register file RF R[2]:?? 201 Datapath ALU
29 asic Architecture Control Unit To carry out each instruction, the control unit must: Fetch Read instruction from inst. mem. Decode Determine the operation and operands of the instruction Execute Carry out the instruction's operation using the datapath Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 3 >4 Controller IR D[9]=RF[2] Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 4 Controller IR D[9]=RF[2] Instruction memory I 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] PC 4 IR D[9]=RF[2] Data memory D D[9]=?? 201 n-bit 2x1 Register file RF R[2]: 201 Control unit (a) Fetch Control unit (b) Decode "store" Controller Control unit Execute (c) Datapath ALU 29
30 Creating a Sequence of Instructions Create sequence of instructions to compute D[3] = D[0]+D[1]+D[2] One possible sequence Alternative sequence First load data memory First load D[0] and D[1] and locations into register file add them R[3] = D[0] R[1] = D[0] R[4] = D[1] R[2] = D[1] R[2] = D[2] R[1] = R[1] + R[2] (Note arbitrary register locations) Next, perform the additions Next, load D[2] and add R[2] = D[2] R[1] = R[3] + R[4] R[1] = R[1] + R[2] Finally, store result D[3] = R[1] R[1] = R[1] + R[2] Finally, store result D[3] = R[1] 30
31 Three-Instruction Programmable Processor 8.3 Instruction Set List of allowable instructions and their representation in memory, e.g., Load instruction 0000 r 3 r 2 r 1 r 0 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Store instruction 0001 r 3 r 2 r 1 r 0 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Add instruction 0010 ra 3 ra 2 ra 1 ra 0 rb 3 rb 2 rb 1 rb 0 rc 3 rc 2 rc 1 rc 0 Desired program 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2} Instruction memory 0: : : : I Instructions in 0s and 1s machine code opcode operands 31
32 Program for Three-Instruction Processor Desired program 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2} Instruction memoryi 0: : : : Computes D[9]=D[0]+D[1] Data memory D PC IR n-bit 2 1 Register file RF Controller ALU Control unit Datapath 32
33 Program for Three-Instruction Processor Another example program in machine code Compute D[5] = D[5] + D[6] + D[7] 0: // RF[0] = D[5] 1: // RF[1] = D[6] 2: // RF[2] = D[7] 3: // RF[0] = RF[0] + RF[1] // which is D[5]+D[6] 4: // RF[0] = RF[0] + RF[2] // now D[5]+D[6]+D[7] 5: // D[5] = RF[0] Load instruction: 0000 r 3 r 2 r 1 r 0 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Store instruction: 0001 r 3 r 2 r 1 r 0 d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Add instruction: 0010 ra 3 ra 2 ra 1 ra 0 rb 3 rb 2 rb 1 rb 0 rc 3 rc 2 rc 1 rc 0 33
34 Assembly Code Machine code (0s and 1s) is hard to work with Assembly code Uses mnemonics Load instruction MOV Ra, d specifies the operation RF[a]=D[d]. a must be 0,1,..., or 15 so R0 means RF[0], R1 means RF[1], etc. d must be 0, 1,..., 255 Store instruction MOV d, Ra specifies the operation D[d]=RF[a] Add instruction ADD Ra, Rb, Rc specifies the operation RF[a]=RF[b]+RF[c] Desired program 0: RF[0]=D[0] 1: RF[1]=D[1] 2: RF[2]=RF[0]+RF[1] 3: D[9]=RF[2] 0: : : : : MOV R0, 0 1: MOV R1, 1 2: ADD R2, R0, R1 3: MOV 9, R2 machine code assembly code 34
35 Control-Unit and Datapath for Three-Instruction Processor To design the processor, we can begin with a high-level state machine description of the processor's behavior Init PC=0 Fetch IR=I[PC] PC=PC+1 Decode op=0000 op=0001 op=0010 Load Store Add RF[ra]=D[d] D[d]=RF[ra] RF[ra] = RF[rb]+ RF[rc] 35
36 Control-Unit and Datapath for Three-Instruction Processor Create detailed connections among components Load Init PC=0 RF[ra]=D[d] Fetch Decode Store D[d]=RF[ra] IR=I[PC] PC=PC+1 op=0000 op=0001 op=0010 Add RF[ra] = RF[rb]+ RF[rc] addr PC clr up rd I Controller data IR Id I I RF_s RF_W_addr RF_W_wr RF_Rp_addr RF_Rp_rd RF_Rq_addr RF_Rq_rd alu_s0 D_addr 8 addr D_rd rd D_wr 256x wr W_data R_data s 1 -bit 2x1 W_data W_addr W_wr Rp_addr Rp_rd Rq_addr Rq_rd Rp_data 0 D x RF Rq_data Control unit Datapath s0 A ALU 36
37 Convert high-level state machine description of entire processor to FSM description of controller that uses datapath and other components to achieve same behavior Init PC=0 PC_ clr=1 Load RF[ra]=D[d] D_addr=d D_rd=1 RF_s=1 RF_W_addr=ra RF_W_wr=1 Control-Unit and Datapath for Three-Instruction Processor Fetch Decode op=0000 op=0001 op=0010 Store D[d]=RF[ra] D_addr=d D_wr=1 RF_s=X RF_Rp_addr=ra RF_Rp_rd=1 IR=I[PC] PC=PC+1 I_rd=1 PC=PC+1 PC_inc=1 IR_ld=1 Add RF[ra] RF[ra] = RF[rb]+ = RF[rb]+ RF[rc] RF_Rp_addr=rb RF[rc] RF_Rp_rd=1 RF_s=0 RF_Rq_addr=rc RF_Rq _rd=1 RF_W_addr=ra RF_W_wr=1 alu_s0=1 addr PC clr up rd data Controller IR Id Control unit I RF_W_addr RF_W_wr RF_Rp_addr RF_Rp_rd RF_Rq_addr RF_Rq_rd alu_s0 D_addr 8 addr D_rd rd D_wr 256x wr W_dataR_data RF_s s Datapath 1 0 -bit 2x1 W_data W_addr W_wr Rp_addr Rp_rd Rq_addr Rq_rd D x RF Rp_data Rq_data s0 A ALU 37
38 A Six-Instruction Programmable Processor Let's add three more instructions: Load-constant instruction 0011 r 3 r 2 r 1 r 0 c 7 c 6 c 5 c 4 c 3 c 2 c 1 c 0 MOV Ra, #c specifies the operation RF[a]=c Subtract instruction 0100 ra 3 ra 2 ra 1 ra 0 rb 3 rb 2 rb 1 rb 0 rc 3 rc 2 rc 1 rc 0 SU Ra, Rb, Rc specifies the operation RF[a]=RF[b] RF[c] Jump-if-zero instruction 0101 ra 3 ra 2 ra 1 ra 0 o 7 o 6 o 5 o 4 o 3 o 2 o 1 o 0 JMPZ Ra, offset specifies the operation PC = PC + offset if RF[a] is 0 38
39 Extending the Control-Unit and Datapath 1: Load constant loads data from IR[7..0] + 3b a+b-1 PC_ld ld addr PC clr up PC_clr PC_inc IR[7..0] rd data IR Id IR_ld D_addr D_rd D_wr 1 8 RF_W_data 1 RF_s1 RF_s0 8 addr rd 256x wr W_data R_data 2 s1 s0 1 -bit 3x1 0 D 2: ALU subtract instruction control signal. 3: JMPZ: 3a: Detect if the register file s Rp is zero 3b: Let PC load also with PC + IR[7..0]. Controller RF_W_addr RF_Rp_addr RF_Rq_addr W_data W_addr W_wr Rp_addr Rp_rd Rq_addr Rq_rd x RF RF_Rp_zero 3a =0 Rp_data Rq_data Control unit alu_s1 alu_s0 2 Datapath s1 s0 A ALU s s ALU operation pass A through A+ A- 39
40 40 Controller FSM for the Six-Instruction Processor Fetch Decode Init PC_clr=1 Store I_rd=1 PC_inc=1 IR_ld=1 Load Add D_addr=d D_wr=1 RF_s1=X RF_s0=X RF_Rp_addr=ra RF_Rp_rd=1 RF_Rp_addr=rb RF_Rp_rd=1 RF_s1=0 RF_s0=0 RF_Rq_add=rc RF_Rq_rd=1 RF_W_addr_ra RF_W_wr=1 alu_s1=0 alu_s0=1 D_addr=d D_rd=1 RF_s1=0 RF_s0=1 RF_W_addr=ra RF_W_wr=1 Subtract Loadconstant Jump-if-zero RF_Rp_addr=rb RF_Rp_rd=1 RF_s1=0 RF_s0=0 RF_Rq_addr=rc RF_Rq_rd=1 RF_W_addr=ra RF_W_wr=1 alu_s1=1 alu_s0=0 RF_Rp_addr=ra RF_Rp_rd=1 RF_s1=1 RF_s0=0 RF_W_addr=ra RF_W_wr=1 Jump-ifzero-jmp PC_ld=1? op=0100 op=0101 op=0010 op=0011 op=0001 op=0000 RF_Rp_zero RF_Rp_zero'
41 Program for the Six-Instruction Processor Count number of non-zero words in D[4] and D[5] Result will be either 0, 1, or 2 Put result in D[9] MOV R0, #0; // initialize result to 0 MOV R1, #1; // constant 1 for incrementing result MOV R2, 4; // get data memory location 4 JMPZ R2, lab1; // if zero, skip next instruction ADD R0, R0, R1; // not zero, so increment result lab1:mov R2, 5; // get data memory location 5 JMPZ R2, lab2; // if zero, skip next instruction ADD R0, R0, R1; //not zero, so increment result lab2:mov 9, R0; // store result in data memory location 9 (a) (b) 41
42 Program Using Input/Output Extensions Underlying assembly code for C expression I0 &&!I1. 0: MOV R0, 240 // move D[240], which is the value at pin I0, into R0 1: MOV R1, 241 // move D[241], which is that value at pin I1, into R1 2: NOT R1, R1 // compute!i1, assuming existence of a complement instruction 3: AND R0, R0, R1 // compute I0 &&!I1, assuming an AND instruction 4: MOV 248, R0 // move result to D[248], which is pin P0 void main() { while (1) { P0 = I0 &&!I1; // F = a and!b, } } addr rd wr 0: 1: 2: 239: 240: 241: 248: 256x D I0 I1 P0 255: P7 W_data R_data 42
43 Summary Programmable processors are widely used Easy availability, short design time asic architecture Datapath with register file and ALU Control unit with PC, IR, and controller Memories for instructions and data Control unit fetches, decodes, and executes Three-instruction processor with machine-level programs Extended to six instructions Real processors have dozens or hundreds of instructions Extended to access external pins Modern processors are far more sophisticated 43
Chapter 8: Programmable Processors
Chapter 8: Programmable Processors Slides to accompany the textbook, First Edition, by, John Wiley and Sons Publishers, 2007. http://www.ddvahid.com Copyright 2007 Instructors of courses requiring Vahid's
More informationLectures 02, 03 Introduction to Stored Programs"
Lectures 02, 03 Introduction to Stored Programs" Suggested reading:" HP Chapters 1.1-1.3" Some slides/images from Vahid text hence this notice:" Copyright 2007 Frank Vahid Instructors of courses requiring
More informationComputer 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 informationComputer 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 informationCSE140: Components and Design Techniques for Digital Systems
CSE4: Components and Design Techniques for Digital Systems Tajana Simunic Rosing Announcements and Outline Check webct grades, make sure everything is there and is correct Pick up graded d homework at
More informationChapter 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 informationApproaches to Digital System Design
Approaches to Digital System Design In Digital Devices, you learned how to create a logic network (Flip-flops + combinational gates) to solve a problem The logic network was SPECIFIC to the problem. To
More informationComputer Architecture 2/26/01 Lecture #
Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the
More informationCPU_EU. 256x16 Memory
Team Members We are submitting our own work, and we understand severe penalties will be assessed if we submit work for credit that is not our own. Print Name Print Name GRADER ID Number ID Number Estimated
More informationUC 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 informationLaboratory 5 Processor Datapath
Laboratory 5 Processor Datapath Description of HW Instruction Set Architecture 16 bit data bus 8 bit address bus Starting address of every program = 0 (PC initialized to 0 by a reset to begin execution)
More informationIntroduction to Digital Logic
Introduction to Digital Logic Lecture 5 Simple CPU Overview Instruction Set Software Process Software Program High Level Language Description if (x > ) x = x + y - z; a = b*x; Compiler JLEZ X,SKIP MOVE.W
More informationMark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control
EE 37 Unit Single-Cycle CPU path and Control CPU Organization Scope We will build a CPU to implement our subset of the MIPS ISA Memory Reference Instructions: Load Word (LW) Store Word (SW) Arithmetic
More informationCSE140: Components and Design Techniques for Digital Systems. Register Transfer Level (RTL) Design. Mohsen Imani
CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Mohsen Imani Topics for today Another example of RTL design RTL circuit delays and clock HLSM array and Register
More informationThe overall datapath for RT, lw,sw beq instrucution
Designing The Main Control Unit: Remember the three instruction classes {R-type, Memory, Branch}: a) R-type : Op rs rt rd shamt funct 1.src 2.src dest. 31-26 25-21 20-16 15-11 10-6 5-0 a) Memory : Op rs
More informationBlock 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 informationinst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 18 CPU Design: The Single-Cycle I ! Nasty new windows vulnerability!
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 18 CPU Design: The Single-Cycle I CS61C L18 CPU Design: The Single-Cycle I (1)! 2010-07-21!!!Instructor Paul Pearce! Nasty new windows vulnerability!
More informationRegister Transfer Level (RTL) Design
CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Mohsen Imani Topics for today Another example of RTL design RTL circuit delays and clock HLSM array and Register
More informationProcessor (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 informationsession 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 informationECE232: Hardware Organization and Design
ECE232: Hardware Organization and Design Lecture 14: One Cycle MIPs Datapath Adapted from Computer Organization and Design, Patterson & Hennessy, UCB R-Format Instructions Read two register operands Perform
More informationLecture 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 informationvon Neumann Architecture Basic Computer System Early Computers Microprocessor Reading Assignment An Introduction to Computer Architecture
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 1 Part 1 An Introduction to Computer Architecture Microcontrollers and Microcomputers: Chapter 1, Appendix A, Chapter 2 Software and Hardware
More informationBasic Computer System. von Neumann Architecture. Reading Assignment. An Introduction to Computer Architecture. EEL 4744C: Microprocessor Applications
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 1 Part 1 An Introduction to Computer Architecture Microcontrollers and Microcomputers: Chapter 1, Appendix A, Chapter 2 Software and Hardware
More informationTDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design
1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion
More informationInf2C - 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 informationMicroprogrammed 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 informationProgrammable Control Logic
Programmable Control Logic Microsequencers Example: building the micro8 Hardware/Software tradeoff Lab #5 due Thursday, project abstract next Monday 1 Digital Systems = FSMs + Datapath FSM control Datapath:
More informationProcessor: Multi- Cycle Datapath & Control
Processor: Multi- Cycle Datapath & Control (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann, 27) COURSE
More informationCPU 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 information361 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 informationCS/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 informationCS/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 informationare 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 informationEECS 151/251A Fall 2017 Digital Design and Integrated Circuits. Instructor: John Wawrzynek and Nicholas Weaver. Lecture 13 EE141
EECS 151/251A Fall 2017 Digital Design and Integrated Circuits Instructor: John Wawrzynek and Nicholas Weaver Lecture 13 Project Introduction You will design and optimize a RISC-V processor Phase 1: Design
More informationChapter 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 informationENGG3380: 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 informationCOMP2121: Microprocessors and Interfacing. Instruction Formats and Addressing Modes
COMP2121: Microprocessors and Interfacing Instruction Formats and Addressing Modes http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 1 Overview Instruction format AVR instruction format
More informationThe 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 informationThe 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 informationLecture #8: Lab 3 EE183 Pipelined Processor
Lecture #8: Lab 3 EE183 Pipelined Processor Kunle Stanford EE183 February 3, 2003 Lab Stuff Lab #2 due Friday at 6pm I ll be in the lab at 5pm or so for demos. Any questions? 1 System-on-Chip (SoC) Design
More informationRISC Processor Design
RISC Processor Design Single Cycle Implementation - MIPS Virendra Singh Indian Institute of Science Bangalore virendra@computer.org Lecture 13 SE-273: Processor Design Feb 07, 2011 SE-273@SERC 1 Courtesy:
More informationEE 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 informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #19 Designing a Single-Cycle CPU 27-7-26 Scott Beamer Instructor AI Focuses on Poker CS61C L19 CPU Design : Designing a Single-Cycle CPU
More informationCS 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 informationCS 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 informationReview. N-bit adder-subtractor done using N 1- bit adders with XOR gates on input. Lecture #19 Designing a Single-Cycle CPU
CS6C L9 CPU Design : Designing a Single-Cycle CPU () insteecsberkeleyedu/~cs6c CS6C : Machine Structures Lecture #9 Designing a Single-Cycle CPU 27-7-26 Scott Beamer Instructor AI Focuses on Poker Review
More informationCPU Design Steps. EECC550 - Shaaban
CPU Design Steps 1. Analyze instruction set operations using independent RTN => datapath requirements. 2. Select set of datapath components & establish clock methodology. 3. Assemble datapath meeting the
More informationController 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 informationCh 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 informationLecture 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 informationOutline. 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 informationChapter 5: The Processor: Datapath and Control
Chapter 5: The Processor: Datapath and Control Overview Logic Design Conventions Building a Datapath and Control Unit Different Implementations of MIPS instruction set A simple implementation of a processor
More informationLearning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW
3-3. Learning Outcomes 3-3. Spiral 3-3 Single Cycle CPU I understand how the single-cycle CPU datapath supports each type of instruction I understand why each mux is needed to select appropriate inputs
More informationChapter 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 informationChapter 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 informationLecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)
Lecture Topics Today: Single-Cycle Processors (P&H 4.1-4.4) Next: continued 1 Announcements Milestone #3 (due 2/9) Milestone #4 (due 2/23) Exam #1 (Wednesday, 2/15) 2 1 Exam #1 Wednesday, 2/15 (3:00-4:20
More informationCOMP303 - 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 informationCS222: 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 informationComputer Organization CS 206 T Lec# 2: Instruction Sets
Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode
More informationName: ID# UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III 1) Recalculate the various propogation delays in a 4-bit carry lookahead
More informationCPE 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 informationChapter 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 informationPin Description, Status & Control Signals of 8085 Microprocessor
Pin Description, Status & Control Signals of 8085 Microprocessor 1 Intel 8085 CPU Block Diagram 2 The 8085 Block Diagram Registers hold temporary data. Instruction register (IR) holds the currently executing
More informationRegister Transfer Level (RTL) Design
CSE4: Components and Design Techniques for Digital Systems Register Transfer Level (RTL) Design Instructor: Mohsen Imani Slides from Tajana Simunic Rosing CAPE CAPEs are out!!! https://cape.ucsd.edu/students/
More informationDigital Design. Introduction. Chapter 9: Hardware Description Languages
si a tap a r t n o c o t g Chapter 9: Hardware Description Languages Slides to accompany the textbook, First Edition, by, John Wiley and Sons Publishers, 2007. http://www.ddvahid.com Copyright 2007 Instructors
More informationMath 230 Assembly Programming (AKA Computer Organization) Spring MIPS Intro
Math 230 Assembly Programming (AKA Computer Organization) Spring 2008 MIPS Intro Adapted from slides developed for: Mary J. Irwin PSU CSE331 Dave Patterson s UCB CS152 M230 L09.1 Smith Spring 2008 MIPS
More informationCSE 140L Spring 2010 Bonus Final
CSE 140L Spring 2010 Bonus Final Logistics for Bonus Final: This final should be done in individually. Use Xilinx tools version 10.1. What is due: - Report: o Submit a single report in.pdf form via email
More informationECE260: Fundamentals of Computer Engineering
Datapath for a Simplified Processor James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Introduction
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #17 Single Cycle CPU Datapath CPS today! 2005-10-31 There is one handout today at the front and back of the room! Lecturer PSOE, new dad
More informationCS 152, Spring 2011 Section 2
CS 152, Spring 2011 Section 2 Christopher Celio University of California, Berkeley About Me Christopher Celio celio @ eecs Office Hours: Tuesday 1-2pm, 751 Soda Agenda Q&A on HW1, Lab 1 Pipelining Questions
More informationCS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 28: Single- Cycle CPU Datapath Control Part 1
CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 28: Single- Cycle CPU Datapath Control Part 1 Guest Lecturer: Sagar Karandikar hfp://inst.eecs.berkeley.edu/~cs61c/ http://research.microsoft.com/apps/pubs/default.aspx?id=212001!
More informationReview: Abstract Implementation View
Review: Abstract Implementation View Split memory (Harvard) model - single cycle operation Simplified to contain only the instructions: memory-reference instructions: lw, sw arithmetic-logical instructions:
More informationThe 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 informationCpE242 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 information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals
More informationOutcomes. Lecture 13 - Introduction to the Central Processing Unit (CPU) Central Processing UNIT (CPU) or Processor
Lecture 13 - Introduction to the Central Processing Unit (CPU) Outcomes What is a CPU? How are instructions prepared by the CPU before execution? What registers and operations are involved in this preparation
More informationCSE140L: Components and Design Techniques for Digital Systems Lab
CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check
More informationEECS150. Implement of Processor FSMs
EECS5 Section Controller Implementations Fall Implement of Processor FSMs Classical Finite State Machine Design Divide and Conquer Approach: Time-State Method Partition FSM into multiple communicating
More informationRISC Design: Multi-Cycle Implementation
RISC Design: Multi-Cycle Implementation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay http://www.ee.iitb.ac.in/~viren/
More informationPipeline Hazards. Midterm #2 on 11/29 5th and final problem set on 11/22 9th and final lab on 12/1. https://goo.gl/forms/hkuvwlhvuyzvdat42
Pipeline Hazards https://goo.gl/forms/hkuvwlhvuyzvdat42 Midterm #2 on 11/29 5th and final problem set on 11/22 9th and final lab on 12/1 1 ARM 3-stage pipeline Fetch,, and Execute Stages Instructions are
More informationControl & Execution. Finite State Machines for Control. MIPS Execution. Comp 411. L14 Control & Execution 1
Control & Execution Finite State Machines for Control MIPS Execution L14 Control & Execution 1 Synchronous Systems data Latch Combinational logic Latch Clock leading edge trailing edge On the leading edge
More informationComputer Architecture (part 2)
Computer Architecture (part 2) Topics: Machine Organization Machine Cycle Program Execution Machine Language Types of Memory & Access 2 Chapter 5 The Von Neumann Architecture 1 Arithmetic Logic Unit (ALU)
More informationInput. Output. Datapath: System for performing operations on data, plus memory access. Control: Control the datapath in response to instructions.
path & Control Readings: 4.1-4.4 Computer Processor Devices Control Input path Output path: System for performing operations on data, plus memory access. Control: Control the datapath in response to instructions.
More informationDigital 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 informationECE170 Computer Architecture. Single Cycle Control. Review: 3b: Add & Subtract. Review: 3e: Store Operations. Review: 3d: Load Operations
ECE7 Computer Architecture Single Cycle Control Review: 3a: Overview of the Fetch Unit The common operations Fetch the : mem[] Update the program counter: Sequential Code: < + Branch and Jump: < something
More informationObjective now How are such control statements registers and other components Managed to ensure proper execution of each instruction
Control and Control Components Introduction Software application similar to familiar nested Russian dolls As we ve observed earlier Application written in some high level programming language C, C++, C#,
More informationComputer System. Hiroaki Kobayashi 7/25/2011. Agenda. Von Neumann Model Stored-program instructions and data are stored on memory
Computer System Hiroaki Kobayashi 7/25/2011 7/25/2011 Computer Engineering 1 Agenda Basic model of modern computer systems Von Neumann Model Stored-program instructions and data are stored on memory Fundamental
More informationCS61C : 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 informationChapter 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 informationSection 6. Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8
Section 6 Memory Components Chapter 5.7, 5.8 Physical Implementations Chapter 7 Programmable Processors Chapter 8 Types of memory Two major types of memory Volatile When power to the device is removed
More informationMemory General R0 Registers R1 R2. Input Register 1. Input Register 2. Program Counter. Instruction Register
CPU Organisation Central Processing Unit (CPU) Memory General R0 Registers R1 R2 ALU R3 Output Register Input Register 1 Input Register 2 Internal Bus Address Bus Data Bus Addr. $ 000 001 002 Program Counter
More informationCPE 335 Computer Organization. Basic MIPS Architecture Part I
CPE 335 Computer Organization Basic MIPS Architecture Part I Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s8/index.html CPE232 Basic MIPS Architecture
More informationDatapath & Control. Readings: Computer Processor. Control. Input. Datapath. Output
Datapath & Control Readings: 4.1-4.4 Computer Processor Devices Control Input Datapath Output Datapath: System for performing operations on data, plus memory access. Control: Control the datapath in response
More informationChapter 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 informationEECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007
EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides
More informationDesigning 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 informationCOMPUTER ORGANIZATION AND DESIGN. The Hardware/Software Interface. Chapter 4. The Processor: A Based on P&H
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 4 The Processor: A Based on P&H Introduction We will examine two MIPS implementations A simplified version A more realistic pipelined
More informationThe Processor. Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut. CSE3666: Introduction to Computer Architecture
The Processor Z. Jerry Shi Department of Computer Science and Engineering University of Connecticut CSE3666: Introduction to Computer Architecture Introduction CPU performance factors Instruction count
More informationECED3204: Microprocessor Part I--Introduction
ECED3204: Microprocessor Part I--Introduction Jason J. Gu Department of 1 Outline i. Computer ii. Processor iii. Embedded System iv. Memory v. Program Execution VI. VII. VIII. IX. AVR AVR Memory AVR CPU
More information