Synchronous Bus. Bus Topics

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

Buses. Maurizio Palesi. Maurizio Palesi 1

Lecture 25: Busses. A Typical Computer Organization

Introduction to Embedded System I/O Architectures

Interconnection Structures. Patrick Happ Raul Queiroz Feitosa

ECE 551 System on Chip Design

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

Ref: AMBA Specification Rev. 2.0

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

PCI and PCI Express Bus Architecture

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

SONICS, INC. Sonics SOC Integration Architecture. Drew Wingard. (Systems-ON-ICS)

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

Lecture 13: Bus and I/O. James C. Hoe Department of ECE Carnegie Mellon University

INPUT/OUTPUT ORGANIZATION

White Paper AHB to Avalon & Avalon to AHB Bridges

SECTION 2 SIGNAL DESCRIPTION

INPUT/OUTPUT ORGANIZATION

SPI 3-Wire Master (VHDL)

Input/Output Introduction

Introduction. Motivation Performance metrics Processor interface issues Buses

INPUT-OUTPUT ORGANIZATION

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

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

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

VME64M VME64 MASTER CONTROLLER. Version 1.1

2. System Interconnect Fabric for Memory-Mapped Interfaces

Chapter 9 External Memory Interface (Port A)

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

The D igital Digital Logic Level Chapter 3 1

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.

60x Bus. What you will learn 13-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

Application Note AN2247/D Rev. 0, 1/2002 Interfacing the MCF5307 SDRAMC to an External Master nc... Freescale Semiconductor, I Melissa Hunter TECD App

EECS 373 Design of Microprocessor-Based Systems

CPE/EE 421 Microcomputers

System Buses Ch 3. Computer Function Interconnection Structures Bus Interconnection PCI Bus. 9/4/2002 Copyright Teemu Kerola 2002

This page intentionally left blank

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

Keywords- AMBA, AHB, APB, AHB Master, SOC, Split transaction.

Hardware Design. University of Pannonia Dept. Of Electrical Engineering and Information Systems. MicroBlaze v.8.10 / v.8.20

Freescale Semiconductor, Inc. Application Note AN1795/D Rev. 1.1, 6/2003 Designing PowerPC MPC7400 Systems nc... Freescale Semiconductor, I This appli

EECS 373 Design of Microprocessor-Based Systems

Chapter Operation Pinout Operation 35

Chapter 6. I/O issues

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration

Recap: What is virtual memory? CS152 Computer Architecture and Engineering Lecture 22. Virtual Memory (continued) Buses

Embedded Systems 1: On Chip Bus

Lattice Memory Mapped Interface and Lattice Interrupt Interface User Guide

Design of an Efficient FSM for an Implementation of AMBA AHB in SD Host Controller

Utilizing the Burst Mode Flash in a Motorola MPC555 System

Introduction to Input and Output

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

EECS 373 Design of Microprocessor-Based Systems

DP8420V 21V 22V-33 DP84T22-25 microcmos Programmable 256k 1M 4M Dynamic RAM Controller Drivers

DP8420A,DP8421A,DP8422A

The CoreConnect Bus Architecture

Bus (Väylä) Stallings: Ch 3 What moves on Bus? Bus characteristics PCI-bus PCI Express

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

Chapter 5 Input/Output Organization. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

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

E-bone interconnect specification Version 1.3

ECE 485/585 Microprocessor System Design

PowerSpan II TM Initialization Application Note

Interface Synthesis. Communication Synthesis

Computer Science 146. Computer Architecture

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

The RM9150 and the Fast Device Bus High Speed Interconnect

Page 1. ElapC5 05/11/2012 ELETTRONICA APPLICATA E MISURE 2012 DDC 1. C5 Bus protocols. Ingegneria dell Informazione

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

Lecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )

ECE468 Computer Organization and Architecture. OS s Responsibilities

EECS 373 Design of Microprocessor-Based Systems

Hardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved

Architecture Specification

