8086 Full Notes
8086 Full Notes
8086 Full Notes
3
Memory Types
•ROM (Read Only Memory
ROM is the type of memory that does not lose its contents when
power is turned off. It is also called nonvolatile memory.
PROM (Programmable Memory)
¾User programmable (one-time programmable) memory
¾If the information burned into PROM is wrong, it needs to be
discarded since internal fuses are blown permanently.
¾Special equipment needed: ROM burner or ROM programmer
EPROM (Erasable Programmable ROM) 2,000 times
¾Allows making changes in the contents of PROM after it is burned
¾One can program the memory chip and erase it thousands of times
¾Erasing its contents can take up to 20 minutes; the entire chip is
erased
¾All EPROM chips have a window that is used to shine ultraviolet
(UV) radiation to erase its contents
¾Also referred to as UV-EPROM
4
Memory Types
5
Minmode 8088 Microcomputer system memory circuitry
6
Minmode 8086 Microcomputer system memory circuitry
7
Maxmode 8088 Microcomputer system memory circuitry
8
Memory Interface
9
Bank Write Control Logic
10
Bank Read Control Logic
11
Address Bus Configuration with Address Decoding
12
Address Latch Circuit
ALE
BHE
13
Generation of MEMRD & MEMWR in Minmode
14
8088 Memory and I/O address spaces
16
74F139 2-line to 4-line decoder
17
Memory Address Decoding
3-8 Decoder
(for example: 74LS138)
18
Address Decoder Circuit
19
Example on Address Decoding
A circuit containing 32KB of RAM is to be interfaced to an 8088 based system,
so that the first address of the RAM is at 48000H. What is the entire range of
the RAM Address? How is the address bus used to enable the RAMs? What
address lines should be used?
20
Example on Address Decoding
22
Memory Address Decoding
23
512 K of SRAM 00000-7FFFF
Memory Addressing
24
Partial Address Decoding
Not all the address lines need to be used.(A14-A19 not used).
So FFFF0, 3BFF0, 07FF0 pr C3FF0 get the same data.
(+) The purpose is get the job done in minimum hardware.
(-) Feature expansion of the memory is impossible, and may cause invalid
data reads due to overlapping memory segment reads (a fatal error)
25
Partial Address Decoding
A13 A13
A14
26
Generating Wait States in Hardware
28
Examples: Find different addressing for CS (A0-A13 used by memories)
30
ROM
31
EPROM
32
EPROM Critical Timing
This EPROM would need a READY generation to work with a 8086 with
5Mhz.
33
RAM types
• SRAM (Static RAM)
– Storage cells are made of flip-flops and therefore they do not require refreshing
to keep their data
– Cells handling one bit requires 6 or 4 transistors each, which is too many
– SRAMS are widely used for cache memory and battery-backed memory
systems.
– Speeds as fast as 10ns. But limited in size ~256Kx8
• DRAM (Dynamic RAM)
– Uses MOS capacitors to store a bit
– Requires constant refreshing due to leakage (every 2ms – 4ms)
– Advantages
• High density (capacity) ~1GBX8
• Cheaper cost per bit
• Lower power consumption
– Disadvantage
• While it is being refreshed, data cannot be accessed
• Larger access times
• Too may pins due to large size
34
SRAM
35
SRAM
36
DRAM
37
DRAM
In DRAM, the 8
address lines are
latched accordingly
by the strobe of the
RAS and CAS
signals.
For example: To
load a 16 bit address
into the DRAM 8 bits
of the address are first
latched by pulling
RAS low, then other 8
bits are presented to
A0-A7 and CAS is
pulled low.
38
DRAM Internal
40
DRAM Packaging
Larger DRAMs are available which are organized as 1M X 1, 4M X 1, 16M X 1, 64M X 1, 256M X 1.
DRAMs are typically placed on SIMM (Single In-line Memory Modules) boards.
30-pin SIMMs come in 1M X 8, 1M X 9 (parity), 4M X 8, 4M X 9.
72-pin SIMMs come in 1/2/3/8/16M X 32 or 1M X 36 (parity).
DRAM can be
refreshed by an
external circuitry
including an 8 bit
counter
RAS only HOLD/HLDA used
Refresh
Only the columns of
the matrix (256 x 256
for a 64K bit matrix is
needed to be
refreshed.
The refresh rate can
be adjusted using a
555 timer circuitry.
42
DRAM in PC
43
Parity circuits
44
Parity circuits
45
Parity Error Detection Circuit
64Kx8
64Kx8
64Kx1
Parity Detect
Parity Generate 46
Checksum byte (used for ROM)
9 Add the bytes together and drop the carries
9Take the 2’s complement of the total sum, and that is the checksum byte,
which becomes the last byte of the stored information.
9 To perform the checksum operation add all the bytes, including the
checksum byte. The result must be zero. If it is not zero, one or more bytes
of data have been changed (corrupted)
Example: Assume that we have 5 bytes of hexadecimal data: 1A, 14, 82, FC, 3E.
a) Find the checksum byte
b) Perform the checksum operation to ensure integrity
c) If the 3rd byte is changed to 44 show how the error is detected?
a) The checksum is: 1A+14+82+FC+3E = 1EA drop 1 Æ EA , take 2’s comp => 16
b) 1A+14+82+FC+3E+16 = 00
c) 1A+14+44+FC+3E+16 = 1C2 Æ Error!
47
IBM PC Memory Map
• 00000h – 9FFFFh: RAM (640 Kb)
– The first 1K used for the interrupt vector table (00000h to 003FFh)
– 00400h to 004FFh is set aside for the BIOS temporary area
– 00500h to 005FFh is set aside for the temporary storage of certain
parameters in DOS and BASIC
– A certain number of Kbytes is occupied by the operating system itself
• A0000h – BFFFFh: Video Display RAM (128 Kb)
– A total of 128 Kbytes is allocated for video
– Of that 128K, only a portion is used for VDR, the amount depending on
which type of video adapter card is installed in the system
• C0000h – FFFFFh: ROM (256 Kb)
– 256 K is set aside for ROM
– Used in
• BIOS ROM, Basic language compiler ROM, hard disk controller, other
peripheral board ROMS and the rest for expansion by the user
48
IBM PC Memory Map
49
IBM PC Memory Map
50