Memory Address Decoding
Memory Address Decoding
The processor can usually address a memory space that is much larger than the memory space
covered by an individual memory chip.
In order to splice a memory device into the address space of the processor, decoding is necessary.
For example, the 8088 issues 20-bit addresses for a total of 1MB of memory address space.
However, the BIOS on a 2716 EPROM has only 2KB of memory and 11 address pins.
A decoder can be used to decode the additional 9 address pins and allow the EPROM to be
placed in any 2KB section of the 1MB address space.
Memory Address Decoding
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Memory Address Decoding
To determine the address range that a device is mapped into:
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
This 2KB memory segment maps into the reset location of the 8086/8088 (FFFF0H).
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Note that all three Enables (G2A, G2B, and G1) must be active, e.g. low, low and high,
respectively.
Each output of the decoder can be attached to an 2764 EPROM ( 8K X 8 ).
Memory Address Decoding
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
The EPROMs cover a 64KB section of memory.
Memory Address Decoding
Yet a third possibility is a PLD (Programmable Logic Device).
PLDs come in three varieties:
PLA (Programmable Logic Array)
PAL (Programmable Array Logic)
GAL (Gated Array Logic)
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
PLDs have been around since the mid-1970s but have only recently appeared in memory systems
(PALs have replaced PROM address decoders).
A PAL example (16L8) is shown in the text and is commonly used to decode the memory address,
particularly for 32-bit addresses generated by the 80386DX and above.
Memory Address Decoding
AMD 16L8 PAL decoder.
It has 10 fixed inputs (Pins 1-9, 11), two fixed outputs (Pins 12 and 19) and 6 pins that
can be either (Pins 13-18).
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
AND/NOR device with logic expressions (outputs) with up to 16 ANDed inputs and 7
ORed product terms.
8088 and 80188 (8-bit) Memory Interface
The memory systems "sees" the 8088 as a device with:
20 address connections (A19 to A0).
8 data bus connections (AD7 to AD0).
3 control signals, IO/M, RD, and WR.
The EPROM interface uses a 74LS138 (3-to-8 line decoder) plus 8 2732 ( 4K X 8 ) EPROMs.
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
The 8088 cold starts execution at FFFF0H . JMP to F8000H occurs here.
8088 and 80188 (8-bit) RAM Memory Interface
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
8088 and 80188 (8-bit) RAM Memory Interface
The 16 62256s on the previous slide are actually SRAMs.
Access times are on order of 10ns .
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
This circuit generates EVEN or ODD parity for the 9-bit number placed on its inputs.
Typically, for generation, the 9th input bit is set to 0.
This circuit also checks EVEN or ODD parity for the 9-bit number.
In this case, the 9th input bit is connected to the 9th bit of memory.
For example, if the original byte has an even # of 1's (with 9th bit at GND), the parity
bit is set to 1 (from the EVEN output).
If the EVEN output goes high during the check, then an error occurred.
Parity for Memory Error Detection
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Error Detection
This parity scheme can only detect a single bit error.
Block-Check Character ( BCC ) or Checksum.
Can detect multiple bit errors.
This is simply the two's complement sum (the negative of the sum) of the sequence of
bytes.
No error occurred if adding the data values and the checksum produces a 0.
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
For example:
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Error Detection
Cyclic Redundancy Check ( CRC ) (cont.)
The CRC is found by applying the following equation.
G(X) is the called the generator polynomial and has special properties.
A commonly used polynomial is:
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
The remainder R(X) is appended to the data block.
When the CRC and R(X) is computed by the receiver, R(X) should be zero.
Since G(X) is of power 16, the remainder, R(X) , cannot be of order higher than
15.
Therefore, no more than 2 bytes are needed independent of the data block size.
Error Detection
Cyclic Redundancy Check ( CRC )(cont.)
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Error Correction
Parity , BCC and CRC are only mechanisms for error detection.
The system is halted if an error is found in memory.
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Error Correction
Hamming Codes (cont).
P1 is generated by computing the parity of X 3 , X 5 , X 7 , X 9 , X 11 , X 13 , X 15 .
These numbers have a 1 in bit position 1 of the subscript in binary.
Error Correction
Hamming Codes (cont).
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Parity for Memory Error Correction
The 74LS636 corrects errors by storing 5 parity bits with each byte of data.
The pinout consists of:
8 data I/O pins
5 check bit I/O pins
2 control pins
2 error outputs
Single error flag ( SEF )
Double error flag ( DEF ).
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
See the text for an example of its use in a circuit.
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD