COMP3221 lec31-mem-bus-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 32: Memory and Bus Organisation - II

Slides:



Advertisements
Similar presentations
1 Dynamic Interconnection Networks Buses CEG 4131 Computer Architecture III Miodrag Bolic.
Advertisements

DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Computer Architecture
1  1998 Morgan Kaufmann Publishers Interfacing Processors and Peripherals.
Computer Science & Engineering
Processor System Architecture
The ARM7TDMI Hardware Architecture
COMP 3221: Microprocessors and Embedded Systems Lectures 27: Virtual Memory - III Lecturer: Hui Wu Session 2, 2005 Modified.
COMP3221 lec31-mem-bus-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 31: Memory and Bus Organisation - I
Modified from notes by Saeid Nooshabadi
COMP3221 lec33-Cache-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 12: Cache Memory - I
COMP3221 lec36-vm-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 13: Virtual Memory - I
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
COMP3221 lec34-Cache-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 34: Cache Memory - II
Figure 1.1 Interaction between applications and the operating system.
COMP3221 lec28-exception-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 28: Exceptions & Interrupts - II
COMP3221 lec27-exception-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 27: Exceptions & Interrupts - I
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
CPU Chips The logical pinout of a generic CPU. The arrows indicate input signals and output signals. The short diagonal lines indicate that multiple pins.
Module I Overview of Computer Architecture and Organization.
Microcomputer & Interfacing Lecture 2
Hardware Overview Net+ARM – Well Suited for Embedded Ethernet
ARM Processor Architecture
MCU – Microcontroller Unit – 1 MCU  1 cip or VLSI core – application-specific.
Computer Architecture Lecture 08 Fasih ur Rehman.
Computer Organization
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
4 Linking the Components. © 2005 Pearson Addison-Wesley. All rights reserved Figure 4.1 This chapter focuses on how the hardware layer components are.
Samsung ARM S3C4510B Product overview System manager
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
NS7520.
Computer Architecture System Interface Units Iolanthe II approaches Coromandel Harbour.
Interrupts, Buses Chapter 6.2.5, Introduction to Interrupts Interrupts are a mechanism by which other modules (e.g. I/O) may interrupt normal.
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
CS 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Bus Protocols and Interfacing Bus basics I/O transactions MPC555 bus Reference:
Bus Protocols and Interfacing (adopted Steven and Marios’s slides) Bus basics I/O transactions MPC823 bus Reference: Chapter 13 of “White Book”
بسم الله الرحمن الرحيم MEMORY AND I/O.
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
Chapter 3. Advanced Hardware Fundamentals The various parts you will commonly find in an embedded-system circuit 발표일시 : 발표자 : 채화영.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 ARM920T Processor.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
ARM7 TDMI INTRODUCTION.
Presented By Aditya Dayal ITM University, Gwalior.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
EE 107 Fall 2017 Lecture 7 Serial Buses – I2C Direct Memory Access
Chapter 3 Top Level View of Computer Function and Interconnection
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
ME2100 EMBEDDED SYSTEM DESIGN (ARM9™) [Slide 8] ARM AMBA Bus BY DREAMCATCHER
FPro Bus Protocol and MMIO Slot Specification
May 2006 Saeid Nooshabadi ELEC2041 Microprocessors and Interfacing Lectures 30: Memory and Bus Organisation - I
Today’s agenda Hardware architecture and runtime system
Chapter 4 Introduction to Computer Organization
Modified from notes by Saeid Nooshabadi
COMP3221: Microprocessors and Embedded Systems
William Stallings Computer Organization and Architecture
ARM920T Processor This training module provides an introduction to the ARM920T processor embedded in the AT91RM9200 microcontroller.We’ll identify the.
Presentation transcript:

COMP3221 lec31-mem-bus-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 32: Memory and Bus Organisation - II October, 2003 Saeid Nooshabadi

COMP3221 lec31-mem-bus-II.2 Saeid Nooshabadi Overview °Bus Hierarchy °ARM’s AMBA Bus Standards

COMP3221 lec31-mem-bus-II.3 Saeid Nooshabadi Big Picture: A System on a Chip °Integration of Core Processor and many sub- system micro- cells ARM7TDMI core Cache RAM Embedded Co- Processors External Mem Interface Low bandwidth I/O devices Timers I/O ports

COMP3221 lec31-mem-bus-II.4 Saeid Nooshabadi Review: ARM System Architecture Need a Mechanism to allow various Processing units to access the Memory Bus without causing conflict

COMP3221 lec31-mem-bus-II.5 Saeid Nooshabadi Review: Memory State Transition Diagram °Processor internal operations cycles do not need access to memory Mem. Access is much slower than internal operations. Use wait states for mem Accesses °mreq = 1 internal operation °mreg = 0 memory access Internal Operations can run at max speed

COMP3221 lec31-mem-bus-II.6 Saeid Nooshabadi Review: Memory Access Timing Summary °Notice the pipelined memory access Address is presented 1/2 cycle earlier

COMP3221 lec31-mem-bus-II.7 Saeid Nooshabadi Support for OS: Memory Protection °Control unit can provide protection to certain areas in user mode: ntran: Processor in USER ( =1) or Privileged mode (=0) nopc: memory access is for instruction (=1) or for data (0) abort: caused pre-fetch abort exception RAM Control & Protection ARM D[31:0 ] A[31:0] ROM ntran nOE nWE abort nopc

COMP3221 lec31-mem-bus-II.8 Saeid Nooshabadi Reading Material °Steve Furber: ARM System On-Chip; 2nd Ed, Addison-Wesley, 2000, ISBN: Chapter 8.

