William Stallings Computer Organization. 7 th Edition. Chapter 3 System Buses

Similar documents
MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Read this before starting!

Chapter 1 Computer System Overview

Microprocessor & Assembly Language

Central Processing Unit

Computer Systems Structure Input/Output

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

COMPUTER ARCHITECTURE. Input/Output

Chapter 2 Logic Gates and Introduction to Computer Architecture

(Refer Slide Time: 00:01:16 min)

MICROPROCESSOR AND MICROCOMPUTER BASICS

Serial Communications

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Computer Organization & Architecture Lecture #19

Let s put together a Manual Processor

Computer Organization. and Instruction Execution. August 22

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

What is a bus? A Bus is: Advantages of Buses. Disadvantage of Buses. Master versus Slave. The General Organization of a Bus

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 5 INPUT/OUTPUT UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

CHAPTER 7: The CPU and Memory

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

PART B QUESTIONS AND ANSWERS UNIT I

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

A s we saw in Chapter 4, a CPU contains three main sections: the register section,

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

21152 PCI-to-PCI Bridge

Central Processing Unit (CPU)

DS1104 R&D Controller Board

INPUT/OUTPUT ORGANIZATION

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

Computer organization

Computer Systems Structure Main Memory Organization

Traditional IBM Mainframe Operating Principles

MACHINE ARCHITECTURE & LANGUAGE

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

Chapter 11 I/O Management and Disk Scheduling

Switch Fabric Implementation Using Shared Memory

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

CHAPTER 11: Flip Flops

Instruction Set Architecture. Datapath & Control. Instruction. LC-3 Overview: Memory and Registers. CIT 595 Spring 2010

Memory Elements. Combinational logic cannot remember

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

CSE2102 Digital Design II - Topics CSE Digital Design II

PROGRAMMABLE LOGIC CONTROL

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

CPU Organisation and Operation

Programming Logic controllers

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Architectures and Platforms

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Programming A PLC. Standard Instructions

Interconnection Networks

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Series Six Plus Programmable Controller

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

LADDER LOGIC/ FLOWCHART PROGRAMMING DIFFERENCES AND EXAMPLES

2011, The McGraw-Hill Companies, Inc. Chapter 5

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

National CR16C Family On-Chip Emulation. Contents. Technical Notes V

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.

Chapter 11 I/O Management and Disk Scheduling

Big Picture. IC220 Set #11: Storage and I/O I/O. Outline. Important but neglected

Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

PCI-to-PCI Bridge Architecture Specification. Revision 1.1

Computer-System Architecture

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

An Introduction to the ARM 7 Architecture

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

The Central Processing Unit:

1. Computer System Structure and Components

BASIC COMPUTER ORGANIZATION AND DESIGN

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

ARM Ltd 110 Fulbourn Road, Cambridge, CB1 9NJ, UK.

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Storage. The text highlighted in green in these slides contain external hyperlinks. 1 / 14

a8251 Features General Description Programmable Communications Interface

Exception and Interrupt Handling in ARM

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Chapter 13. PIC Family Microcontroller

A New Paradigm for Synchronous State Machine Design in Verilog

Quiz for Chapter 6 Storage and Other I/O Topics 3.10

TIMING DIAGRAM O 8085

MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Chapter 6. Inside the System Unit. What You Will Learn... Computers Are Your Future. What You Will Learn... Describing Hardware Performance

CSCI 4717 Computer Architecture. Function. Data Storage. Data Processing. Data movement to a peripheral. Data Movement

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

EC313 - VHDL State Machine Example

Transcription:

William Stallings Computer Organization and Architecture 7 th Edition Chapter 3 System Buses

Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given correct control signals Instead of re-wiring, supply a new set of control signals

What is a program? A sequence of steps For each step, an arithmetic or logical operation is done For each operation, a different set of control signals is needed

Function of Control Unit For each operation a unique code is provided e.g. ADD, MOVE A hardware segment accepts the code and issues the control signals We have a computer!

Components The Control Unit and the Arithmetic and Logic Unit constitute the Central Processing Unit Data and instructions need to get into the system and results out Input/output Temporary storage of code and results is needed Main memory

Computer Components: Top Level View

Instruction Cycle Two steps: Fetch Execute

Fetch Cycle Program Counter (PC) holds address of next instruction to fetch Processor fetches instruction from memory location pointed to by PC Increment PC Unless told otherwise Instruction loaded into Instruction Register (IR) Processor interprets instruction and performs required actions

Execute Cycle Processor-memory data transfer between CPU and main memory Processor I/O Data transfer between CPU and I/O module Data processing Some arithmetic or logical operation on data Control Alteration of sequence of operations e.g. jump Combination of above

Example of Program Execution

Instruction Cycle State Diagram

Interrupts Mechanism by which other modules (e.g. I/O) may interrupt normal sequence of processing Program e.g. overflow, division by zero Timer Generated by internal processor timer Used in pre-emptive multi-tasking I/O from I/O controller Hardware failure e.g. memory parity error

Transfer of Control via Interrupts

Instruction Cycle with Interrupts

Instruction Cycle (with Interrupts) - State Diagram

Multiple Interrupts Disable interrupts Processor will ignore further interrupts whilst processing one interrupt Interrupts remain pending and are checked after first interrupt has been processed Interrupts handled in sequence as they occur Define priorities Low priority interrupts can be interrupted by higher priority interrupts When higher priority interrupt has been processed, processor returns to previous interrupt

Multiple Interrupts - Sequential

Multiple Interrupts Nested

Time Sequence of Multiple Interrupts

