7
1 HARDWARE OF THE ORIGINAL IBM PC MICROCOMPUTER 國立台灣大學 生物機電系 林達德 611 37100 微處理機原理與應用 Lecture 12-2 HARDWARE OF THE ORIGINAL IBM PC MICROCOMPUTER 12.1 Architecture of the Original IBM PC System Processor Board 12.2 System Processor Circuitry 12.3 Wait-State Logic and NMI Circuitry 12.4 Input/Output and Memory Chip-Select Circuitry 12.5 Memory Circuitry 12.6 Direct Memory Access Circuitry 國立台灣大學 生物機電系 林達德 611 37100 微處理機原理與應用 Lecture 12-3 HARDWARE OF THE ORIGINAL IBM PC MICROCOMPUTER 12.7 Timer Circuitry 12.8 Input/Output Circuitry 12.9 Input/Output Channel Interface 國立台灣大學 生物機電系 林達德 611 37100 微處理機原理與應用 Lecture 12-4 12.1 Architecture of the Original IBM PC System Processor Board Major functional elements of the PC: MPU PIC DMA PIT PPI ROM RAM 國立台灣大學 生物機電系 林達德 611 37100 微處理機原理與應用 Lecture 12-5 12.1 Architecture of the Original IBM PC System Processor Board PC memory map 國立台灣大學 生物機電系 林達德 611 37100 微處理機原理與應用 Lecture 12-6 12.1 Architecture of the Original IBM PC System Processor Board PC system peripheral addresses

HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

1

HARDWARE OF THE ORIGINAL IBM PC MICROCOMPUTER

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-2

HARDWARE OF THE ORIGINAL IBM PC MICROCOMPUTER

12.1 Architecture of the Original IBM PC System Processor Board

12.2 System Processor Circuitry12.3 Wait-State Logic and NMI Circuitry12.4 Input/Output and Memory Chip-Select

Circuitry12.5 Memory Circuitry12.6 Direct Memory Access Circuitry

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-3

HARDWARE OF THE ORIGINAL IBM PC MICROCOMPUTER

12.7 Timer Circuitry12.8 Input/Output Circuitry12.9 Input/Output Channel Interface

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-4

12.1 Architecture of the Original IBM PC System Processor Board

Major functional elements of the PC:MPUPICDMAPITPPIROMRAM

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-5

12.1 Architecture of the Original IBM PC System Processor Board

PC memory map

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-6

12.1 Architecture of the Original IBM PC System Processor Board

PC system peripheral addresses

Page 2: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

2

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-7

12.1 Architecture of the Original IBM PC System Processor Board

8255A I/O map

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-8

12.1 Architecture of the Original IBM PC System Processor Board

8255A I/O map

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-9

12.1 Architecture of the Original IBM PC System Processor Board

Interrupt request priority assignment for peripheral devices

Printer7Diskette6Fixed disk5

Asynchronous Communication (Primary)SDLC CommunicationsBSC (Primary)

4

Asynchronous Communication (Secondary)SDLC CommunicationsBSC (Secondary)

3Reserved2Keyboard1Timer0ParityNMI

UsageNumber

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-10

12.2 System Processor Circuitry8284A Clock Generator

8288 Bus Controller

8259A PIC

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-11

12.2 System Processor Circuitry

Clock generator circuitryClock generator circuitry serves three functions:• Clock signal generation• Reset signal generation (Power on reset)• Ready signal generation (Bus synchronization)

Three clock output signals of the 8284A:• The oscillator clock (OSC) at 14.31818 MHz• The TTL peripheral clock (PCLK) at 2.385 MHz• The 8088 microprocessor clock (CLK88) at 4.77 MHz

Clock generator circuitry provides synchronization of the 8088’s bus operations with its memory and I/O peripherals. For slow memory or peripherals, synchronization is achieved by inserting wait states into the bus cycle to extend its duration.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-12

12.2 System Processor Circuitry

Microprocessor, system data bus, and bus controllerIn general, memory and I/O peripherals are attached to the 8088 microprocessor at the system bus. However, both the 8259A interrupt controller and 8087 numeric coprocessor are attached directly to the local bus.The 8288 bus controller monitors the codes output on the 8088’s status lines and produces appropriate system bus control signals.The 8288 also produces I/O and memory read and write control signals.

