Readings, exercises: Chapter 11 (Due: 10/4) Homework keys Study group(s) Prelim 1 10/6!

Similar documents
Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

Dr e v prasad Dt

6 Direct Memory Access (DMA)

Introduction to Embedded System I/O Architectures

Eastern Mediterranean University School of Computing and Technology INPUT / OUTPUT

INPUT/OUTPUT ORGANIZATION


SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

INPUT/OUTPUT ORGANIZATION

Buses. Maurizio Palesi. Maurizio Palesi 1

Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION

CS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices

Interfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis

Chapter 4. MARIE: An Introduction to a Simple Computer. Chapter 4 Objectives. 4.1 Introduction. 4.2 CPU Basics

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub.

Chapter 6. I/O issues

ECE 485/585 Microprocessor System Design

Lecture 13. Storage, Network and Other Peripherals

Lecture 5: Computer Organization Instruction Execution. Computer Organization Block Diagram. Components. General Purpose Registers.

Organisasi Sistem Komputer

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University

Top-Level View of Computer Organization

1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7.

Modes of Transfer. Interface. Data Register. Status Register. F= Flag Bit. Fig. (1) Data transfer from I/O to CPU

Synchronous Bus. Bus Topics

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory.

Babbage Analytical Machine

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals

Design with Microprocessors

ECE 551 System on Chip Design

Homework & Announcements

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others!

HANDLING MULTIPLE DEVICES

I/O Organization John D. Carpinelli, All Rights Reserved 1

SAMBA-BUS: A HIGH PERFORMANCE BUS ARCHITECTURE FOR SYSTEM-ON-CHIPS Λ. Ruibing Lu and Cheng-Kok Koh

EE414 Embedded Systems. Ch 6. Interfacing. Part 4/4: DMA & Arbitration

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals.

2. System Interconnect Fabric for Memory-Mapped Interfaces

COS 140: Foundations of Computer Science

Unit 1. Chapter 3 Top Level View of Computer Function and Interconnection

Design a system that accept data from each independent processor and arbitrate which one is granted access to memory at any one time.

The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence.

Introduction to Input and Output

The D igital Digital Logic Level Chapter 3 1

COSC 243. Input / Output. Lecture 13 Input/Output. COSC 243 (Computer Architecture)

SSC - Concurrency and Multi-threading Advanced topics about liveness

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

INPUT/OUTPUT DEVICES Dr. Bill Yi Santa Clara University

Chapter 3 - Top Level View of Computer Function

Embedded Systems 1: On Chip Bus

Programmed I/O Interrupt-Driven I/O Direct Memory Access (DMA) I/O Processors. 10/12/2017 Input/Output Systems and Peripheral Devices (02-2)

Embedded Systems: Hardware Components (part II) Todor Stefanov

Interconnection Structures. Patrick Happ Raul Queiroz Feitosa

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

3. Controtlto specify the mode of transfer such as read or write 4. A control to start the DMA transfer

Administrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review

Distributed Synchronization. EECS 591 Farnam Jahanian University of Michigan

EEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

INPUT-OUTPUT ORGANIZATION

VME64M VME64 MASTER CONTROLLER. Version 1.1

lecture 21 Input / Output (I/O) 3 - system bus and memory (lectures revisited) - system bus and interrupts - exceptions (lecture 12 revisited)

Computer Systems Organization

Real-time operating systems and scheduling

Lecture #9-10: Communication Methods

CPE/EE 421/521 Fall 2004 Chapter 4 The CPU Hardware Model. Dr. Rhonda Kay Gaede UAH. The CPU Hardware Model - Overview

Redacted for Privacy

The CoreConnect Bus Architecture

Input/Output Introduction

Introduction. Motivation Performance metrics Processor interface issues Buses

8. Interfacing Processors and Peripherals

A+3 A+2 A+1 A. The data bus 16-bit mode is shown in the figure below: msb. Figure bit wide data on 16-bit mode data bus

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

Device-Functionality Progression

Chapter 12: I/O Systems. I/O Hardware

Simultaneous Multi-Mastering with the Avalon Bus

Unit DMA CONTROLLER 8257

ECE468 Computer Organization and Architecture. OS s Responsibilities

Lecture 13 Input/Output (I/O) Systems (chapter 13)

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP

Digital Logic Level. Buses PCI (..continued) PTE MIK MIT

Computer Architecture CS 355 Busses & I/O System

