Advanced Computer Architecture Lecture 3

Slides:



Advertisements
Similar presentations
Homework Reading Machine Projects Labs
Advertisements

Computer Architecture
8086 [2] Ahad. Internal! External? 8086 vs _bit Data Bus 20_bit Address 8_bit Data Bus 20_bit Address Only external bus of 8088 is.
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.
1 TK2633TK Microprocessor Architecture DR MASRI AYOB.
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
Spring EE 437 Lillevik 437s06-l2 University of Portland School of Engineering Advanced Computer Architecture Lecture 2 NSD with MUX and ROM Class.
MICROPROCESSOR INPUT/OUTPUT
Spring EE 437 Lillevik 437s06-l8 University of Portland School of Engineering Advanced Computer Architecture Lecture 8 Project 3: memory agent Programmed.
Advanced Digital Circuits ECET 146 Week 5 Professor Iskandar Hack ET 221G, Me as I typed this slides.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Spring EE 437 Lillevik 437s06-l24 University of Portland School of Engineering Advanced Computer Architecture Lecture 24 Eight-node distributed.
Unit-III Pipelined Architecture. Basic instruction cycle 6/4/2016MDS_SCOE_UNIT32.
Spring EE 437 Lillevik 437s06-l9 University of Portland School of Engineering Advanced Computer Architecture Lecture 9 DMA controller design.
Spring EE 437 Lillevik 437s06-l16 University of Portland School of Engineering Advanced Computer Architecture Lecture 16 Cache design example Data/tag.
Fall EE 333 Lillevik 333f06-l17 University of Portland School of Engineering Computer Organization Lecture 17 Controller design Microprogramming.
Fall EE 333 Lillevik 333f06-l23 University of Portland School of Engineering Computer Organization Lecture 23 RAID Input/output design RS232 serial.
Fall EE 333 Lillevik 333f06-l13 University of Portland School of Engineering Computer Organization Lecture 13 Controller implementations Register.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Computer and Information Sciences College / Computer Science Department CS 206 D Computer Organization and Assembly Language.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
MACHINE CYCLE AND T-STATE
Spring EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example.
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Computer Organization Lecture 22 Project 6 Hard disk drive Bus arbitration.
Spring EE 437 Lillevik 437s06-l4 University of Portland School of Engineering Advanced Computer Architecture Lecture 4 Project 1 reviews CPU controller.
Networked Embedded Systems Pengyu Zhang & Sachin Katti EE107 Spring 2016 Lecture 11 Direct Memory Access.
1 Lecture 13: Sequential Circuits, FSM Today’s topics:  Sequential circuits  Finite state machines  Single-cycle CPU Reminder: midterm on Tue 10/20.
DIRECT MEMORY ACCESS and Computer Buses
Unit Microprocessor.
Types of format of data transfer
Department of Computer Science and Engineering
COURSE OUTCOMES OF Microprocessor and programming
William Stallings Computer Organization and Architecture 8th Edition
Direct Memory address and 8237 dma controller LECTURE 6
Introduction to the processor and its pin configuration
CPU Sequencing 6/30/2018.
I/O Memory Interface Topics:
EE3541 Introduction to Microprocessors
COMP2121: Microprocessors and Interfacing
Basics of digital systems
Dr. Michael Nasief Lecture 2
DMA CONTROLLER 8257 Features: It is a 4-channel DMA.
8086/8088 Hardware Specifications
8085 Microprocessor Architecture
Advanced Computer Architecture Lecture 14
Overview Peripheral Devices Input-Output Interface
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
CSCI 315 Operating Systems Design
Lecture 13: Sequential Circuits, FSM
Parallel communication interface 8255
Lecture 18 Interrupt 동국대학교 홍유표.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
I/O Systems I/O Hardware Application I/O Interface
Operating Systems Chapter 5: Input/Output Management
8085 Microprocessor Architecture
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
KU College of Engineering Elec 204: Digital Systems Design
8085 Microprocessor Architecture
Advanced Computer Architecture Lecture 1
Wireless Embedded Systems
COMP3221: Microprocessors and Embedded Systems
Advanced Computer Architecture Lecture 11
CPU Sequencing 7/20/2019.
Advanced Computer Architecture Lecture 10
William Stallings Computer Organization and Architecture
Advanced Computer Architecture Lecture 19
Advanced Computer Architecture Lecture 23
Presentation transcript:

Advanced Computer Architecture Lecture 3 CPU model Controller design Lillevik 437s06-l3 University of Portland School of Engineering

Bus: collection of n parallel signals What is a bus? ··· Agent 0 Agent n ··· Signal 0 Signal n Bus Bus: collection of n parallel signals Lillevik 437s06-l3 University of Portland School of Engineering

CPU functional diagram Model Reset/ Clk Ack Busgnt Int C A D Busreq Inta Lillevik 437s06-l3 University of Portland School of Engineering

Inputs Reset/ Places CPU in known state Clk Clock for synchronous logic Ack Indicates bus cycle complete Busgnt Bus granted to CPU Int Interrupt request Lillevik 437s06-l3 University of Portland School of Engineering

Outputs A Address of bus operation (8 bits) D Data for bus operation, it is a bi-directional bus (8 bits) C Control bits indicate type of bus operation (4 bits) Busreq CPU requests use of bus Inta CPU acknowledges an interrupt input Lillevik 437s06-l3 University of Portland School of Engineering