Page 3: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

3

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-13

12.2 System Processor Circuitry

Interrupt controllerExternal hardware interrupt interface is implemented for the IBM PC with the 8259A programmable interrupt controller.The 8259A monitors the state of interrupt request lines IRQ0 through IRQ7 to determine if any external device is requesting service.The operating configuration of the 8259A needs to be initialized at power-on of the system. This initialization is achieved by writing to the 8259A’s internal registers over the local bus.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-14

12.3 Wait-State Logic and NMI Circuitry

Wait-state logic and NMI circuitry

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-15

12.3 Wait-State Logic and NMI Circuitry

Wait-state logic circuitryThe wait-state circuitry is used to insert one wait state into I/O channel, I/O, and DMA bus cycles

Hold/hold acknowledge circuitryThe hold/hold acknowledge circuitry is used to grant the 8237A DMA controller access to the system bus.

Nonmaskable interrupt circuitryThere are three sources for applying a nonmaskable interrupt to the 8088 microprocessor:

The 8087 numeric coprocessor (N P NPI)The memory parity check (MPI)The I/O channel check (PCK)

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-16

12.4 Input/Output and Memory Chip-Select Circuitry

Peripheral/memory chip-select circuitry

I/O Chip Selects

Memory ChipSelects

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-17

12.4 Input/Output and Memory Chip-Select Circuitry

I/O chip selectsThe I/O chip select circuitry decodes the I/O address corresponding to the LSI peripheral devices, such as the DMA controller, interrupt controller, programmable interval timer, and programmable peripheral interface controller.To access a register within one of the peripheral devices, an I/O instruction must be executed to read from or write to the register. The address output on address line A0 through A9 during the I/O bus cycle is used to both chip-select the peripheral device and select the appropriate register.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-18

12.4 Input/Output and Memory Chip-Select Circuitry

I/O chip selectsTo produce an I/O chip-select signal, address bits XA0to XA4 are not used and, therefore, the individual I/O chip select signals produced actually correspond to a range of addresses.

Non DMA bus cycle, XIOW activeNMI control registerWRT NMI REGA0-BF

Non DMA bus cycle, XIOW activeDMA page registerWRT DMA PG REG80-9F

Non DMA bus cycleParallel Peripheral interfacePPI CS60-7F

Non DMA bus cycleInterval timerT/C CS40-5F

Non DMA bus cycleInterrupt controllerINTR CS20-3F

Non DMA bus cycleDMA controllerDMA CS0-1F

ConditionsFunctionSignalAddress range

Peripheral address decoding

Page 4: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

4

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-19

12.4 Input/Output and Memory Chip-Select Circuitry

Memory chip selectsThe output signals produced for ROM in the circuit are ROM address select (ROM ADDR SEL) and chip selects CS0 through CS7. The ROM ADDR SEL signal has two functions: to enable the ROM chip select decoder and to control the direction of data transfer through the ROM data bus transceiver.

CS7FE000-FFFFF

CS6FC000-FDFFF

CS5FA000-FBFFF

CS4F8000-F9FFF

CS3F6000-F7FFF

CS2F4000-F5FFF

CS1F2000-F3FFF

CS0F0000-F1FFF

Chip selectAddress range

ROM address decoding

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-20

12.4 Input/Output and Memory Chip-Select Circuitry

Memory chip selectsThe chip-select outputs used to control the operation of RAM are RAM ADDR SEL and ADDR SEL.The RAS0, RAS1, RAS2, RAS3 signals are used to refresh the DRAM devices in the RAM array.

RAS3 , CAS3

RAS2 , CAS2

RAS1 , CAS1

RAS0 , CAS0

RAM ADDR SELActive signal

Active XMEMR or XMEMW30000-3FFFFActive XMEMR or XMEMW20000-2FFFFActive XMEMR or XMEMW10000-1FFFFActive XMEMR or XMEMW00000-0FFFFInactive DACK 0 BRD00000-3FFFF

ConditionAddress range

RAM address decoding

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-21

12.5 Memory Circuitry

