SCHOTTKY BIPOLAR 8214

APPLICATIONS OF THE 8214

Cascading the 8214

When greater than eight levels of interrupts must be priori- tized and serviced, the 8214 can be cascaded with other 8214s to support such an .architecture.

On the previous page a simple circuit is shown that can con- trol 16 levels of interrupt and is easily expandable to sup- port up to 40 levels of interrupt by just cascading more 8214s.

As described previously, there are signals provided in the 8214 for cascading (ELR, ETLG, ENLG) and in effect the ENLG output of the first 8214 "ripples" down to the next and so on. The entire array of 8214s regardless of size, can be thought of as a single priority control unit, with the first having the highest priority and the next 8214 having a lower priority and so on.

In this application, the manner in which software handles the servicing of the interrupt will change. Since more than eight vectors must be generated a method other than the common RST instruction must be implemented. Basically, the priority control array must somehow modify the con- tents of the 8080 Program Counter so that it can point ("vector") to one of 16 (or how many levels are to be serviced) and fetch the proper service routine. A simple ap- proach is to treat the priority control array as a single input port that can input a value into the Accumulator and use this value as an offset to modify the Program Counter (In- direct Jump).

An initial CALL is needed to invoke this Indirect Jump routine so the circuitry is configured to insert an RST 7 (FFh) for all interrupts, thus the Indirect Jump Routine starts at location (56d).

The Assembly Code for the flow chart is as follows:

PUSH

:SW} (save processor status)

PUSH

PUSH

o

(22 microseconds)

PUSH

H

 

IN

(n)

(input Priority Array Value)

MOV

L,A

(transfer Accumulator to L register)

MVI

H,(n)

(load Base Address into H register)

PCHL

 

(transfer H&L to Program Counter)

(The execution time for the total routine is 35.5 micro- seconds based on an 8080 clock period of 500ns.)

Following is a basic flowchart of the priority array Indirect Jump routine. Note that the last step in the routine will vector the processor to fetch the proper service routine as dictated by the interrupting level.

RST7

SAVE

PROCESSOR

STATUS

INPUT

PRIORITY ARRAY

VALUE

LOAD

BASE VALUE

INTO H REGISTER

TRANSFER

H & L REGISTER

TO PROGRAM COUNTER

 

 

 

 

 

SERVICE ROUTINE

 

IREQUEST (PR)

D-7 8-15

 

-

-

0

0

0

PRIORITIES

EN

EN

A2

A,

Ao

LOWEST

0

0

1

1

1

1

0

0

0

 

1

0

1

1

1

0

0

0

0

 

2

0

1

1

0

1

0

0

0

 

3

0

1

1

0

0

0

0

0

 

4

0

1

0

1

1

0

0

0

 

5

0

1

0

1

0

0

0

0

 

6

0

1

0

0

1

0

0

0

 

7

0

1

0

0

0

0

0

0

 

8

1

0

1

1

1

0

0

0

 

9

1

0

1

1

0

0

0

0

 

10

1

0

1

0

1

0

0

0

 

11

1

0

1

0

0

0

0

0

 

12

1

0

0

1

1

0

0

0

 

13

1

0

0

1

0

0

0

0

 

14

1

0

0

0

1

0

0

0

HIGHEST

15

1

0

0

0

0

0

0

0

Shown in the figure above is a chart of the 16 different array values that are used to offset the Program Counter and vec- tor to the proper service routine. These values are the ones that are loaded into the ilL" register; the value loaded into the "H" register with an "immediate instruction" is used to identify the major area of memory where the service rou- tines are stored, similar to a "course setting" and the value in the ilL" register is used to identify a specific location, similar to a "fine setting".

Note that DO, 01, and D2 are always set to "zero", this pro- vides the programmer eight (8) memory locations between the start of each service routine so that maintenance of the associated Current Status Register and a JUMP or CALL in- struction can be implemented.

This method of interrupt control can be almost indefinitely expanded and provides the system designer with a powerful tool to enhance total system throughput.

5-159

Page 229
Image 229
Intel 8080 manual Cascading

8080 specifications

The Intel 8085 and 8080 microprocessors were groundbreaking innovations in the world of computing, paving the way for future microprocessor development and personal computing.

The Intel 8080, introduced in 1974, was an 8-bit microprocessor that played a fundamental role in the early days of personal computing. With a 16-bit address bus, it had the capability to address 64 KB of memory. Running at clock speeds of 2 MHz, the 8080 was notable for its instruction set, which included 78 instructions and 246 opcodes. It supported a range of addressing modes including direct, indirect, and register addressing. The 8080 was compatible with a variety of peripherals and played a crucial role in the development of many early computers.

The microprocessor's architecture was based on a simple and efficient design, making it accessible for hobbyists and engineers alike. It included an 8-bit accumulator, which allowed for data manipulation and storage during processing. Additionally, the 8080 featured registers like the program counter and stack pointer, which facilitated program flow control and data management. Its ability to handle interrupts also made it suitable for multitasking applications.

The Intel 8085, introduced in 1976, was an enhancement of the 8080 microprocessor. It maintained a similar architecture but included several key improvements. Notably, the 8085 had a built-in clock oscillator, simplifying system design by eliminating the need for external clock circuitry. It also featured a 5-bit control signal for status line management, which allowed for more flexible interfacing with peripheral devices. The 8085 was capable of running at speeds of up to 3 MHz and had an extended instruction set with 74 instructions.

One of the standout features of the 8085 was its support for 5 extra instructions for stack manipulation and I/O operations, which optimized the programming process. Additionally, it supported serial communication, making it suitable for interfacing with external devices. Its 16-bit address bus retained the 64 KB memory addressing capability of its predecessor.

Both the 8080 and 8085 microprocessors laid the groundwork for more advanced microprocessors in the years that followed. They demonstrated the potential of integrated circuits in computing and influenced the design and architecture of subsequent Intel microprocessors. Their legacy endures in the way they revolutionized computing, making technology accessible to a broader audience, and their influence is still felt in the design and architecture of modern microprocessors today.