View
225
Download
2
Category
Preview:
DESCRIPTION
8086 lect12
Citation preview
1HARDWARE 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: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
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 circuitry Clock 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 8088s 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 8088s status lines and produces appropriate system bus control signals.The 8288 also produces I/O and memory read and
write control signals.
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 8259As 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 XA0
to 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
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 circuitry In 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
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 circuitryDMA 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 inputs The 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 PCs 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.
6
611 37100 Lecture 12-31
12.8 Input/Output Circuitry
8255A 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 keyboard
The 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 Circuitry Inputting 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 code
whenever 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.
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 bus 20-bit address bus Six interrupts Memory and I/O read/write controls Clock and timing signals A channel check signal Power 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 Interface I/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
/ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False
/CreateJDFFile false /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure false /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles false /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /DocumentCMYK /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /UseDocumentProfile /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice
Recommended