ROM array circuitryThe system processor board of the PC is equipped with 48Kbytes of ROM and either 64K or 256Kbytes of RAM.Each of the EPROMs is enabled by one of the ROM chip-select signals, CS2 through CS7, which are generated by the ROM address decoder.The address outputs on the lower 13 address lines of the system address bus, A0 through A12, are used to select the specific byte of data within an EPROM.The direction of data transfer through the data bus transceiver is set by the logic level at its data direction (DIR) input.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-22

12.5 Memory Circuitry

ROM array circuitry

Data bustransceivers

Octal buffers

EPROMs

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-23

12.5 Memory Circuitry

RAM array circuitryIn each RAM bank, eight 64K x 1-bit dynamic RAMs(DRAMs) are used for data storage, and ninth DRAM is included to hold parity bits for each of the 64K storage locations.The 74LS158 data selectors are used to multiplexed the 16-bit memory address into a byte-wide row address and byte-wide column address.Each DRAM device outputs a bit of data held in the storage location corresponding the selected row and column address. The byte of data is passed over data lines MD0 through MD7 to the 74LS245 bus transceiver.The parity generator/check circuitry is used to improve the reliability of data storage in the RAM array.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-24

12.5 Memory Circuitry

RAM array circuitryBus transceiver

Parity generator/checker

RAM bank 0

Dataselectors

Page 5: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

5

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-25

12.5 Memory Circuitry

RAM array circuitry

RAM banks 2 and 3

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-26

12.6 Direct Memory Access Circuitry

DMA circuitry

DMA Controller

Hardware Requests

Address Latch

DMA Page Registers

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-27

12.6 Direct Memory Access Circuitry

DMA circuitryThe DMA capability permits high-speed data transfers to take place between two sections of memory or an I/O device and memory.There are 16 registers within the 8237A DMA controller that determine how and when the four DMA channels work. The 8088 communicates with these registers by executing I/O instructions.DMA channel 0 is dedicated to RAM refresh and that channel 2 is used by the floppy disk subsystem.Use of a DMA channel is initiated by a request from hardware (DRQ0 through DRQ3).

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-28

12.7 Timer CircuitryProgrammable Interval Timer, PIT

Amplifier CircuitFor Cassette Data Input

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-29

12.7 Timer Circuitry

Microprocessor interface and clock inputsThe timer circuitry controls four basic system functions:• Time-of-day clock.• DRAM refresh• Speaker• Cassette

The programmable interval timer, 8253, provides three independent, programmable, 16-bit counters for use in the microcomputer system.The control registers of the 8253 are located in the range 004016 through 004316 of the PC’s I/O address space.• 004016 -- Counter 0• 004116 -- Counter 1• 004216 -- Counter 2• 004316 -- Mode Control Register

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-30

12.7 Timer CircuitryOutputs of the PIT

The 8253 output OUT0 is produced by timer 0 and is set at a regular time interval equal to 54.936 ms. This output is applied to the timer interrupt request input (IRQ0) of the 8259A interrupt controller, where it represents the time-of-day interrupt.Timer output OUT1 is generated by timer 1 and also occurs at a regular interval of 15.12 μs. It is used to send request for service to the 8237A DMA controller and asks it to perform a refresh operation for the dynamic RAM subsystem.The output OUT2 is generated by time 2 and is used three ways in the PC:• It is sent as the signal T/C2 OUT to port C of the 8255A PIC.• It is used as an enable signal for speaker data.• It is used to supply the record tone for the cassette interface.

Page 6: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

6

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-31

12.8 Input/Output Circuitry8255A PIC

Inputting SystemConfiguration DIP Switch

Keyboard Interface Circuitry

Serial-in Parallel-out Shift Register

I/O Channel RAM Switch

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-32

12.8 Input/Output Circuitry

Three basic types of functions are performed through input/output circuitry:

For 8088 to input data from the keyboard and output data to the cassette and speaker.The 8088 use this interface to read the setting of DIP switches to determine system configuration information.Certain I/O ports are used for special functions, such as clearing the parity check flip-flop and reading the state of the parity check flip-flop through software.

The I/O circuitry of the PC system processor board is designed using the 8255-A programmable peripheral interface (PPI) IC.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-33

12.8 Input/Output Circuitry

