May 2006 Saeid Nooshabadi saeid@unsw.edu.au ELEC2041 Microprocessors and Interfacing Lectures 30: Memory and Bus Organisation - I http://webct.edtec.unsw.edu.au/

Slides:



Advertisements
Similar presentations
Main MemoryCS510 Computer ArchitecturesLecture Lecture 15 Main Memory.
Advertisements

Chapter 5 Internal Memory
5-1 Memory System. Logical Memory Map. Each location size is one byte (Byte Addressable) Logical Memory Map. Each location size is one byte (Byte Addressable)
CS-334: Computer Architecture
The ARM7TDMI Hardware Architecture
ENGIN112 L30: Random Access Memory November 14, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 30 Random Access Memory (RAM)
COMP3221 lec31-mem-bus-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 31: Memory and Bus Organisation - 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.
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
COMP3221 lec28-exception-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 28: Exceptions & Interrupts - II
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
COMP3221 lec31-mem-bus-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 32: Memory and Bus Organisation - II
Prardiva Mangilipally
Microcomputer & Interfacing Lecture 2
Hardware Overview Net+ARM – Well Suited for Embedded Ethernet
ARM Processor Architecture
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Computer Processing of Data
Samsung ARM S3C4510B Product overview System manager
8086/8088 Hardware Specifications Power supply:  +5V with tolerance of ±10%;  360mA. Input characteristics:  Logic 0 – 0.8V maximum, ±10μA maximum;
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 ARM920T Processor.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
COURSE OUTCOMES OF Microprocessor and programming
Everybody.
Microcontrollers & GPIO
UNIT – Microcontroller.
Operating Systems (CS 340 D)
May 2006 Saeid Nooshabadi ELEC2041 Microprocessors and Interfacing Lectures 27: Exceptions & Interrupts - I
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
Dr. Michael Nasief Lecture 2
CS-301 Introduction to Computing Lecture 17
8086/8088 Hardware Specifications
Chapter 3 Top Level View of Computer Function and Interconnection
8085 Microprocessor Architecture
Basic Computer Organization
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
William Stallings Computer Organization and Architecture 8th Edition
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Subject Name: Embedded system Design Subject Code: 10EC74
AT91 Memory Interface This training module describes the External Bus Interface (EBI), which generatesthe signals that control the access to the external.
Introduction to Computing
William Stallings Computer Organization and Architecture 8th Edition
MICROPROCESSOR MEMORY ORGANIZATION
8085 Microprocessor Architecture
Today’s agenda Hardware architecture and runtime system
Computer Organization
Word Assembly from Narrow Chips
Chapter 4 Introduction to Computer Organization
Chapter 5 Computer Organization
William Stallings Computer Organization and Architecture 8th Edition
Wireless Embedded Systems
Modified from notes by Saeid Nooshabadi
8085 Microprocessor Architecture
COMP3221: Microprocessors and Embedded Systems
Main Memory Background
Bob Reese Micro II ECE, MSU
May, 2004 Modified from notes by Saeid Nooshabadi
William Stallings Computer Organization and Architecture 7th Edition
Computer Operation 6/22/2019.
ARM920T Processor This training module provides an introduction to the ARM920T processor embedded in the AT91RM9200 microcontroller.We’ll identify the.
Presentation transcript:

May 2006 Saeid Nooshabadi saeid@unsw.edu.au ELEC2041 Microprocessors and Interfacing Lectures 30: Memory and Bus Organisation - I http://webct.edtec.unsw.edu.au/ May 2006 Saeid Nooshabadi saeid@unsw.edu.au

Overview Memory Interfacing Memory Type Memory Decoding D-RAM Access Making DRAM Access fast

Review: Buses in a PC: Connect a few devices CPU Memory bus Memory PCI Interface PCI: Internal (Backplane) I/O bus SCSI: External I/O bus (1 to 15 disks) SCSI Interface Ethernet Interface Ethernet Local Area Network Data rates Memory: 133 MHz, 8 bytes  1064 MB/s (peak) PCI: 33 MHz, 8 bytes wide  264 MB/s (peak) SCSI: “Ultra3” (80 MHz), “Wide” (2 bytes)  160 MB/s (peak) Ethernet: 12.5 MB/s (peak)