Note: no data read into CPU CPU block diagram PC ROM FSM Tri-State Buffer Breq Inta Bgnt Ack Int C A D Note: no data read into CPU Lillevik 437s06-l3 University of Portland School of Engineering

CPU schematic Instruction Project 2 Lillevik 437s06-l3 University of Portland School of Engineering

Instruction format Data Address Control 7 8 F 10 13 N/A 14 31 4-bits 7 8 F 10 13 N/A 14 31 4-bits 8-bits 8-bits I/O Write 1 No operation I/O Read Mem Write Mem Read Function C0 (read) C1 (write) C2 (memory) C3 (I/O) Data bus driven Lillevik 437s06-l3 University of Portland School of Engineering

Programming the model Create a text file for ROM256x32 All execution starts at PC = 0 User must specify Control, Address, and Data fields Update links and execute B2Logic simulator Lillevik 437s06-l3 University of Portland School of Engineering

Find the instruction? Memory read at address 0xf4 I/O write 0x55 to port 0xa Lillevik 437s06-l3 University of Portland School of Engineering

One CPU, memory agent, I/O agent System Example CPU Memory I/O Pull Ups Clock Reset/ Bus One CPU, memory agent, I/O agent Lillevik 437s06-l3 University of Portland School of Engineering

Timing Signal Agent Data Bus Driven Clk Breq Bgnt Ack Arb CPU/Master Adr Arbiter Slave Ack Lillevik 437s06-l3 University of Portland School of Engineering

Controller design One section of CPU model Finite state machine Synchronous Inputs Outputs Present state  Next state Lillevik 437s06-l3 University of Portland School of Engineering

FSM design Assume: sequential solution  Assume: sequential solution Describe: what your design should do Determine: inputs and outputs Create: state diagram Assign: adjacent states (no glitches) Prepare: next state table Explore: implementation options  Lillevik 437s06-l3 University of Portland School of Engineering

CPU requirements Reset state (asynchronous) Respond to nop instruction Request use of bus Wait until it owns the bus Drive the bus (A, D, C) Wait until bus agent is ready Respond to an interrupt Get next instruction Lillevik 437s06-l3 University of Portland School of Engineering

Nop instruction Purpose: to waste time, but not stop CPU Application Used to wait until an interrupt occurs DMA bus agent signals completion with Int Implementation Check to see if instruction is a nop Insert some wait states in controller Do not drive the bus Lillevik 437s06-l3 University of Portland School of Engineering

Interrupt Purpose: to allow a bus agent to “wake up” CPU Application: DMA bus agent signals completion with Int Implementation Check if Int asserted at end of each bus cycle Response: stop CPU NOTE: interrupts always enabled Lillevik 437s06-l3 University of Portland School of Engineering

Internal signals Definition: signal used by the CPU model that does not appear on the bus Implementation: CPU controller signals Nop input indicates that instruction is a nop Count output increments the PC Ben output enables tri-state drivers Lillevik 437s06-l3 University of Portland School of Engineering

Find the signals? Requirement Signals Reset state Respond to nop instruction Nop Request use of bus Breq Wait until it owns the bus Bgnt Drive the bus (A, D, C) Ben Wait until bus agent is ready Ack Respond to an interrupt Inta Get next instruction Count Lillevik 437s06-l3 University of Portland School of Engineering

FSM design Assume: sequential solution  Assume: sequential solution Describe: what your design should do Determine: inputs and outputs Create: state diagram Assign: adjacent states (no glitches) Prepare: next state table Explore: implementation options   Lillevik 437s06-l3 University of Portland School of Engineering

Partial state diagram Skip over: nop, interrupt, count Focus on bus Request use of bus Wait until it owns the bus Drive the bus (A, D, C) Wait until bus agent is ready Get next instruction Lillevik 437s06-l3 University of Portland School of Engineering

Timing Signal Agent Data Bus Driven Clk Breq Bgnt Ack Arb CPU/Master Adr Arbiter Slave Ack Lillevik 437s06-l3 University of Portland School of Engineering

Find partial state diagram? c f a Reset Inputs, Outputs Lillevik 437s06-l3 University of Portland School of Engineering

Full state diagram Nop Interupt Count: assert at end of loop Check right after reset Add same number of states as a bus cycle Interupt Check at end of bus cycle Enter state with no exit (stop) Count: assert at end of loop Lillevik 437s06-l3 University of Portland School of Engineering

Find full state diagram? b a c d f g h e i l j k Inputs, Outputs Lillevik 437s06-l3 University of Portland School of Engineering

Lillevik 437s06-l3 University of Portland School of Engineering

Find the instruction? Memory read at address 0xf4 I/O write 0x55 to port 0xa 0x a 0a 55 Lillevik 437s06-l3 University of Portland School of Engineering

Find the signals? Requirement Signals Reset state Reset/ Respond to nop instruction Nop Request use of bus Breq Wait until it owns the bus Bgnt Drive the bus (A, D, C) Ben Wait until bus agent is ready Ack Respond to an interrupt Int, Inta Get next instruction Count Lillevik 437s06-l3 University of Portland School of Engineering

Find partial state diagram? Bgnt Bgnt d e Ack Breq Breq, Ben Ack Breq c f Reset Breq, Ben a Reset Lillevik 437s06-l3 University of Portland School of Engineering

Find full state diagram? b a c d f g h e i l j k Reset nop Bgnt Ack Breq Breq, Ben Int Inta Count Lillevik 437s06-l3 University of Portland School of Engineering