Bus Architecture Memory unit AR PC DR E ALU AC INPR 16-bit Bus IR TR

Slides:



Advertisements
Similar presentations
The Fetch – Execute Cycle
Advertisements

PART 5: (2/2) Processor Internals CHAPTER 15: CONTROL UNIT OPERATION 1.
ARITHMETIC LOGIC SHIFT UNIT
Chapter 10 Input/Output Organization. Connections between a CPU and an I/O device Types of bus (Figure 10.1) –Address bus –Data bus –Control bus.
Processor System Architecture
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Basic Input/Output Operations
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
5 Computer Organization
Computer Organization and Architecture
Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
SAP1 (Simple-As-Possible) Computer
Bus Architecture Memory unit AR PC DR E ALU AC INPR 16-bit Bus IR TR
Computer System Architecture ESGD2204
Chapter No 5 Basic Computer Organization And Design.
1 Basic Computer Organization & Design Computer Organization Computer Architectures Lab BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Bus Architecture Memory unit AR PC DR E ALU AC INPR 16-bit Bus IR TR
Chapter 4 MARIE: An Introduction to a Simple Computer.
CPU Design. Introduction – The CPU must perform three main tasks: Communication with memory – Fetching Instructions – Fetching and storing data Interpretation.
Exam2 Review Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.
CSC321 Making a Computer Binary number system → Boolean functions Boolean functions → Combinational circuits Combinational circuits → Sequential circuits.
Lecture 14 Today’s topics MARIE Architecture Registers Buses
1 Purpose of This Chapter In this chapter we introduce a basic computer and show how its operation can be specified with register transfer statements.
M. Mateen Yaqoob The University of Lahore Spring 2014.
Lec 5 Basic Computer Organization
5-6 Memory Ref. Instruction
M. Mateen Yaqoob The University of Lahore Spring 2014
CSE 241 Computer Organization Lecture # 8 Ch. 7 Control Unit Dr. Tamer Samy Gaafar Dept. of Computer & Systems Engineering.
1 Basic Computer Organization & Design Computer Organization Prof. H. Yoon BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers.
Instruction.
Ch5. 기본 컴퓨터의 구조와 설계.
Interrupt Driven I/O on the Mano CPU Doing things decently and in order.
GROUP 2 CHAPTER 16 CONTROL UNIT Group Members ๏ Evelio L. Hernandez ๏ Ashwin Soerdien ๏ Andrew Keiper ๏ Hermes Andino.
COMMON BUS SYSTEM Registers The registers in the Basic Computer are connected using a bus This gives a savings in circuitry over complete connections between.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Control Unit Operations Chapter10:. What is Control Unit (CU)?(1)  Part of a CPU or other device that directs its operation.  Tells the rest of the.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
Basic Computer The following discussions are based on a fictitious computer called “Basic Computer” by the author of the textbook It’s a much better way.
Jeremy R. Johnson William M. Mongan
Basic Computer Organization - Part 2 Designing your first computer
1 BASIC COMPUTER ORGANIZATION AND DESIGN Instruction Codes Computer Registers Computer Instructions Timing and Control Instruction Cycle Memory Reference.
Chapter 5 Computer Organization TIT 304/TCS 303. Purpose of This Chapter In this chapter we introduce a basic computer and show how its operation can.
Basic Computer Organization and Design
Control Unit Operation
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Symbol Hex Code Description I=0 I=1
William Stallings Computer Organization and Architecture
ADVANCED PROCESSOR ARCHITECTURE
William Stallings Computer Organization and Architecture 7th Edition
Computer Organization and Design
BASIC COMPUTER ORGANIZATION AND DESIGN
Overview Instruction Codes Computer Registers Computer Instructions
Chapter 15 Control Unit Operation
BASIC COMPUTER ORGANIZATION AND DESIGN
BASIC COMPUTER ORGANIZATION AND DESIGN
By: A. H. Abdul Hafez CAO, by Dr. A.H. Abdul Hafez, CE Dept. HKU
سازمان و طراحي کامپيوتر پايه.
Instruction and Control II
MARIE: An Introduction to a Simple Computer
Computer Architecture and Organization: L11: Design Control Lines
William Stallings Computer Organization and Architecture 7th Edition
Chapter 14 Control Unit Operation
By: A. H. Abdul Hafez Computer Architecture and Organization: L06: Stored program and Instruction code.
Computer Architecture and Organization: L07: Control Sequence
Presentation transcript:

Bus Architecture Memory unit AR PC DR E ALU AC INPR 16-bit Bus IR TR Access Select Memory unit 4096x16 111 S1 address S0 AR 001 PC 010 DR 16-bit Bus 011 E ALU AC 100 INPR IR 101 TR 110 OUTR clock CSC321

Instruction Format I opcode address I = 0 means direct memory address 15 14 12 11 I opcode address I = 0 means direct memory address I = 1 means indirect memory address CSC321

The Control Unit Control Unit Instruction Register (IR) 15 14 - 12 11 - 0 Other Inputs 3x8 Decoder 12 Control Unit D7 – D0 n I T15 – T0 4x16 Decoder Increment Sequence Counter Clear Master Clock CSC321

Decoding the Instruction We’ve seen how to fetch and decode instructions in RTL notation We now need to look at how to execute each instruction T0 T1 T2 = 1, register or I/O = 0, memory reference = 1, I/O = 0, register = 1, indirect = 0, direct T3 T3 T3 T3 CSC321

Input/Output Instructions Recall the I/O instructions posed a potential problem Their purpose is to set up loop structures waiting for an input/output device to become available This could cause large amounts of valuable time to be wasted CSC321

Interrupts To alleviate this problem we introduce interrupts into the system Two instructions enable and disable interrupts Sometimes we don’t want to be interrupted such as when we’re doing something important or we’re already servicing and interrupt ION (enable interrupts) D7IT3B7: IEN ← 1, SC ← 0 IOF (disable interrupts) D7IT3B6: IEN ← 0, SC ← 0 We also introduce another flip-flop, R, which tells the system when there is an interrupt to be handled CSC321

Interrupt Cycle Interrupts are subroutine calls with a couple of differences They come at arbitrary times during program execution The start address of the interrupt service routine (subroutine) is a predetermined, fixed location in memory CSC321

Interrupt Cycle Set up the interrupt service routine The interrupt service routine ends with a BUN to indirect address 0 = 0 = 1 = 0 = 1 = 1 = 0 I/O device is ready so signal an interrupt = 1 Once set-up, the system carries on as usual = 0 CSC321

Interrupt Cycle INTERRUPT SERVICE ROUTINE INTERRUPT SERVICE ROUTINE Interrupt cycle sets return address here and PC here PC is here when the interrupt occurred BUN 0x51 0x00 0x01 1 INTERRUPT SERVICE ROUTINE 0x10 0x11 0x11 BUN 0x51 0x00 0x01 1 INTERRUPT SERVICE ROUTINE 0x10 CSC321

Interrupt Cycle Implementation To implement the interrupt cycle we introduce the R flip-flop\ To utilize it we modify our fetch/decode RTL as follows CSC321

Modified Fetch/Decode It was this… We modify it to this… T0: AR ← PC T1: IR ← M[AR], PC ← PC + 1 T2: D0, … D7 ← Decode IR(12-14), AR ← IR(0-11), I ← IR(15) R’T0: AR ← PC R’T1: IR ← M[AR], PC ← PC + 1 R’T2: D0, … D7 ← Decode IR(12-14), AR ← IR(0-11), I ← IR(15) CSC321

Modified Fetch/Decode We must also add the interrupt cycle handler RTL… RT0: AR ← 0, TR ← PC RT1: M[AR] ← TR, PC ← 0 RT2: PC ← PC + 1, IEN ← 0, R ← 0, SC ← 0 CSC321

Remainder of Chapter 5 The remainder of the chapter discusses how to convert the Control Unit RTL into logic gates This is really nothing more than defining AND/OR/NOT/XOR gates to handle the conditions on the RTL statements Thus, I’m not going to spend any time on it and won’t hold you accountable for it but… You should read it over once to get a feel for how all this stuff ties together CSC321

Homework Problems 5-9, 5-10, 5-11, 5-12 Due next lecture CSC321

Sequence Counter CPU Registers Memory Location SC PC IR AR DR I AC 135 5135 3160 DA00 2150 C135 FFFF 47 48 1355 1365 1375 1505 Initial Memory Contents 0C00 A0A0 01FF PC IR AR DR AC I 1 CSC321