Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)

Slides:



Advertisements
Similar presentations
ARITHMETIC LOGIC SHIFT UNIT
Advertisements

CPEN Digital System Design Chapter 9 – Computer Design
MARIE: An Introduction to a Simple Computer
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Computer Science 210 Computer Organization The Instruction Execution Cycle.
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
MARIE: An Introduction to a Simple Computer
TEAM 1: Miguel Harmant Rodney Rodriguez Elias Crespo Javier Parra Alfredo Alonso Marc-Wayne Anglin.
1 4.2 MARIE This is the MARIE architecture shown graphically.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Lecture 15 Today’s lecture MARIE programming Assembler
Lecture 14 Today’s topics MARIE Architecture Registers Buses
MARIE: An Introduction to a Simple Computer. 2 MARIE Our model computer, the Machine Architecture that is Really Intuitive and Easy, MARIE, was designed.
Chapter 4 MARIE: An Introduction to a Simple Computer.
September 26, 2001Systems Architecture I1 Systems Architecture I (CS ) Lecture 2: Implementation of a Simplified Computer Jeremy R. Johnson Wednesday,
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
Register Transfer Languages (RTL)
1. 2 CHAPTER 3 MARIE: An Introduction to a Simple Computer.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Jeremy R. Johnson William M. Mongan
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Dr. Clincy Professor of CS
Basic Computer Organization and Design
CS 270: Mathematical Foundations of Computer Science
Computer Organization and Architecture + Networks
Control Unit Lecture 6.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
Chap 7. Register Transfers and Datapaths
Overview Instruction Codes Computer Registers Computer Instructions
Overview Control Memory Comparison of Implementations
A Discussion on Assemblers
Computer Science 210 Computer Organization
BASIC COMPUTER ORGANIZATION AND DESIGN
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.
Computer Science 210 Computer Organization
MARIE Instruction Set Architecture
A Discussion on Assemblers
Installing and Using MARIE
Computer Organization and Design
Control Unit Introduction Types Comparison Control Memory
MARIE: An Introduction to a Simple Computer
Systems Architecture I (CS ) Lecture 2: A Simplified Computer
Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
Unit 12 CPU Design & Programming
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture and Organization: L07: Control Sequence
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
MARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer
CS Chapter 4 Dr. Clincy Professor of CS TODAY’S AGENDA
A Discussion on Assemblers
MARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
ECE 352 Digital System Fundamentals
Review: The whole processor
COMPUTER ARCHITECTURE
Presentation transcript:

Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm) Final Project Rollout (12:30pm-12:45pm) Lab 6 (12:45pm-1:45pm) In-class lecture (Lecture 18) Initial team meeting (anywhere outside of classroom – team decides) Dr. Clincy Lecture Slide 1 1

Dr. Clincy Professor of CS CS 3501 - Chapter 4 (Sec 5.1 &5.2) 3 of 5 Dr. Clincy Professor of CS Dr. Clincy Lecture Slide 2 2

A Discussion on Assemblers Mnemonic instructions, such as LOAD 104, are easy for humans to write and understand. Also labels can be used to identify particular memory locations. They are impossible for computers to understand. Assemblers translate instructions that are comprehensible to humans into the machine language that is comprehensible to computers We note the distinction between an assembler and a compiler: In assembly language, there is a one-to-one correspondence between a mnemonic instruction and its machine code. With compilers, this is not usually the case. Assemblers create an object program file from mnemonic source code (assembly program) in two passes. During the first pass, the assembler assembles as much of the program as it can, while it builds a symbol table that contains memory references for all symbols in the program. During the second pass, the instructions are completed using the values from the symbol table. Dr. Clincy Lecture

A Discussion on Assemblers Mnemonic instructions or alphanumeric name Label or Memory location name Consider our example program at the right. Note that we have included two directives HEX and DEC that specify the radix of the constants. The first pass, creates a symbol table and the partially-assembled instructions as shown (ie. doesn’t know X is located at address 104). Also after the first pass, the translated instructions are incomplete Dr. Clincy Lecture

A Discussion on Assemblers After the second pass, the assembler uses the symbol table to fill in the addresses and create the corresponding machine language instructions After the second pass, it knows X is located at address 104 and that is totally translated to machine code Dr. Clincy Lecture