8255A programmable peripheral interfaceThe 8255A PPI has three 8-bit ports for implementing inputs or outputs. In the PC, ports PA and PC are configured to operate as inputs, and the port PB is set up to work as outputs.The ports PA, PB,and PC reside at the I/O addresses 006016,, 006116, and 006216, respectively.The operation of the 8255A ports are configurable under software control. Writing a configuration byte to the command/mode control register does this. The command/mode control register is located at address 006316.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-34

12.8 Input/Output Circuitry

8255A programmable peripheral interfaceThe input port PA is used to both read the configuration switches of SW1 and communicate with the keyboard.Output port PB controls the cassette and speaker. It also supplies enable signals for RAM parity check, I/O channel check, and reading of the configuration switches or keyboardThe input port PC is used to read the I/O channel RAM switches (SW2), parity check signal, I/O channel check signal, terminal count status from timer 2, and cassette data.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-35

12.8 Input/Output CircuitryInputting system configuration DIP switch settings

EXAMPLEThe system configuration byte read from input port PA is 7D16.

Describe the PC configuration for these switch setting.Solution:

Use the IN AL, 60H instruction to obtain the data from port PA.Expressing the switch setting byte in binary form, we get

PA7PA6PA5PA4PA3PA2PA1PA0 = 7D16 = 011111012We find that

PA0 = 1 indicates that the system has floppy-disk drive(s)PA1 = 0 indicates that an 8087 is not installedPA3PA2 = 11 indicates that the memory is 256KPA5PA4 = 11 indicates a monochrome monitorPA7PA6 = 01 indicates that the system has two floppy drives.

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-36

12.8 Input/Output Circuitry

Scanning the keyboardThe keyboard of the PC is interfaced to the 8088 through port PA of the 8255A.The keyboard of the PC generates a keyscan codewhenever one of its keys is depressed. Bits of the keyscan code are input to the system processor board in serial form at the KBD DATA pin of the keyboard connector synchronously with pulses at KBD CLK. The serial data is applied to the 74LS322 serial-in, parallel-out shift register.In response to the IRQ1 interrupt request, the 8088 initiates a keyscan-code service routine. This routine reads the keyscan code by inputting the contents of the shift register.

Page 7: HARDWARE OF THEnova.bime.ntu.edu.tw/~ttlin/Course15/lecture_notes/C15_LECTURE_NOTE_12(6 in 1).pdfThe 8259A monitors the state of interrupt request lines IRQ 0 through IRQ 7 to determine

7

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-37

12.8 Input/Output Circuitry

Port C input and output functionsThe five connected I/O channel RAM switches are used to identify the amount of read/write memory provided through the I/O channel. The settings of these switches are read through the 8255A PPI.The four least significant bit lines of port PC indicate the status of the I/O channel RAM switches. The four most significant bit lines are supplied by signals generated else where on the system processor board. PC5 through PC7 allow the 8088 to read the state of the following signals through software:• RAM parity check (PCK)• I/O channel check (I/O CH CK)• Time terminal count (T/C2 OUT)• Cassette interface input (CASS DATA IN)

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-38

12.9 Input/Output Channel Interface

The input/output channel is the system expansion bus of the IBM personal computer.The chassis of the PC has five 62-pin I/O channel card slots. Using these slots, special function adapter cards can be added to the system to expand its configuration.62 signals are provided in each I/O channel slot:

8-bit data bus20-bit address busSix interruptsMemory and I/O read/write controlsClock and timing signalsA channel check signalPower and ground pins

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-39

12.9 Input/Output Channel Interface

I/O channel interface

國立台灣大學生物機電系

林達德611 37100 微處理機原理與應用 Lecture 12-40

12.9 Input/Output Channel InterfaceI/O channel interface

OTerminal countT/C

OResetRESET DRV

OOscillatorOSC

OMemory write commandMEMW

OMemory read commandMEMR

IInterrupt request 2 – 7 IRQ2 – IRQ7

OI/O write commandIOW

OI/O read commandIOR

II/O channel readyI/O CH RDY

II/O channel check I/O CH CK

IDMA request 1 – 3 DRQ1 – DRQ3

ODMA acknowledge 0 – 3DACK0 – DACK7

Data lines 0 – 7

Clock

Address latch enable

Address enable

Address lines 0-19

Name

OD0 – D7

OCLK

OALE

OAEN

OA0 - A19

FunctionMnemonic