AIRbus Interface. Features Fixed width (8-, 16-, or 32-bit) data transfers (dependent on the width. Functional Description. General Arrangement

Bus Interfaces and Standards. Zeljko Zilic

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

Lecture 13. Storage, Network and Other Peripherals

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

MPC2605/D Rev. 11, 2/2002. Integrated Secondary Cache for Microprocessors That Implement PowerPC Architecture

PCI-X Addendum to the PCI Compliance Checklist. Revision 1.0a

AHB-Lite Multilayer Interconnect IP. AHB-Lite Multilayer Interconnect IP User Guide Roa Logic, All rights reserved

SoC Interconnect Bus Structures

Lecture 10 Introduction to AMBA AHB

EECS 373 Design of Microprocessor-Based Systems

Design with Microprocessors

INTERFACING THE ISCC TO THE AND 8086

Redacted for Privacy

Introduction to VME. Laboratory for Data Acquisition and Controls. Last modified on 4/16/18 5:19 PM

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

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

Errata and Clarifications to the PCI-X Addendum, Revision 1.0a. Update 3/12/01 Rev P

ORCA Series 4 MPI/System Bus

4 Multiplexer. Y Fig Keyboard Scan Matrix

6 Direct Memory Access (DMA)

isplever Multi-Channel DMA Controller User s Guide February 2006 ipug11_04.0

ECE 485/585 Microprocessor System Design

Unit 5. Memory and I/O System

Transcription:

Bus Topics You should be familiar by now with the basic operation of the MPC823 bus. In this section, we will discuss alternative bus structures and advanced bus operation. Synchronization styles Arbitration: supporting multiple masters Burst transfers Pipelining Address/data multiplexing ADDR DA ENABLE Synchronous Bus A1 A2 D1 D2 Split transactions Synchronization: How do master & slave agree on when data is valid, or when transaction is over? 1. Synchronous ( fully synchronous) 2. Semi-synchronous 3. Asynchronous Everything synchronized to bus clock, every transaction takes one clock cycle All master outputs valid on rising edge of, stay valid through falling edge of ; slave output (for read) valid by falling edge of Setup & hold times part of bus specification Advantage: Disadvantages: EECS 373 F99 Notes 10-1 1998, 1999 Steven K. Reinhardt

Semisynchronous Bus Semisync Bus (cont d) ADDR DA ENABLE A1 A2 D1 D2 Variation: replace ACK with WAIT; assume minimum transaction time unless device asserts WAIT ACK or WAIT can be driven by: device itself (if it provides such a thing) wait state generator : dedicated counter/fsm logic, delays ENABLE by fixed number of cycles to generate ACK (based on device response time) ACK Everything synchronized to bus clock, but transactions take variable number of cycles Slave asserts ACK to indicate that data is valid at clock edge (must be synchronized to clock) Control signal edges convey no timing information Minimum transaction usually multiple cycles (2 in example, on MPC823; 4 on 8086) Extra clock cycles between start and end (due to late ACK) are called wait states EECS 373 F99 Notes 10-2 1998, 1999 Steven K. Reinhardt

ADDR DA Asynchronous Bus A1 A2 D1 D2 Asynchronous Bus (cont d) M68000 can be operated in this fashion (slaves can ignore clock and use control signal edges only) key: ACK is asynchronous; no setup time w.r.t. clock STROBE ACK No clock: all timing based on control signal edges: STROBE: master to slave valid signal (slave reads on falling edge) ACK: slave to master valid signal (master reads on falling edge) synchronized internally to CPU partially interlocked: bus specifies minimum, maximum pulse widths for STROBE & ACK relies on devices to meet spec, breaks if pulses too short or too long PC parallel (printer) interface is like this Advantages: fully interlocked: no device timing dependencies 1. master asserts STROBE until it sees ACK Disadvantages: 2. slave asserts ACK until it sees STROBE deasserted EECS 373 F99 Notes 10-3 1998, 1999 Steven K. Reinhardt

Who gets to be master next? Bus Arbitration MPC823 protocol is typical, see section 13.4.6. Three control signals are used: BR (Bus Request) from master to arbiter: I want bus one per master: BR0, BR1, etc. BG (Bus Grant) from arbiter to master: you can have it next BG0, BG1, etc. BB (Bus Busy) Arbitration Protocol Arbiter looks at all BR signals, asserts exactly one BG may use priorities or round-robin To become master: 1. assert BR 2. wait for (BG and not BB) 3. deassert BR, assert BB 4. do transaction 5. deassert BB shared among masters (open-collector wired-or) EECS 373 F99 Notes 10-4 1998, 1999 Steven K. Reinhardt

Bus Arbitration Example Bus Parking BR0 BR0 BR1 BR1 BG0 BG0 BG1 BG1 BB BB A[6:31] A0 A1 A[6:31] A0 A1 D[0:31] D0 D[0:31] D0 arbitration overlaps with previous transaction still lose one cycle to switch masters bus parking : arbiter leaves BG on last master if no BR check BG &!BB same cycle as assert BR save a cycle (or more) if no switch in masters no need to wait on BB if you re driving it yourself EECS 373 F99 Notes 10-5 1998, 1999 Steven K. Reinhardt

Advanced Bus Techniques How to make busses work more efficiently or cheaply: Burst transfers Pipelining Address/data multiplexing Split transactions Burst Transfers First cycle of every MPC823 bus transaction transfers address; minimum transaction is two cycles This limits data transfers to one word every other cycle We can beat this limit by transferring multiple words in one transaction using one address cycle: A[6:31] A0 D[0:31] D0 D1 D2 D3 (Some additional control signals are required, not shown in the diagram.) What fraction of bus cycles can we transfer data on now? EECS 373 F99 Notes 10-6 1998, 1999 Steven K. Reinhardt

Burst Transfers (cont d) MPC823 Burst Transfer Example What addresses are used for additional data words? A[6:31] D[0:31] A0 D0 D1 D2 D3 Where do burst requests come from? BURST BDIP How are burst transfers initiated? BI MPC823 has two primary signals: BURST: from master: I want to do burst BI: from slave: I can t do bursts (823 will convert to regular single-beat requests) Only 16-byte (4-word) bursts supported, so no need to indicate specific size Slave can hold asserted on adjacent cycles (no need to deassert as in previous example) Slave can still insert wait states by not asserting BDIP: from master: I still expect another word (simplifies slave control) EECS 373 F99 Notes 10-7 1998, 1999 Steven K. Reinhardt

Pipelining Burst transfers let us transfer data on n out of every n+1 cycles. How can we do better? Notice that data bus is not used during address cycle, and address bus is not really needed during data cycles. Overlap address cycle of each transaction with data cycles of previous transaction. ADDR A1 A2 Pipelining (cont d) The MPC823 bus does not support address/data pipelining, but (like most busses) does pipeline the arbitration phase. The P6 (Pentium Pro/Pentium II) bus has five pipeline stages (arbitration, request (address), error, snoop, and response/data). By the time transaction n is transferring data, transaction n+3 may be issuing its request. minimum transaction length = 9 cycles can start a new transaction every 3 cycles DAD0.2 D0.3 D1.0 D1.1 D1.2 D1.3 D2.0 with burst transfers (4x 64 bits = 32 bytes), can keep data bus busy 100% of the time Disadvantages of pipelining? This is called transaction pipelining. In general, any two phases of a transaction that use a separate set of physical signals (wires) can be pipelined. EECS 373 F99 Notes 10-8 1998, 1999 Steven K. Reinhardt

Address/Data Multiplexing Pipelining takes advantage of the fact that one transaction does not use both address & data busses at the same time. If the goal is to reduce cost (not increase performance), how might we exploit this fact differently? Split Transactions Back to high performance... what happens on a pipelined bus when a transaction requires wait states? A split-transaction bus splits each transaction into two largely independent parts, a request (address part) and a reply (data part for reads). Replies may appear in any order. ADDR A1 A2 A3 A4 DA D1 wait state D3 D4 D2 Just as masters arbitrate to initiate a transaction on the address bus, slaves must now arbitrate to put their reply on the data bus. Advantage: Disadvantages: EECS 373 F99 Notes 10-9 1998, 1999 Steven K. Reinhardt