Ref: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1

Computer Systems Assignment 4: Scheduling and I/O

Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture

A MULTIPROCESSOR SYSTEM. Mariam A. Salih

A Basic Snooping-Based Multi-Processor Implementation

Module 12: I/O Systems

Microprocessors & Interfacing

Module 3. Embedded Systems I/O. Version 2 EE IIT, Kharagpur 1

Bus Example: Pentium II

Interrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1

APPLICATION NOTE PACE P1754 PIC SYSTEM TEST

This page intentionally left blank

COMP I/O, interrupts, exceptions April 3, 2016

Interrupt/Timer/DMA 1

Reading and References. Input / Output. Why Input and Output? A typical organization. CSE 410, Spring 2004 Computer Systems

INTERFACING THE ISCC TO THE AND 8086

Transcription:

Homework Readings, exercises: Chapter 11 (Due: 10/4) Homework keys Study group(s) Prelim 1 10/6! Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 20

COS 140: Foundations of : Daisy Chain Buses Fall 2017 Copyright c 2002 2017 UMaine School of Computing and Information S 2 / 20

The problem The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology Need to get information from one component to another Components can be: functional units inside the CPU CPU and memory CPU/memory and I/O devices Maybe too expensive/impractical to have point-to-point communication How to have devices share communication pathways? Copyright c 2002 2017 UMaine School of Computing and Information S 3 / 20

The problem The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology Need to get information from one component to another Components can be: functional units inside the CPU CPU and memory CPU/memory and I/O devices Maybe too expensive/impractical to have point-to-point communication How to have devices share communication pathways? Use a communication bus Copyright c 2002 2017 UMaine School of Computing and Information S 3 / 20

What is a Bus? The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology The method of communication between components of the architecture. Multiple lines. Each line sends a 1 or 0. Lines are grouped together and bits are sent in parallel. Multiple devices can send and receive. No privacy. If all devices send, have a garbled message. Copyright c 2002 2017 UMaine School of Computing and Information S 4 / 20

Communication with Memory The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology words of data read or written to memory address of word control to specify read or write Copyright c 2002 2017 UMaine School of Computing and Information S 5 / 20

Communication with the I/O Module The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology data address read or write control select for a particular I/O device interrupt CPU Copyright c 2002 2017 UMaine School of Computing and Information S 6 / 20

Communication with the CPU The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology read instructions read and write data control signals to make system work handle interrupts Copyright c 2002 2017 UMaine School of Computing and Information S 7 / 20

Interrupts The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology Interrupts alert CPU to something important that has happened CPU does not have to constantly check for each potential situation. Devices put a 1 on an interrupt line to signal interrupt CPU checks for interrupts at specific points in its functioning. If it finds an interrupt, it suspends what it is doing (e.g., the user s program) to handle the interrupt. When the interrupt has been handled, the CPU returns to what it was doing before the interrupt was discovered. Copyright c 2002 2017 UMaine School of Computing and Information S 8 / 20

Some Bus Terminology The problem What is a Bus? Memory the I/O Module the CPU Interrupts Some Bus Terminology System bus: connects memory, CPU and I/O Bus width: number of lines Assert: put information on a line Negate: remove information from a line Copyright c 2002 2017 UMaine School of Computing and Information S 9 / 20

Centralized Arbitration Decentralized Arbitration No physical reason why all devices on the bus can t use the bus at the same time If more than one device tries to send information on the bus at once: information garbled Bus arbitration: controls which device will get the bus. Many schemes for bus arbitration for each all devices have to follow the rules do not send information unless they have permission Copyright c 2002 2017 UMaine School of Computing and Information S 10 / 20

Centralized Arbitration Centralized Arbitration Decentralized Arbitration One arbiter makes choice and informs devices on bus. Advantage: Can use very simple scheme to select which device will have control. Devices do not have to put any resources toward arbitration. Disadvantages: Cost of arbiter. Single point of failure at arbiter. If arbiter goes down, can t use the bus. Copyright c 2002 2017 UMaine School of Computing and Information S 11 / 20

