Comp201 Computer Systems Register Notation

Slides:



Advertisements
Similar presentations
Fetch-Execute cycle. Memory Read operation Read from memory.
Advertisements

CS364 CH16 Control Unit Operation
REGISTER TRANSFER LANGUAGE (RTL)
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Arithmetic Logic Unit (ALU)
1  1998 Morgan Kaufmann Publishers We will be reusing functional units –ALU used to compute address and to increment PC –Memory used for instruction and.
The CPU. Parts of the CPU Control Unit Arithmetic & Logic Unit Registers.
EECE476 Lecture 7: Single-Cycle CPU Instruction Processing & Control Chapter 5, Sections 5.3, 5.4 The University of British ColumbiaEECE 476© 2005 Guy.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Computer Structure - Datapath and Control Goal: Design a Datapath  We will design the datapath of a processor that includes a subset of the MIPS instruction.
Copyright 1998 Morgan Kaufmann Publishers, Inc. All rights reserved. Digital Architectures1 Machine instructions execution steps (1) FETCH = Read the instruction.
Class 9.1 Computer Architecture - HUJI Computer Architecture Class 9 Microprogramming.
Chapter 8 CPU Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.
Computer Organization and Architecture
Dr. Iyad F. Jafar Basic MIPS Architecture: Multi-Cycle Datapath and Control.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4: IT Students.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 4:
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
SAP1 (Simple-As-Possible) Computer
Designing the WRAMP Dean Armstrong The University of Waikato.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Computer Architecture Lecture 09 Fasih ur Rehman.
Model Computer CPU Arithmetic Logic Unit Control Unit Memory Unit
Princess Sumaya Univ. Computer Engineering Dept. Chapter 5:
Computer Architecture Lecture 03 Fasih ur Rehman.
CSE 241 Computer Organization Lecture # 8 Ch. 7 Control Unit Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
W.S Computer System Design Lecture 4 Wannarat Suntiamorntut.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Our programmer needs to do this !
Chapter 3 Basic Processing Unit.
By Wannarat Computer System Design Lecture 4 Wannarat Suntiamorntut.
1 COMP541 Datapaths I Montek Singh Mar 8, Topics  Over next 2/3 classes: datapaths  Basic register operations Book sections 7-2 to 7-6 and 7-8.
Processor Organization and Architecture Module III.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Datapath and Control AddressInstruction Memory Write Data Reg Addr Register File ALU Data Memory Address Write Data Read Data PC Read Data Read Data.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Control Unit Design.
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
Control Unit Operation
Lecture 13 - Introduction to the Central Processing Unit (CPU)
IT 251 Computer Organization and Architecture
Computer Organization
Micro-Operations A computer executes a program Fetch/execute cycle
Five Execution Steps Instruction Fetch
William Stallings Computer Organization and Architecture
Multi-Cycle CPU.
ECS 154B Computer Architecture II Spring 2009
CS/COE0447 Computer Organization & Assembly Language
CS/COE0447 Computer Organization & Assembly Language
Computer Architecture and Design Lecture 6
Topic 6 LC-3.
Systems Architecture I
Multicycle Approach We will be reusing functional units
By: A. H. Abdul Hafez Computer Architecture and Organization: L06: Stored program and Instruction code.
A Discussion on Assemblers
Processor: Multi-Cycle Datapath & Control
Review Fig 4.15 page 320 / Fig page 322
RTL for the SRC pipeline registers
Systems Architecture I
The Processor: Datapath & Control.
Computer Architecture Assembly Language
Computer Operation 6/22/2019.
Computer Architecture
What You Will Learn In Next Few Sets of Lectures
Processor: Datapath and Control
CS161 – Design and Architecture of Computer Systems
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Comp201 Computer Systems Register Notation

Register Notation e.g. [$3] <- [$3] + [$4] Used to represent the data transfers between the parts of the CPU during the execution of an assembly language instruction Register is represented by its initials (e.g. PC, R0 etc) The contents of a register are shown by enclosing the register symbol in square brackets [PC] The operation of data transfer is shown by <- e.g. [$3] <- [$3] + [$4] This would be interpreted as “take the contents of $3, and add the contents of $4, placing the result in $3”

More detail about timing: Each CPU operation is carried out under the control of the controller which can: make a register output a value onto a bus (eg1. PC_out) (eg2. a_out, sel_a = 4) set up the ALU or memory interface to carry out a particular function (func = add) make a register read a value from a bus (eg1. $5) (eg2. C_in sel_c = 5) For instance, to add the contents of $4 to the PC, storing the result back in the PC on the 3 bus architecture : PC_out, a_out, sel_a = 4, func = add, alu_out, PC_in and wait sufficient time for the transfer to take place - usually a clock cycle

Signals must stabilise before clock Control Step Each control step takes one clock cycle Source registers output here Destination registers read values here Clock cycle Signals must stabilise before clock Signals propagate through system

Showing the data paths from the previous example, PC_out, sel_a = 4, a_outt, func = add, alu_out, PC_in Memory MI PC Reg File (R0-R15) ALU A B C C Bus B Bus A bus IR TEMP

Timing Example: Register Register D Q R2 R1in R1out R2in R2out 1 clk Z RTL: [R2] <- [R1] actions: R1out, R2in clk R1 output R2 input

Another example: Register ALU Register time to settle clk: RTL: outputs enabled inputs read R1 Q clk [R3] <- [R1] + [R2] 3 D R3 R3 Q R1in R1out clk actions: R2 Q clk func 5 R1out, R2out, add, R3in R3in R3out R2in R2out

Eg. - Register ->ALU -> Register 3 5 Z R1 D Q clk: clk RTL: 3 [R3] <- [R1] + [R2] 8 R3 D Q R3 R1in R1out clk actions: R2 D Q 8 clk func R1out, R2out, add, R3in 5 R3in R3out R2in R2out Z

Register Transfer Notation Imm_16_out Imm_20_out sel_a a_out sel_b alu_func pc_in pc_out b_out sel_c c_in alu_out temp_out temp_in mem_read mem_write sign_extend ir_in 1 2 The execution of an assembly language instruction may require a sequence of such steps e.g. to fetch an instruction [IR] <- M[[PC]] [PC] <- [PC] + [1] Or, to perform a jal command, [PC] <- [PC] + [1] (if not already done) [ra] <- [PC] [PC]<- location of call Or, to perform a lw command, [temp] <- [$base] + disp [$dest] <- M[temp] . X X X X X X

More about RTL descriptions Register transfer language lets you define computer operations unambiguously in an "algebra-like" notation. The RTL expression [$3] means the contents of register 3 (i.e., whatever is in register 3). The RTL expression [M(1234)] means the contents of memory whose location (i.e., address) is 1234. Or, sometimes expressed as 0x1234 to denote hex. The RTL expression <-  means "is copied to" (from right to left). You cannot write the expression $3 = 4 in RTL, as it would mean that register 3 is the same as the number 4. The correct expression is [$3] = 4 which means that register 3 holds the value 4. The RTL expression D3 <- 4 is also meaningless. The expression should be [D3] <- 4.

WRAMP Instructions in Register Notation In the tables in the back of the WRAMP manual, the instructions are shown in RTL notation, e.g.: sub Rd, Rs, Rt sle Rd, Rs, Rt beqz Rs, offfset jal address Rd <- Rs - Rt Rd <- Rs < Rt if (Rs=0) PC<-PC+offset $ra<-PC, PC<-Address