COMP3221 lec31-mem-bus-II.9 Saeid Nooshabadi ARM Processor Bus Interface °Arm Processor is optimised for high speed on- chip cache memory Interfacing °It is a sub-system embedded in on a larger system °We need some interfacing rules and protocols to allow interfacing to other sub systems Each sub-systems should follow these rules in order for the system to work properly. °Options: Making an ad hoc choice in every design Use an established standard °ARM provides Advanced Micro controller Bus Architecture (AMBA) ARM processor uses AMBA to interface to the System Bus

COMP3221 lec31-mem-bus-II.10 Saeid Nooshabadi AMBA Based System °ASB: Advanced System Bus: To connect High Performance modules °ABP: Advanced Peripheral Bus: Simpler interface for low performance peripherals external bus interface ARM core/CPU on-chip RAM bridge APB ASB test i/fctrl DMA controller parallel i/f timer UART

COMP3221 lec31-mem-bus-II.11 Saeid Nooshabadi ARM Core AMBA Interface °ARM core cannot understand AMBA signaling standards directly. It needs an interface unit for decoding and translation to AMBA signals Some signals are just renamed

COMP3221 lec31-mem-bus-II.12 Saeid Nooshabadi ARM Core AMBA Interface Details A[31:0]: ba[31:0] Dout[31:0]:bwdata[31:0] Dint[31:0]:brdata[31:0] ntran & nopc Combined as bprot[1:0]

COMP3221 lec31-mem-bus-II.13 Saeid Nooshabadi ARM Core AMBA Interface Wrapper

COMP3221 lec31-mem-bus-II.14 Saeid Nooshabadi Important AMBA Features °Allows multiple masters use the Address and Data Bus via some arbitration Only one master can access the bus at any given time Arbitration unit connects to AMBA system Bus °Allows decoding of addresses issued by multiple masters. Address decoder and Protection unit connect to the AMBA system Bus °Allows peripheral devices to connect to the system bus via a Bridge

COMP3221 lec31-mem-bus-II.15 Saeid Nooshabadi Arbitration °Each master x requests for the ASB by issuing areq[x] °When bus is available the arbiter issues a agnt[x] to master x °Upon receiving agnt signal master issues address and control information to indicate the type of transfer

COMP3221 lec31-mem-bus-II.16 Saeid Nooshabadi Simple Arbiter Scheme data read data master arbiter slave 3 2 1

COMP3221 lec31-mem-bus-II.17 Saeid Nooshabadi AMBA’s ASB Important Signals (#1/4) °AREQx Bus Request: A signal from bus master “x” to the bus arbiter, which indicates that the bus master requires the bus. There is an AREQx signal for each bus master in the system, as well as an associated bus grant signal, AGNTx. °AGNTx Bus Grant: A signal from the bus arbiter to a bus master “x”, which indicates that the bus master will be granted the bus when BWAIT is low. There is an AGNTx signal for each bus master in the system, as well as an associated bus request signal, AREQx. °BA[31:0] Address Bus: The system address bus, which is driven by the active bus master. °BCLK Bus Clock. This clock times all bus transfers. Both the low phase and high phase of BCLK are used to control transfers on the bus.

COMP3221 lec31-mem-bus-II.18 Saeid Nooshabadi AMBA’s ASB Important Signals (#2/4) °BRDATA[31:0] ASB Read Data Bus: This is the system read data bus. The read data bus is driven by the selected bus slave during read transfers. °BWDATA[31:0] ASB Write Data Bus: This is the system write data bus. The write data bus is driven by the current bus master during write transfers. °BPROT[1:0] Protection Control: The protection control signals provide additional information about a bus access and are primarily intended for use by a bus decoder when acting as a basic protection unit. The signals indicate if the transfer is an opcode fetch or data access, as well as if the transfer is a supervisor mode access or user mode access. The signals are driven by the active bus master and have the same timing as the address bus.

COMP3221 lec31-mem-bus-II.19 Saeid Nooshabadi AMBA’s ASB Important Signals (#3/4) °BSIZE[1:0] Transfer Size: The transfer size signals indicate the size of the transfer, which may be byte, half-word word. The signals are driven by the active bus master and have the same timing as the address bus. °BTRAN[1:0] Transfer Type: These signals indicate the type of the next transaction, which may be address- only, nonsequential or sequential. These signals are driven by a bus master when the appropriate AGNTx signal asserted. °BWAIT Wait Response. This signal is driven by the selected bus slave to indicate if the current transfer may complete. If BWAIT is high, a further bus cycle is required; if BWAIT is low, then the transfer may complete in the current bus cycle. When no slave is selected, this signal is driven by the bus decoder.

COMP3221 lec31-mem-bus-II.20 Saeid Nooshabadi AMBA’s ASB Important Signals (#4/4) °BWRITE Transfer Direction. When high, this signal indicates a write transfer and when low, a read transfer. This signal is driven by the active bus master and has the same timing as the address bus. °DSELx Slave Select. A signal from the bus decoder to a bus slave “x”, which indicates that the slave device selected and a data transfer is required. There is a DSELx signal for each ASB bus slave. °SIMILAR SIGNALS for APB

COMP3221 lec31-mem-bus-II.21 Saeid Nooshabadi ARM SYSTEM Architecture

COMP3221 lec31-mem-bus-II.22 Saeid Nooshabadi Summary °Address decoding is required to select multiple slaves °Arbitration is required to allow multiple masters access to the bus °ARM uses AMBA standards for interfacing subsystems °AMBA has two Buses: ASB: Advanced System Bus APB: Advanced Peripheral Bus