Review: Computers with Memory Mapped I/O I/O devices Accessed like memory

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

ARM System Architecture Need a Mechanism to access various memory units and I/O devices, uniquely, to avoid access conflicts

ARM System Architecture with Multiple Masters Need a Mechanism to allow various Processing units to access the Memory Bus without causing conflict

ARM Core Interface Signals Clock control Memory Interface IRQ/FIQ

ARM Core Memory Interface Signals 32 bit address A[31:0] Separate Data in and out Din[31:0] & Dout[31:0] Bidirectional Data bus D[31:0] nmreq and seq for requesting memory access nr/w for read/ write indication mas[1:0] for data size identification: word 10, half- word 01 and byte 00. All activities controlled by mclk. Internal clock is mclk AND wait

Simple Memory Interface 4 SRAMs write enabled separately Read enabled together 4 ROMs No write enable SRAM Size: 2n x 32 ROM Size: 2m x 32

Simple Memory Decoder Control Controls the Activation of RAM and ROM a[31]: 0  ROM a[31]: 1  RAM It controls the byte write enables during write mas[1:0]: 00 Byte, 01 H-word, 10 Word It ensures that data is ready before processor continues.

SRAM/ROM Memory Timing Address should be stable during the falling edge SRAM is fast, ROM is slow ROM needs more time. Slows the system Solutions? Slow down the MCLK clock; loose performance Use Wait states; more complex control mclk A[31:0] RAMOe B A C

ROM Wait Control State Transition ROM access requires 4 clock cycles RAM access is fast ROM RAM reset fa st ROM2 ROM3 ROM1

Timing Diagram for for ROM Wait States mclk A[31:0] wait ROM0e fa st ROM1 ROM2 ROM3

Improving Performance 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 ROM reset RAM mreq ROM2 ROM3 ROM1 de code

Widely used in Computer Systems DRAM Interface Dynamic RAM Features: much cheaper than SRAM more capacity than SRAM slower than SRAM Widely used in Computer Systems

Two dimensional matrix Bits are accesses by: DRAM Organisation Two dimensional matrix Bits are accesses by: ras A[n:0] Data out array of memory cells mux decoder latch Output register Accepting row and column addresses down the same multiplexed address bus First Row address is presented and latched by ras signal Next column address is presented and latched by cas signal cas

Making DRAM Access Fast Accessing data in the same row using cas- only access is 2 – 3 times faster cas-only access does not activate the cell matrix If next accesses is within the same row, a new column address may be presented just by applying a cas-only access. Fact: Most processor addresses are sequential (75%) If we had a way of knowing that that the next address is sequential with respect with the current address (current address + 4), then we could only assert cas and make DRAM access fast Difficulty? Detecting early in memory access cycle that the next address is in the same row.

ARM Solution to cas-only Access ARM address register Instruction: 75% of next addresses are current address +4. Sequential addresses flagged by seq signal The external mem device checks previous address and row boundaries to issue cas only or ras-cas seq signal address to memory (address + 4) address mux ldr r1, [r2] from ALU incrementer Next inst fetch exception vector swi mov pc, lr br label from/to PC in register bank

Revised State Transition Diagram seq = 1: sequential address seq = 0: non-sequential mreq = 1 internal operation mreg = 0 memory access ROM seq reset RAM mreq ROM2 ROM3 ROM1 de code

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

ARM Processor Bus Interface Arm Processor is optimised for high speed on- chip cache memory Interfacing It is a sub-system embedded in 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

AMBA Based System ex ternal bus interface ARM core/CPU on -chip RAM br idge APB ASB te st i/f ct rl DMA controller pa rallel i/f ti mer UART ASB: Advanced System Bus: To connect High Performance modules ABP: Advanced Peripheral Bus: Simpler interface for low performance peripherals

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

Reading Material Steve Furber: ARM System On-Chip; 2nd Ed, Addison-Wesley, 2000, ISBN: 0-201- 67519-6. Chapter 8.

Conclusion Memory interfacing can degrade performance Can improve performance by increasing the clock frequency and allocating differing clock cycles for each memory access type cas-only accesses in DRAM are 2 to 3 times faster than ras – cas accesses. Control unit can provide protection to certain areas in user mode ARM processor uses AMBA to interface to the System Bus