UMBC D 7 -D. Even bytes 0. 8 bits FFFFFC FFFFFE. location in addition to any 8-bit location. 1 (Mar. 6, 2002) SX 16-bit Memory Interface

Similar documents
FIGURE Three EPROMs interfaced to the 8088 microprocessor.

Design with Microprocessors

Design with Microprocessors

Introduction read-only memory random access memory

Address connections Data connections Selection connections

7/6/2011. Introduction. Chapter Objectives Upon completion of this chapter, you will be able to:

UMBC. Select. Read. Write. Output/Input-output connection. 1 (Feb. 25, 2002) Four commonly used memories: Address connection ... Dynamic RAM (DRAM)

Allmost all systems contain two main types of memory :

Microprocessors and Microcontrollers (EE-231)

Microcomputer System Design

8051 INTERFACING TO EXTERNAL MEMORY

DRAM Refresh Control with the

Contents. Main Memory Memory access time Memory cycle time. Types of Memory Unit RAM ROM

Memory & Simple I/O Interfacing

Handout 15. by Dr Sheikh Sharif Iqbal. Memory Interface of 8088 and 8086 processors

Basics DRAM ORGANIZATION. Storage element (capacitor) Data In/Out Buffers. Word Line. Bit Line. Switching element HIGH-SPEED MEMORY SYSTEMS

Topic 21: Memory Technology

Topic 21: Memory Technology

Overview of Intel 80x86 µp

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

MICROPROCESSOR TECHNOLOGY

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (5 th Week)

ECE 485/585 Microprocessor System Design

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

EE414 Embedded Systems Ch 5. Memory Part 2/2

UMBC. 80C86/80C88: CMOS version draws 10mA with temp spec -40 to 225degF. 450mV while input max can be no higher than 800mV). 0 0.

Mark Redekopp, All rights reserved. EE 352 Unit 10. Memory System Overview SRAM vs. DRAM DMA & Endian-ness

William Stallings Computer Organization and Architecture 8th Edition. Chapter 5 Internal Memory

University of Alexandria Faculty of Engineering Division of Communications & Electronics

Basic Organization Memory Cell Operation. CSCI 4717 Computer Architecture. ROM Uses. Random Access Memory. Semiconductor Memory Types

Computer Organization. 8th Edition. Chapter 5 Internal Memory

COMP3221: Microprocessors and. and Embedded Systems. Overview. Lecture 23: Memory Systems (I)

Computer Memory. Textbook: Chapter 1

8254 is a programmable interval timer. Which is widely used in clock driven digital circuits. with out timer there will not be proper synchronization

ENGIN 112 Intro to Electrical and Computer Engineering

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Concept of Memory. The memory of computer is broadly categories into two categories:

Memories: Memory Technology

Interface DAC to a PC. Control Word of MC1480 DAC (or DAC 808) 8255 Design Example. Engineering 4862 Microprocessors

The Memory Hierarchy Part I

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

EEM 486: Computer Architecture. Lecture 9. Memory

Computer Systems Laboratory Sungkyunkwan University

CENG4480 Lecture 09: Memory 1

UNIT V (PROGRAMMABLE LOGIC DEVICES)

MICROPROCESSOR TECHNOLOGY

The DRAM Cell. EEC 581 Computer Architecture. Memory Hierarchy Design (III) 1T1C DRAM cell

Chapter 6 (Lect 3) Counters Continued. Unused States Ring counter. Implementing with Registers Implementing with Counter and Decoder

Memory System Overview. DMA & Endian-ness. Technology. Architectural. Problem: The Memory Wall

Chapter TEN. Memory and Memory Interfacing

EECS150 - Digital Design Lecture 17 Memory 2

Random Access Memory (RAM)

10 2 ADDRESS DECODING:

8M x 64 Bit PC-100 SDRAM DIMM

CPE300: Digital System Architecture and Design

Chapter 2: Fundamentals of a microprocessor based system

CENG3420 Lecture 08: Memory Organization

Chapter 5 Internal Memory

Embedded Systems Design: A Unified Hardware/Software Introduction. Outline. Chapter 5 Memory. Introduction. Memory: basic concepts

Embedded Systems Design: A Unified Hardware/Software Introduction. Chapter 5 Memory. Outline. Introduction

1. INTRODUCTION TO MICROPROCESSOR AND MICROCOMPUTER ARCHITECTURE:

Memory Pearson Education, Inc., Hoboken, NJ. All rights reserved.

Chapter 13 Direct Memory Access and DMA-Controlled I/O

Chapter 4 Main Memory

ECSE-2610 Computer Components & Operations (COCO)

CS 320 February 2, 2018 Ch 5 Memory

