Intel MCS-80/85 manual System Operation, Address Assignment

Models: MCS-80/85

1 210
Download 210 pages 34.15 Kb
Page 51
Image 51

SYSTEM OPERATION

3.3ADDRESS ASSIGNMENT

3.3.1Decoding

Besides memory-mapped I/O, another practice is to only partially decode the address bus when generating chip selects. Every device has a given number of unique addresses associated with it. The 8355, for instance, has 2k bytes of ROM and therefore has 2k addresses associated with the ROM. Anyone of these 2k addresses can be uniquely specified by a pattern on the 11 (211 = 2k) address lines. However, since the 8355 must work with other devices in a system, it isn'tenough to simply specify the 11 bits; fur- ther bits of information must be used to locate the 2k bytes within the 65k address space. The 2k bytes are located by the use of chip enable (CE) inputs to the 8355 chip. If the 8355 were to occupy the first 2k bytes of the memory address space, it would, strictly speaking, be necessary to decode the fact that A15-A11were all zeroes, and use that condition as a chip enable. Then the 8355 would be selected only when the ad- dress bus was less than 2k.

However, if other 2k blocks of addresses aren't being used, you may combine those addresses and not decode all of the upper five address lines for chip enables. In fact, in a small system you may need to decode only one bit of address, which is to say connect that bit of the address bus to the chip enable line of the 8355. If you connect A11 to the CE line of the 8355 and tie CE to Vcc, then the 8355 would be selected when- ever the memory address was less than 2k. (See Figure 3-1A.)

However, it will also be selected whenever memory locations 4k-6k, 8k-10k, 61 k-63k (Le., whenever bit A11 = 0) is addressed. If the pro- grammer is aware of this, and if there are no other devices assigned to the other address spaces, then it may be an acceptable condition. Care must be taken, however, to ensure that at no time will two different devices be selected simultaneously. Whenever one device is selected, that memory address must deselect all other devices. If two devices are selected Simultaneously for a READ operation, the elec- trical conflict on the bus may damage one or both parts. Note also that the address bus may reflect an undesired address during T5, T6 of an opcode fetch cycle and during address bus transitional periods in T1 (this is illustrated in Chapter 2). Therefore, all memory and I/O devices must qualify their selection with RD or WR, or the address on the bus at the falling edge of the ALE, so as to ignore all spurious ad- dresses.

3.3.2Linear Selection

Using an address bit as a chip select is referred to as linear selection. The direct consequence of linear selection is that you cut the available address space in half for each single address bit used as a chip enable. If this penalty is too high, you can always use an 8205 one-of-eight decoder. Also, some chips have multiple chip enables, which allows for some automatic decoding of the address. (See Figures 3-1 Band 3-1C.)

One drawback to linear selection is that the memory addresses of the different parts are not contiguous. For example, if three 8355s are ad- dressed using linear selection, one might be located at 0-2k, the next at 6k-8k, and the next at 10k·12k.The programmer must recognize these page boundries and jump over them.

3.4INTERFACING TO THE 8155/8156, 8355/8755A

3.4.11/0 Mapped 1/0:

This section describes some of the techniques involved in connecting the MCS-85 combination memory and I/O chips to the 8085A as I/O devices.

Figure 3.1A shows one 8355 connected to the 8085A bus. (In the inlerest of simplicity, only the chip enable and 101M lines are shown; the other lines are connected as shown in Figures 3.~3.7 or 3.8.) Notice that CE is tied to Vcc and CE is connected to A11. This is because after RESET the processor always starts executing at loca- tion O. Since the ROM normally contains the program, it must be selected when the address is all zeroes.

One consequence of the ROM being selected by an all-zero address is that the I/O ports on the chip will be selected only when A11 = O. This is because the I/O ports and the memory have common chip enables, therefore forCing the selection conditions of one onto the other. Fur- thermore, since th~ 101M line of the chip is con- nected to the 101M line of the 8085A, the port has I/O mapped I/O. The I/O ports can be ac- cessed only by use of the INPUT and OUTPUT instructions; since !!lese are the only instruc- tions that cause 101M to go high.

The boxes to the right of the chip in Figure 3.1A indicate the memory addresses and I/O Port numbers required to access the chip. As a result of the linear selection technique used, there are many "don'tcare" bits (marked by "X"s) in the address. While they don'taffect the addressing of this device, they may affect other

3-2

Page 51
Image 51
Intel MCS-80/85 manual System Operation, Address Assignment

MCS-80/85 specifications

The Intel MCS-80/85 family, introduced in the late 1970s, is a seminal collection of microprocessors that played a pivotal role in the early days of computing. The MCS-80 series, initially targeting embedded systems and control applications, gained remarkable attention due to its innovative architecture and flexible programming capabilities.

The MCS-80 family is anchored by the 8080 microprocessor, which was one of the first fully integrated 8-bit microprocessors. Released in 1974, the 8080 operated at clock speeds ranging from 2 MHz to 3 MHz and featured a 16-bit address bus capable of addressing up to 64KB of memory. The processor’s instruction set included around 78 instructions, providing extensive capabilities for data manipulation, logic operations, and branching.

Complementing the 8080 was a suite of support chips, forming the MCS-80 platform. The most notable among them was the 8155, which integrated a static RAM, I/O ports, and a timer, tailored for ease of designing systems around the 8080. Other support chips included the 8085, which provided improvements with an integrated clock generator, making it compatible with more modern designs and applications.

The MCS-85 series, on the other hand, revolves around the 8085 microprocessor, which provided a more advanced architecture. The 8085 operated at clock speeds of up to 6 MHz and came with a 16-bit address bus, similar to its predecessor. However, it introduced more sophisticated features, including an enhanced instruction set and support for interrupt-driven programming. These enhancements made the 8085 especially appealing to developers working in real-time processing environments.

The MCS-80/85 family utilized NMOS technology, known for its lower power consumption and higher performance compared to previous technologies like TTL. The family’s architecture allowed for easy interfacing with a variety of peripherals, making it a favorite for educational institutions and hobbyists embarking on computer engineering projects.

With its robustness, versatility, and affordability, the Intel MCS-80/85 microprocessors laid the groundwork for many subsequent microcomputer systems and applications. The legacy of this powerful family continues to influence modern microprocessor design, emphasizing the importance of reliable architecture in a rapidly evolving technology landscape.