Decentralized Arbitration Centralized Arbitration Decentralized Arbitration All devices participate in selecting which device will control the bus next. Advantages: Less costly because do not have to have an arbiter. If a device goes down, can continue to use bus. Disadvantage: Schemes are more complicated than those for centralized arbitration. Copyright c 2002 2017 UMaine School of Computing and Information S 12 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line The bus has additional control lines: grant, request, and release Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line When a device wants the bus it asserts its request line Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line The arbiter senses the request, then it asserts the grant line Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line If a node (a bus master) receives the grant line, but hasn t requested the bus, it passes it through Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line When the node requesting the bus gets the grant line, it can start using the bus Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line When the node is done with the bus, it releases the request line Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line It then tells the arbiter it s done by raising the release line Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line The arbiter then drops the grant line Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line At this point, it s back to the initial state Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Architecture Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line Now another device can request the bus Copyright c 2002 2017 UMaine School of Computing and Information S 13 / 20

Daisy Chaining Issues Issues Priorities Arbiter Device 1 Device 2 Device 3 Release Line How do devices know that the bus is busy and they can t take control? Which device most often gets control of the bus? Do you think that s fair? Can one device suffer from starvation never getting any resources? Copyright c 2002 2017 UMaine School of Computing and Information S 14 / 20

Adding Priorities to Daisy Chaining Issues Priorities Arbiter Device 1 Device 1 Device 2 Device 3 Device 2 Device 3 Highest Priority Can add request and grant lines to create priorities. Devices are assigned priorities and make requests and seek grants of the bus from the lines for their priorities. Can have several priority levels. Device 1 Device 2 Device 3 Lowest Priority The arbiter has to assert the grant line corresponding to the highest priority request line that is asserted. For each priority level, arbitration works the same way for the device. Copyright c 2002 2017 UMaine School of Computing and Information S 15 / 20

Hidden Arbitration Hidden arbitration In current scheme, arbitration occurs when the bus is available. Data is not sent when arbitration is going on. Less data sent over the bus waste time on arbitration. Hidden arbitration means that arbitration takes place while the bus is being used, so arbitration is hidden from the bus usage. Copyright c 2002 2017 UMaine School of Computing and Information S 16 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus The device that controls the bus is chosen in the same way as with regular daisy chaining. Copyright c 2002 2017 UMaine School of Computing and Information S 17 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus The device that controls the bus is chosen in the same way as with regular daisy chaining. When a device takes control of the bus, it asserts an acknowledgment (ACK) line, which is noticed by arbiter Copyright c 2002 2017 UMaine School of Computing and Information S 17 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus The device that controls the bus is chosen in the same way as with regular daisy chaining. When a device takes control of the bus, it asserts an acknowledgment (ACK) line, which is noticed by arbiter The arbiter then negates the grant line Copyright c 2002 2017 UMaine School of Computing and Information S 17 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus Once grant line is negated... Copyright c 2002 2017 UMaine School of Computing and Information S 18 / 20

Hidden Arbitration in Daisy Chaining Arbiter Hidden arbitration ACK Device 1 Device 2 Device 3 Bus Once grant line is negated... Others may request bus... Copyright c 2002 2017 UMaine School of Computing and Information S 18 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus Once grant line is negated... Others may request bus...and are selected in the usual way Copyright c 2002 2017 UMaine School of Computing and Information S 18 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus Once grant line is negated... Others may request bus...and are selected in the usual way When the first device is finished, it negates ACK line Copyright c 2002 2017 UMaine School of Computing and Information S 18 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus Once grant line is negated... Others may request bus...and are selected in the usual way When the first device is finished, it negates ACK line Next device starts using bus as soon as ACK negated Copyright c 2002 2017 UMaine School of Computing and Information S 18 / 20

Hidden Arbitration in Daisy Chaining Hidden arbitration Arbiter ACK Device 1 Device 2 Device 3 Bus Once grant line is negated... Others may request bus...and are selected in the usual way When the first device is finished, it negates ACK line Next device starts using bus as soon as ACK negated Copyright c 2002 2017 UMaine School of Computing and Information S 18 / 20

Chain The arbiter is replaced with an asserted grant line. Add a busy line to show when bus is busy and cannot change grant line. Take control of bus as with centralized daisy chain (with addition of busy line). Copyright c 2002 2017 UMaine School of Computing and Information S 19 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus Initially, grant line passed throughout chain Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus When device wants bus and busy negated, negate grant line, assert busy Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus Takes control of bus Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus If another wants bus, senses busy, waits Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus When finished, negates busy Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus Device wanting bus now notices busy negated, asserts it and negates grant downstream Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20

Decentralized 1 Busy Line Device 1 Device 2 Device 3 Bus Device begins using bus Copyright c 2002 2017 UMaine School of Computing and Information S 20 / 20