CS311 Lecture 21: SRAM/DRAM/FLASH

Memory and Programmable Logic

Chapter 8 Memory Basics

Organization. 5.1 Semiconductor Main Memory. William Stallings Computer Organization and Architecture 6th Edition

Internal Memory. Computer Architecture. Outline. Memory Hierarchy. Semiconductor Memory Types. Copyright 2000 N. AYDIN. All rights reserved.

Pin diagram Common SignalS Architecture: Sub: 8086 HARDWARE

Memory. Lecture 22 CS301

William Stallings Computer Organization and Architecture 6th Edition. Chapter 5 Internal Memory

CS650 Computer Architecture. Lecture 9 Memory Hierarchy - Main Memory

Memory Hierarchy and Caches

Memory Systems for Embedded Applications. Chapter 4 (Sections )

TECHNICAL PAPER Interfacing the Byte- Wide SmartVoltage FlashFile Memory Family to the Intel486 Microprocessor Family

Basic I/O Interface

EECS150 - Digital Design Lecture 16 Memory 1

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

ESDRAM/SDRAM Controller For 80 MHz Intel i960hd Processor

The Memory Component

Large and Fast: Exploiting Memory Hierarchy

ORG ; Week8. Memory and Memory Interfacing

Unit 5 DOS INTERRPUTS

CpE 442. Memory System

Menu. word size # of words byte = 8 bits

CHAPTER TWELVE - Memory Devices

MICROPROCESSOR TECHNOLOGY

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

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

JEDEC Standard No. 21 -C Page Appendix E: Specific PD s for Synchronous DRAM (SDRAM).

DP8420A,DP8421A,DP8422A

Memory latency: Affects cache miss penalty. Measured by:

CS152 Computer Architecture and Engineering Lecture 16: Memory System

Read and Write Cycles

Chapter Seven. Memories: Review. Exploiting Memory Hierarchy CACHE MEMORY AND VIRTUAL MEMORY

Chapter 8 Summary: The 8086 Microprocessor and its Memory and Input/Output Interface

History and Basic Processor Architecture

Transcription:

8086-80386SX 16-bit Memory Interface These machines differ from the 8088/80188 in several ways: The data bus is 16-bits wide. The IO/M pin is replaced with M/IO (8086/80186) and MRDC and MWTC for 80286 and 80386SX. BHE, Bus High Enable, control signal is added. Address pin (or BLE, Bus Low Enable) is used differently. The 16-bit data bus presents a new problem: The microprocessor must be able to read and write data to any 16-bit location in addition to any 8-bit location. The data bus and memory are divided into banks: FFFFFF FFFFFD 000003 000001 High bank Low bank FFFFFE FFFFFC 8 bits 8 bits Odd bytes D 15 -D 8 D 7 -D Even bytes 0 8 MB BHE selects 8 MB BLE selects 000002 000000 1 (Mar. 6, 2002)

8086-80386SX 16-bit Memory Interface BHE and BLE are used to select one or both: BHE BLE Function 0 0 Both banks enabled for 16-bit transfer 0 1 High bank enabled for an 8-bit transfer 1 0 Low bank enabled for an 8-bit transfer 1 1 No banks selected Bank selection can be accomplished in two ways: Separate write decoders for each bank (which drive CS). A separate write signal (strobe) to each bank (which drive ). Note that 8-bit read requests in this scheme are handled by the microprocessor (it selects the bits it wants to read from the 16-bits on the bus). There does not seem to be a big difference between these methods although the book claims that there is. Note in either method that does not connect to memory and bus wire A 1 connects to memory pin, A 2 to A 1, etc. 2 (Mar. 6, 2002)

80386SX 16-bit Memory Interface (Separate Decoders) D 8 to D 15 A 15 CS Address Bus A 1 to A 16 MWTC A 17 A BC 0 12 CS CS CSCS 3 45 74LS138 3 A 18 62512 (64K X 8) A 19 80386SX Separate Decoders BHE CS CSCS 6 7 G1 G2A G2B 0 12 A B C A 20 A 21 A 22 D 0 to D 7 A 15 CS CS 62512 CS (64K X 8) CSCS 3 45 74LS138 6 7 G1 G2A G2B A 23 Data Bus A BC 0 12 3 45 74LS138 MRDC M/IO BLE CS CSCS 6 7 G1 G2A G2B 3 (Mar. 6, 2002)

Memory Interfaces See text for Separate Write Strobe scheme plus some examples of the integration of EPROM and SRAM in a complete system. It is just an application of what we ve been covering. 80386DX and 80486 have 32-bit data buses and therefore 4 banks of memory. 32-bit, 16-bit and 8-bit transfers are accomplished by different combinations of the bank selection signals BE3, BE2, BE1, BE0. The Address bits and A 1 are used within the microprocessor to generate these signals. They are don t cares in the decoding of the 32-bit address outside the chip (using a PLD such as the PAL 16L8). The high clock rates of these processors usually require wait states for memory access. We will come back to this later. 4 (Mar. 6, 2002)

Pentium Memory Interface The Pentium, Pentium Pro, Pentium II and III contain a 64-bit data bus. Therefore, 8 decoders or 8 write strobes are needed as well as 8 memory banks. The write strobes are obtained by combining the bank enable signals (BEx) with the MWTC signal. MWTC is generated by combining the M/IO and W/R signals. BE7 WR7 W/R M/IO MWTC BE6 BE5 BE4 BE3 BE2 BE1 BE0 WR6 WR5 WR4 WR3 WR2 WR1 WR0 5 (Mar. 6, 2002)

Pentium Memory Interface A3-A18 D24 -D 31 WR3 D15 -D 23 WR2 D8 -D 15 WR1 D0 -D 7 WR0 O1 O2 O3 O4 O5 O6 O7 O8 16L8 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 A29 A30 A31 A 15 A 15 A 15 27512 (64K X 8) A 15 27512 CE 27512 CE 27512 CE CE D56 -D 63 D48 -D 55 D40 -D 47 D32 -D 39 A 15 A 15 A 15 A 15 O1 O2 O3 O4 O5 O6 O7 O8 16L8 27512 CE 27512 CE 27512 CE 27512 CE I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 WR4 WR5 WR6 WR7 MRDC 6 (Mar. 6, 2002)

Pentium Memory Interface In order to map previous memory into addr. space FFF80000H-FFFFFFFFH A29 A30 A31 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 O1 O2 O3 O4 O5 O6 O7 O8 ;pins 1 2 3 4 5 6 7 8 9 10 A29 A30 A31 NC NC NC NC NC NC GND ;pins 11 12 13 14 15 16 17 18 19 20 U2 CE NC NC NC NC NC NC NC VCC Equations: /CE = /U2 * A29 * A30 * A31 16L8 16L8 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 O1 O2 O3 O4 O5 O6 O7 O8 ;pins 1 2 3 4 5 6 7 8 9 10 A19 A20 A21 A22 A23 A24 A25 A26 A27 GND ;pins 11 12 13 14 15 16 17 18 19 20 A28 U2 NC NC NC NC NC NC NC VCC Equations: /U2 = A19 * A20 * A21 * A22 * A23 * A24 * A25 * A26 * A27 * A28 Use a 16L8 to do the WR0 - WR7 decoding using MWTC and BE0 - BE7. See the text -- Figure 10-35. 7 (Mar. 6, 2002)

Memory Architecture In order to build an N-word memory where each word is M bits wide (typically 1, 4 or 8 bits), a straightforward approach is to stack memory: S 0 S 1 S 2 Word 0 Word 1 Word 2 Storage cell A word is selected by setting exactly one of the select bits, S x, high. N words S N-2 S N-1 Word N-2 Word N-1 Input-Output (M bits) This approach works well for small memories but has problems for large memories. For example, to build a 1Mword (where word = 8 bits) memory, requires 1M select lines, provided by some off-chip device. This approach is not practical. What can we do? 8 (Mar. 6, 2002)

Memory Architecture Add a decoder to solve the package problem: A 1 S 0 S 1 S 2 S N-2 S N-1 Word 0 Word 1 Word 2 Storage cell Decoder A 2 A K-1 K = log 2 N Word N-2 Word N-1 This reduces the number of external address pins from 1M to 20. Binary encoded address one-hot Input-Output (M bits) This does not address the memory aspect ratio problem: The memory is 128,000 time higher than wide (2 20 /2 3 )! Besides the bizarre shape factor, the design is extremely slow since the vertical wires are VERY long (delay is at least linear to length). 9 (Mar. 6, 2002)

Memory Architecture The vertical and horizontal dimensions are usually very similar, for an aspect ratio of unity. Multiple words are stored in each row and selected simultaneously: Row address = A K to A L-1 A K A K+1 A K+2 A L-1 S 0 S 1 S 2 S N-2 S N-1 Bit line Storage cell Word line Row Decoder Column address = to A K-1 A K-1 A column decoder is added to select the desired word from a row. Column decoder Input-Output (M bits) Sense amps and drivers not shown 10 (Mar. 6, 2002)

Memory Architecture This strategy works well for memories up to 64 Kbits to 256 Kbits. Larger memories start to suffer excess delay along bit and word lines. A third dimension is added to the address space to solve this problem: Block 0 Block i Block P-1 Row Address Column Address Block Address Block selector Global Data bus Address: [Row][Block][Col] Global amplifier/driver I/O 11 (Mar. 6, 2002)

