PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Learning objective
Memory Interfacing With 8086
By: Mr. V. R. Gupta Lecturer Department of Electronics & Telecommunication YCCE, Nagpur
In this module you will learn: What are the different types of memory Memory structure & its requirement. How to interface RAM & ROM with 8086 P in minimum & maximum mode. Different types of address decoding.
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
introduction
Memory is simply a device that can be used to store the information . The semiconductor memories are extensively used because of their small size, low cost, high speed, high reliability & ease of expansion of the memory size. It consist of mainly flip-flop & some additional circuitry such as buffers, one flip flop can hold one bit of data.
Memory fundamentals
Memory capacity The no. of bits that a semiconductor memory chip can store is called its chip capacity. Memory Organization: Each memory chip contains 2N locations, where N is the no. of address pins on the chip. Each location contains M bits, where M is the no. of data pins on the chip. The entire chip will contain 2N x M bits. E.g. for 4K x 4, 212 =4096 locations, each location holding 4 bits, so N=12 & M=4.
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Memory types
1) ROM (Read Only Memory) 2) PROM (programmable memory) 3) EPROM (Erasable programmable ROM) 4) EEPROM (Electrically Erasable PROM) 500000 times 5) Flash memory EPROM 6) RAM (Random Access Memory)
Ram memory types
SRAM (static RAM) Storage cells are made of F/F Don't require refreshing to keep their data. A cell handling one bit requires 6 or 4 transistors each, which is too many Used for cache memory & battery backed memory system DRAM( Dynamic RAM) Uses MOS capacitors to store a bit. Requires constant refreshing due to leakage.
High density Cheaper cost per bit Lower power consumption Larger access times Too many pins due to large capacity.
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Standard EPROM ic
EPROM 2716 2732 27C64 27C128 27C256 27C512 27C010 27C020 27C040 Density( bits) 16K 32K 64K 128K 256K 512K 1M 2M 4M Capacity (bytes ) 2K*8 4K*8 8K*8 16K*8 32K*8 64K*8 128K*8 256K*8 512K*8
Standard SRAM ic
SRAM 4361 4363 4364 43254 43256A 431000A Density( bits) 64K 64K 64K 256K 256K 1M Organization 64K*1 16K*1 8K*8 64K*4 32K*8 128K*8
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Standard DRAM ic
EPROM 2164 21256 21464 421000 424256 44100 44400 44160 416800 416400 416160 Density( bits) 64K 256K 256K 1M 1M 4M 4M 4M 16M 16M 16M Capacity (bytes ) 64 Kx1 256 Kx1 64 Kx4 1 Mx1 256 Kx4 4 Mx1 1 Mx4 256 Kx16 8 Mx2 4 Mx4 1 Mx16
A0 A11 Internal decoder
MEMORY STRUCTURE & ITS REQUIREMENT
Input Data WR CS Internal decoder A10 R/W memory 4096x8 A0
Input buffer
EPROM 2048x8
RD Output buffer RD Output buffer CS
Output Data
Output Data
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
PHYSICAL STRUCTURE OF PRACTICAL MEMORY IC
PHYSICAL STRUCTURE OF PRACTICAL MEMORY IC
1. Address Pins:
No of address pins
8 9 10 11 12 13 14 15 16 17 18 19 20
No of memory location
28 = 256 location 29 = 512 location 210 = 1024 = 1K location
2. Data pins: 3. Control pins:
Number of flip flop in each location is 4/8, then data pins 4/8. ROM/ EPROM will consist of only RD (OE) RAM will have control pins RD & WR.
211 = 2048 = 2K location 212 = 4 K 213 = 8 K 214 = 16 K 215 = 32 K 216 = 64 K 217 = 128 K 218 = 256 K 219 = 512K 512K 220 = 1024K = 1M 1024K
4. Commons pins: CS (chip select) . CS is generated using: i. NAND gate ii. 3 to 8 decoder iii. PAL IC
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Address decoding
In general all the address lines are not used by the memory devices to select particular memory locations. The remaining line are used to generate chip select logic. Following two techniques are used to decode the address: 1) Absolute or Full decoding 2) Linear or Partial decoding
Absolute or full decoding
All the higher address lines are decoded to select the memory chip. The memory chip is selected only for the specified logic levels on these higher order address lines. So each location have fixed address. This technique is expensive It needs more hardware than partial decoding.
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Partial or Linear Decoding
This technique is used in the small system All the address lines are not used to generate chip select logic Individual High order address lines are used to decode the chip select for the memory chips. Less hardware is required. Drawback is address of location is not fixed, so each location may have multiple address.
Q. 1: Interface 32 KB of RAM memory to the 8086 microprocessor system using absolute decoding with the suitable address. Step_1: Total RAM memory = 32 KB Half RAM capacity = 16 KB hence, number of RAM IC required = 2 ICs of 16 KB so, EVEV Bank = 1 ICs of 16 KB RAM ODD Bank = 1 ICs of 16 KB RAM
Even bank RAM _1 (16KB) Odd bank RAM _2 (16KB)
Step_2: Number of address lines required = 15 address lines
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Step_3: Address decoding table
Step_3: Generation of chip select logic
A19 A18 A17 A16 A15 CSO DAS A0 CSE
MEMOR HEX BINARY ADDRESS Y IC ADDRESS A A A A A A A A A A A A A A A A A A A A
19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16 K x 8 RAM-(1)
OOOOO
07FFE
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
To decoder To 16 K IC
BHE
M / IO
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
8284 clock generator
M / IO
C L O C K R E S E T R E A D Y
M / IO RD WR
IC 74244 buffer
RD WR
Q. 2: Interface 32 K word of memory to the 8086 microprocessor system . Available memory chips are 16 K x 8 RAM. Use suitable decoder for generating chip select logic. Step_1: Total memory = 32 K word = 32*2 K = 64 K IC available = 16 K hence, number of RAM IC required = 64 K x 8/ 16 Kx8 = 4 ICs so, EVEV Bank = 2 ICs of 16 Kx8 RAM ODD Bank = 2 ICs of 16 Kx8 RAM
Even bank Odd bank RAM _2 (16K) RAM _4 (16K) RAM _1 (16K)
8 0 8 6 P
ALE BHE / S7 A19/S6-A16/S3 AD15-AD0
BHE
LATCH 8282 (2 or 3) Transcei ver 8286 (2)
A0
A19-A1 D15-D8 14 14
DT / R DEN
D7-D0
MN/MX
VCC
D7-D0 A13-A0 RD WR D15-D8 A13-A0 RD
WR
RAM_ 3 (16K)
CSE 16Kx8 RAM-1 Even CSO 16Kx8 RAM-2 Odd
Step_2: Number of address lines required = 15 address lines
10
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Step_3: Address decoding table
MEMORY HEX IC ADDRESS A19 A18
Step_3: Generation of chip select logic
A18 0 A19 0 M / IO 1
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
BINARY ADDRESS
A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
16 K x 8 RAM-(1)
OOOOO
07FFE
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
E1
A17 A B A16 C A15
E2
3:8 Decoder 74LS373
E3
To CS0 To CS1
16 K x 8 RAM-(3)
8000 0FFFE
0 0 0 0 1 0 0 0 0 00000000000 0 0 0 0 1 1 1 1 1 11111111110
To decoder To 16 K IC
11
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
8284 clock generator
M / IO
C L O C K R E S E T R E A D Y
M / IO RD WR
IC 74244 buffer
RD HWR
Q. 3: Interface the following memory ICs with the 8086 microprocessor system in minimum mode configuration. ROM 4K-2 Numbers EPROM 64K-1 Numbers RAM 32K- 1Number . Use partial decoding. Step_1: Total ROM memory = 4 KB ---- 2 ICs EVEV Bank = 1 ICs of 4 KB ROM
14
8 0 8 6 P
ALE BHE / S7 A19/S6-A16/S3 AD15-AD0
BHE
LATCH 8282 (2 or 3) Transcei ver 8286 (2)
LWR
A0
A19-A1 D15-D8 14
ODD Bank = 1 ICs of 4 KB ROM Total EPROM memory = 64 KB EVEV Bank = 1 ICs of 32 KB EPROM ODD Bank = 1 ICs of 32 KB EPROM Total RAM memory = 64 KB EVEV Bank = 1 ICs of 16 KB RAM ODD Bank = 1 ICs of 16 KB RAM
DT / R DEN
D7-D0
D7-D0 A13-A1 RD WR
D15-D8 A13-A1 RD
WR
CS0 16Kx8 RAM-1 Even + 16Kx8 RAM-3 Even CS1 16Kx8 RAM-2 Odd 16Kx8 RAM-4 Odd
12
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Step_3: Address decoding table
Even bank ROM _1 (4KB) EPROM _1 (32KB) Odd bank ROM _2 (4KB) EPROM _2 (32KB)
MEMORY HEX A19 A18 IC ADDRESS
BINARY ADDRESS
A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
RAM _1 (16KB)
RAM _2 (16KB)
4 K x 8 FFFFE ROM-(1)
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 0 0
1 1 1 1 0 1
1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
To ROM IC
FE000
32 K x 8 EFFFE EPROM(1)
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
To EPROM IC
Step 2: Number of address lines required for ROM = 13 address lines Number of address lines required for EPROM = 16 address lines Number of address lines required for RAM = 15 address lines
E0000
0 0 1 0 1 0
16 K x 8 RAM-(1)
D0000 D7FFE
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0
To RAM IC
To decoder
13
w
w
w
w
PD
F -X C h a n ge
PD
F -X C h a n ge
O W !
bu
to
lic
lic
to
bu
17/04/2012
y N
O W !
.c
o
.d o
c u -tr a c k
.c
.d o
c u -tr a c k
Step_3: Generation of chip select logic
A19 0 0 M / IO 1
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 To DAS2 To DAS1 To DAS0
E1
A18 A17 A16 A B C
E2
3:8 Decoder 74LS373
E3
14
w
w
w
w