Connecting - Computer Busses All the units must be connected Different type of connection for different type of unit Memory Input/Output CPU

Computer Modules

Memory Connection Receives and sends data Receives addresses (of locations) Receives control signals Read Write Timing

Input/Output Connection(1) Similar to memory from computer s viewpoint Output Receive data from computer Send data to peripheral Input Receive data from peripheral Send data to computer

Input/Output Connection(2) Receive control signals from computer Send control signals to peripherals e.g. spin disk Receive addresses from computer e.g. port number to identify peripheral Send interrupt signals (control)

CPU Connection Reads instruction and data Writes out data (after processing) Sends control signals to other units Receives (& acts on) interrupts

Buses There are a number of possible interconnection systems Single and multiple BUS structures are most common e.g. Control/Address/Data bus (PC) e.g. Unibus (DEC-PDP)

What is a Bus? A communication pathway connecting two or more devices Usually broadcast Often grouped A number of channels in one bus e.g. 32 bit data bus is 32 separate single bit channels Power lines may not be shown

Data Bus Carries data Remember that there is no difference between data and instruction at this level Width is a key determinant of performance 8, 16, 32, 64 bit

Address bus Identify the source or destination of data e.g. CPU needs to read an instruction (data) from a given location in memory Bus width determines maximum memory capacity of system e.g. 8080 has 16 bit address bus giving 64k address space

Control Bus Control and timing information Memory read/write signal Interrupt request Clock signals

Bus Interconnection Scheme

Big and Yellow? What do buses look like? Parallel lines on circuit boards Ribbon cables Strip connectors on mother boards e.g. PCI Sets of wires

Physical Realization of Bus Architecture

Single Bus Problems Lots of devices on one bus leads to: Propagation delays Long data paths mean that co-ordination of bus use can adversely affect performance If aggregate data transfer approaches bus capacity Most systems use multiple buses to overcome these problems

Traditional (ISA) (with cache)

High Performance Bus

Bus Types Dedicated Separate data & address lines Multiplexed Shared lines Address valid or data valid control line Advantage - fewer lines Disadvantages More complex control Ultimate performance

Timing Co-ordination of events on bus Synchronous Events determined by clock signals Control Bus includes clock line A single 1-0 is a bus cycle All devices can read clock line Usually sync on leading edge Usually a single cycle for an event

Synchronous Timing Diagram

Asynchronous Timing Read Diagram

Asynchronous Timing Write Diagram

PCI Bus Peripheral Component Interconnection Intel released to public domain 32 or 64 bit 50 lines

PCI Bus Lines (required) Systems lines Including clock and reset Address & Data 32 time mux lines for address/data Interrupt & validate lines Interface Control Arbitration Not shared Direct connection to PCI bus arbiter Error lines

PCI Bus Lines (Optional) Interrupt lines Not shared Cache support 64-bit Bus Extension Additional 32 lines Time multiplexed 2 lines to enable devices to agree to use 64-bit transfer JTAG/Boundary Scan For testing procedures

PCI Commands Transaction between initiator (master) and target Master claims bus Determine type of transaction e.g. I/O read/write Address phase One or more data phases

PCI Bus Arbiter

Foreground Reading Stallings, chapter 3 (all of it) www.pcguide.com/ref/mbsys/buses/ In fact, read the whole site! www.pcguide.com/

Review Questions In examining the difference between hardwired systems and ones that are programmable, the advantage is that programmable ones can change their function without having to be rewired. A program is a sequence of steps where for each step an operation is done. For each operation a different set of control signals is used. The control unit decodes operation codes and generates hardware control signals which make things happen in a computer Every instruction cycle has two steps, fetch and execute. The program counter holds the address of the next instruction. The execute cycle includes processor memory interaction, processor interaction with I/O devices, data processing, control of devices, or a combination of all the above. Interrupts are a mechanism by which other modules may interrupt the normal sequence of processing. Interrupts allow time critical processing to be done. An instruction cycle with interrupts includes a check for the interrupt after the execute cycle of the instruction. If the interrupt flag or request is pending and then the interrupt routine is executed by calling the interrupt service routine through a vector dedicated to the interrupt.

Multiple interrupts can be implemented in two ways. One is sequential in that interrupts remain pending until the current one is finished. The second way to accomplish multiple interrupts is to establish hardware priorities with the interrupt request lines. The highest priority interrupt is the one that's executed first. Interrupts can be processed either one at a time in sequence or nested where interrupts can interrupt another interrupt. All units in the computer must be interconnected so a method for providing this is through buses. All the modules of a computer involve sending and receiving data, transfers of addresses, and control lines. A wires used for transfer and control are grouped together within the computer to form a bus. A bus is a communication pathway connecting multiple devices. A data bus carries data which includes both instructions and numbers. An address bus is used to identify the source or destination of data. The bus width of an address bus determines the maximum memory capacity of the system.

A control bus allows the common grouping of control signals including read write, interrupt request, and clock. If a single bus is used then lots devices can be placed on one bus but this leads to propagation delays. Some systems use multiple buses to overcome propagation problems. Systems with multiple buses have the highest speed buses closest to the CPU, then bridges are used to connect slower buses to the higher speed buses. Buses can have dedicated wires where a single wire is used for each signal. Buses can be multiplexed where lines are shared in time. In almost any multiplexed bus, address and data lines are combined onto a single set of wires. Synchronous timing on buses require uniform beginning and ending times for transfers. Asynchronous timing on buses always require an acknowledge signal to notify completion of a task or transfer. PCI bus has control established between a master and targets. This way the Master determines the type and timing of transactions that take place.