Dynamic RAM DRAM requires refreshing every 2 to 4 ms. Refreshing occurs automatically during a read or write. Internal circuitry takes care of refreshing cells that are not accessed over this interval. This special refresh occurs transparently while other memory components operate and is called transparent refresh or cycle stealing. A RAS-only cycle strobes a row address into the DRAM, obtained by 7- or 8- bit binary counter. The capacitors are recharged for the selected row by reading the bits out internally and then writing them back. For a 256K X 1 DRAM with 256 rows, a refresh must occur every 15.6us (4ms/256). For the 8086, a read or write occurs every 800ns. This allows 19 memory reads/writes per refresh or 5% of the time. 12 (Mar. 6, 2002)

Dynamic RAM Row Latches Decoder A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 RAS A 256K X 1 DRAM 10 -A 17 Block 3 Block 2 Block 1 Block 0 8 255 254 64K array (256 X 256) 256-to-1 MUX (256 X 256) 1 0 64K array 256-to-1 MUX 64K array (256 X 256) 256-to-1 MUX 64K array (256 X 256) 256-to-1 MUX Column Latches CAS -A 7 D IN D OUT MUX A Dir 9 ( from input pin on RAS) A S1 8 S0 These signals provide the block address. 13 (Mar. 6, 2002)

EDO and SDRAM Memory Extended Data Output memory: Any memory access in an EDO memory (including a refresh) stores the 256 bits in a set of latches. Any subsequent access to bytes in this set are immediately available (without the decode time and therefore wait states). This works well because of the principle of spatial locality, and improves system performance by 15 to 25 %! Synchronous Dynamic RAM: Access times are 10ns (for use with 66MHz bus) and 8ns (for use with 100MHz bus). Standard DRAM access times are 60ns. However, these access times only apply to the 2nd, 3rd and 4th 64-bit reads -- the first takes the same time as a standard DRAM. 14 (Mar. 6, 2002)

EDO and SDRAM Memory Synchronous Dynamic RAM: However, this improves performance again, particularly for reads into cache block sizes of 256 bits. For example, 256 bit transfer takes three bus cycles for the first read and three for the next three 64-bit words, for a total of 7 bus cycles. This contrasts with the 3*4 or 12 bus cycles for DRAM or EDO. Measurements show about a 10% increase in performance. DRAM Controllers: A DRAM controller is usually responsible for address multiplexing and generation of the DRAM control signals. These devices tend to get very complex. We will focus on a simpler device, the Intel 82C08, which can control two banks of 256K X 16 DRAM memories for a total of 1 MB. 15 (Mar. 6, 2002)

DRAM Controllers: Intel 82C08: Microprocessor bits A 1 through A 18 (18 bits) drive the 9 Address Low (AL) and 9 Address High (AH) bits of the 82C08. 9 of each of these are strobed onto the address wires through A 8 to the memories. Either RAS0/CAS0 or RAS1/CAS1 are strobed depending on the address. This drives a 16-bit word onto the High and Low data buses (if is low) or writes an 8 or 16 bit word into the memory otherwise. (from the 82C08), BHE and are used to determine if a write is to be performed and which byte(s) (low or high or both) is to be written. Address bit A 20 through A 23 along with M/IO enable these memories to map onto 1 MByte range (000000H-0FFFFFH). 16 (Mar. 6, 2002)

DRAM Controllers (256K X 8) R1 AL 0 A 1 A 8 AL 8 AH 0 82C08 A 8 A 8 41256A8 RAS CAS 41256A8 RAS CAS AH 8 RD WR RESET CLK PCTL PE BS RFRQ PD1 A 18 R2 RAS0 CAS0 RAS1 CAS1 S0 S1 AA/XA A 19 Low Data Bus A 8 41256A8 RAS CAS High Data Bus A 8 41256A8 RAS CAS O1 O2 O3 O4 O5 O6 O7 O8 16L8 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 BHE 0 A 20 21 A 22 A 23 M/IO WAIT 17 (Mar. 6, 2002)

DRAM Controllers: 16L8 Programming: I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 O1 O2 O3 O4 O5 O6 O7 O8 ;pins 1 2 3 4 5 6 7 8 9 10 BHE A0 A20 A21 A22 A23 NC NC GND ;pins 11 12 13 14 15 16 17 18 19 20 MIO CE NC NC NC NC LWR HWR PE VCC 16L8 0 A 20 21 A 22 A 23 M/IO PE HWR LWR Equations: /LWR = /A0 * / /HWR = /BHE * / /PE = /A20 * /A21 * /A22 * /A23 * MIO 18 (Mar. 6, 2002)