Memory Address Decoding in 8086 Systems
Memory Address Decoding in 8086 Systems
D-RAM, compared to S-RAM, offers higher packaging density, lower cost, and less power consumption, making it preferable for large memory capacity requirements. However, it has disadvantages such as data loss due to capacitor discharge caused by leakage currents, the need for periodic refreshing which halts other operations (resulting in time loss and reduced performance), and a more complex interfacing process requiring a dedicated D-RAM controller .
In D-RAM interfacing, the refresh cycle differs from a memory read cycle because it is initiated by a refresh mechanism rather than a CPU address. Multiple chips can be enabled to reduce the total number of refresh cycles, whereas a memory read is initiated by an external device or processor action. This requires the integration of additional hardware like a D-RAM controller to handle refreshing independently, complicating system design and impacting the regular read/write operations .
A dedicated D-RAM controller is essential for interfaced D-RAM systems because it manages the refresh process independently of the CPU operations, minimizing performance loss due to the regular suspension of memory activities. The controller coordinates the refresh cycles, generates necessary addresses, and controls the multiplexing of address lines, ensuring the stability and reliability of data storage despite D-RAM's limitations like leakage and need for frequent refreshing .
Chip select signals in 8086 semiconductor memory interfacing are generated using higher order address lines (e.g., A13-A19) for decoding. These signals determine which memory chip is active or selected at any given time, crucial for directing data transfers to the correct memory location. The BHE and A0 signals help further refine the selection process by distinguishing high and low memory banks, facilitating efficient use of address space and ensuring accurate data transactions .
Dynamic memory refreshing techniques address leakage currents in D-RAM cells by using a refresh mechanism to periodically recharge the capacitors that store data, preventing data loss. A refresh counter generates successive row addresses that allow synchronized refreshing of entire rows, maintaining data integrity. This regular refreshing counters the natural discharge caused by leakage, compensating for the intrinsic limitations of D-RAM technology .
To interface two 4K X 8 EPROMs and two 4K X 8 RAM chips with the 8086 microprocessor, a total of 13 address lines are required for 8K bytes of EPROM. The higher address lines (A13-A19) are used to generate chip select signals. The 8086 microprocessor addresses the memory by ensuring continuous address space coverage, where the BHE signal indicates odd addresses or higher byte data transfers, and the arrangement of RAM and ROM chips in parallel results in a 16-bit data bus width .
Data retention in D-RAM cells is ensured through a refresh mechanism that uses a refresh counter to periodically generate row addresses, enabling the refreshing of entire rows simultaneously. During the refresh cycle, normal operations are suspended, which leads to a loss of time and degrades system performance. The refresh mechanism is independent and regular, with typical intervals ranging from 1 ms to 3 ms, impacting the overall efficiency of the memory system .
Interfacing D-RAM with the 8086 is more complex than S-RAM because D-RAM requires regular refreshing to prevent data loss, which halts other operations and requires additional interfacing hardware like a refresh timer and refresh counter. The refreshing involves multiplexing row addresses with existing address lines, which complicates the interfacing design compared to the more straightforward direct addressing used with S-RAM .
The 8086 microprocessor interfaces with static RAM and ROM by organizing semiconductor memories into two-dimensional arrays of memory locations, like 2K X 8 or 4K X 8 configurations. To address more memory locations than a single memory chip can cover, a decoder is used. For example, while the 8088 issues 20-bit addresses allowing for 1MB of address space, an EPROM may only have a fraction of this space, requiring a decoder to address different memory sections. In interfacing with the 8086, available memory chips are arranged to create a 16-bit data bus width, using a decoding process to select the odd and even memory banks based on the BHE and A0 signals to generate chip select signals .
In memory interfacing with the 8086 microprocessor, the BHE (Bus High Enable) signal goes low during transfers at odd addresses or when accessing the higher byte of data, selecting the upper memory bank. Conversely, the A0 signal distinguishes between even (0) and odd (1) address selections, impacting which memory chip is accessed. If A0 is 0, an even address indicates an 8-bit transfer using the lower memory bank, whereas if A0 is 1, it indicates an odd address transfer using the upper bank .