Extending Our Instruction Set So far, all of the MARIE instructions that we have discussed use a direct addressing mode. This means that the address of the operand is explicitly stated in the instruction. It is often useful to employ a indirect addressing, where the address of the address of the operand is given in the instruction If you have ever used pointers in a program, you are already familiar with indirect addressing. Dr. Clincy Lecture

Extending Our Instruction Set We have included three indirect addressing mode instructions in the MARIE instruction set. The first two are LOADI X and STOREI X, where X specifies the address of the operand to be loaded or stored. In RTL : It would be the same conceptually for AddI, SubI, JumpI and JnS MAR  X MBR  M[MAR] MAR  MBR AC  MBR MAR  X MBR  M[MAR] MAR  MBR MBR  AC M[MAR]  MBR LOADI X STOREI X Dr. Clincy Lecture

Extending Our Instruction Set Our first new instruction is the CLEAR instruction. All it does is set the contents of the accumulator to all zeroes. This is the RTL for CLEAR: AC  0 Dr. Clincy Lecture

A Discussion on Decoding As mentioned earlier, the control unit causes the CPU to execute a sequence of steps correctly There are control signals asserted on various components in making the components active A computer’s control unit keeps things synchronized, making sure that bits flow to the correct components as the components are needed. There are two general ways in which a control unit can be implemented: hardwired control and microprogrammed control. With microprogrammed control, a small program is placed into read-only memory in the microcontroller. Hardwired controllers implement this program using digital logic components. There is a direct connection between the control lines and the machine instructions. Dr. Clincy Lecture

A Discussion on Decoding Your text provides a complete list of the register transfer language (or RTN) for each of MARIE’s instructions. The RTL or RTN actually defines the microoperations of the control unit. Each microoperation consists of a distinctive signal pattern that is interpreted by the control unit and results in the execution of an instruction. The signals are fed to combinational circuits within the control unit that carry out the logical operations for the instruction Recall, the RTL for the Add instruction is: MAR  X MBR  M[MAR] AC  AC + MBR Dr. Clincy Lecture

A Discussion on Decoding Each of MARIE’s registers and main memory have a unique address along the datapath (0 through 7). The addresses take the form of signals issued by the control unit. Let us define two sets of three signals. One set, P2, P1, P0, controls reading from memory or a register, and the other set consisting of P5, P4, P3, controls writing to memory or a register. Let’s examine MARIE’s MBR (with address 3) Keep in mind from Ch 2 how registers are configure using flip-flops Dr. Clincy Lecture

A Discussion on Decoding - MBR The MBR register is enabled for reading when P0 and P1 are high The MBR register is enabled for writing when P3 and P4 are high Dr. Clincy Lecture

A Discussion on Decoding We note that the signal pattern just described is the same whether our machine used hardwired or microprogrammed control. In hardwired control, the bit pattern of machine instruction in the IR is decoded by combinational logic. The decoder output works with the control signals of the current system state to produce a new set of control signals. Unique output signal corresponding to the opcode in the IR Produce the series of signals that result in the execution of the microoperations Produces the timing signal for each tick of the clock (sequential logic used here because the series of timing signals is repeated) – for tick, a different group of logic can be activated Dr. Clincy Lecture

A Discussion on Decoding - ADD Timing signal added with instruction bits produce required behavior Bit pattern for the Add = 0011 instruction in the IR. Result Here Control lines and bits controlling the register functions and the ALU Dr. Clincy Lecture

A Discussion on Decoding The hardwired approach is FAST, however, the control logic are tied together via circuits and complex to modify In microprogrammed control, the control can be easier modified In microprogrammed control, instruction microcode produces control signal changes. Machine instructions are the input for a microprogram that converts the 1s and 0s of an instruction into control signals. The microprogram is stored in firmware, which is also called the control store. A microcode instruction is retrieved during each clock cycle. Dr. Clincy Lecture

A Discussion on Decoding All machine instructions are input into the microprogram. The microprogram’s job is to convert the machine instructions into control signals. The hardwired approach, timing signals from the clock are ANDed using combinational logic circuits to invoke signals In the microprogram approach, the instruction microcode produces changes in the data-path signals Dr. Clincy Lecture