throbber
CHAPTER1
`
`INTRODUCTION
`
`This publication describes the Intel“) 8086 family
`of microcomputing components, concentrating
`on the 8086, 8088 and 8089 microprocessors. It is
`written for hardware and software engineers and
`technicians who
`understand microcomputer
`operating principles. The manual is intended to
`introduce the product line and to serve as a refer-
`ence during system design and implementation.
`
`Recognizing that successful microcomputer—based
`products are judicious blends of hardware and
`software, the User’s Manual addresses both sub-
`jects, although at different levels of detail. This
`publication is the definitive source for informa-
`tion describing the 8086 family components. Soft-
`ware topics,
`such as programming languages,
`utilities and examples,
`are given moderately
`detailed, but by no means complete, coverage.
`Additional
`references,
`available from Intel’s
`Literature Department, are cited in the program-
`ming sections.
`
`1.1 Manual Organization
`
`The manual contains four chapters and three
`appendices. The
`remainder of
`this
`chapter
`describes the architecture of the 8086 family, and
`subsequent chapters cover
`the individual com-
`ponents in detail.
`
`Chapter 2 describes the 8086 and 8088 Central
`Processing Units, and Chapter 3 covers the 8089
`Input/Output Processor. These two chapters are
`identically organized and focus on providing a
`functional description of the 8086, 8088 and
`8089, plus related Intel hardware and software
`products. Hardware
`reference
`information—
`electrical characteristics,
`timing and physical
`interfacing considerations—for
`all
`three pro-
`cessors is concentrated in Chapter 4.
`
`Appendix A is a collection of 8086 family applica-
`tion notes;
`these provide design and debugging
`examples. Appendix B contains complete data
`sheets for all
`the 8086 family components and
`system development aids; summary data sheets
`covering compatible components from other Intel
`product lines are also reproduced in Appendix B.
`
`00000‘!
` w’# _
`
`7
`
`1-1
`
`1.2 8086 Family Architecture
`
`Considered individually, the 8086, 8088 and 8089
`are advanced third-generation microprocessors.
`Moreover,
`these processors are elements of a
`larger design,
`that of
`the 8086 family. This
`systems architecture specifies how the processors
`and other components relate to each other, and is
`the key to the exceptional versatility of these
`products.
`
`The components in the 8086 family have been
`designed to operate together in diverse combina-
`tions within the systematic framework of the
`overall family architecture. In this way a single
`family of components can be used to solve a wide
`array of microcomputing problems. A compo-
`nent mix can be tailored to fit the performance
`needs of an application precisely, without having
`to pay for unneeded capabilities that may be
`bundled into more monolithic, CPU-centered
`architectures. Using the same family of com-
`ponents across multiple systems limits the learn-
`ing curve problem and builds on past experience.
`Finally,
`the modular structure of
`the family
`architecture provides an orderly way for systems
`to grow and change.
`
`The 8086 family architecture is characterized by
`three major principles:
`
`1.
`
`are distributed among
`System functions
`specialized components.
`
`2. Multiprocessing capabilities are inherent in
`the hardware.
`
`3. A hierarchical bus organization provides for
`the complex data flows required by high-
`performance
`systems without burdening
`simpler systems with unneeded capabilities.
`
`Functional Distribution
`
`Table 1-1 lists the components that constitute the
`8086 microprocessor family. All components are
`contained in standard dual in-line packages and
`require single +5V power sources.
`Symantec 1033
`|PR2015-01892 - Symantec v. Finjan
`
`000001
`
`Symantec 1033
`IPR2015-01892 - Symantec v. Finjan
`
`

`
`INTRODUCTION
`
`
`Table 1-1. 8086 Component Family
`
`8086 Central Processing Unit (CPU)
`
`bit general-purpose micro-
` 8/16
`
`40
`HMOS
`processor; 16-bit external data path.
`
`
`
`HMOS 40
`8088 Central Processing Unit (CPU)
`
`
`
`bit general-purpose micro-
`8/16
`processor; 8-bit external data path.
`
`
`
`
`
`Support Component
`
`Technology Pins
`
`
`
`8089
`Input/Output Processor(|OP)
`HMOS
`40
`8/16 bit microprocessor optimized for
`high-speed I/O operations; 8-bit and
`
`16-bit external data paths.
`
`
`
`
`
`ldentifies
`highest-priority
`interrupt
`
`28
`NMOS
`8259A Programmable lnterruptController(P|C)
`request.
`
`
`8282 Octal Latch
`
`Bipolar
`20 Demultiplexes and increases drive of
`address bus.
`8283 Octal Latch (lnverting)
`
`
`
`
`
`8284 Clock Generator and Driver
` Bipolar
`
`8286 OctalBus Transceiver
`Bipolar
`20
`increases drive on data bus.
`
`8287 OctalBusTransceiver(|nverting)
`
`18
`
`Provides time base.
`
`
`
`
`8288 Bus Controller
`Bipolar
`20 Generates bus command signals.
`
`
`
`8289 Bus Arbiter
`Bipolar
`20 Controls access of microprocessors
`
`
`to multimaster system bus.
`
`Microprocessors
`line are three
`the product
`At
`the Core of
`microprocessors that share these characteristics:
`'
`Standard operating speed is 5 MHZ (200 ns
`cycle time); a selected 8 MHZ version of the
`8086 CPU is also available.
`
`'
`'
`
`I
`
`'
`
`Chlps are housed 1“ reliable 40'p‘“ pa°kage5-
`PF0CesS0fs Opefate 0h b0th 3-and 16-bit data
`types; thtethal data Paths are at least 16 bits
`Wide.
`Up to 1 megabyte of memory can be
`addressed, along with a separate 64k byte
`1/O space.
`The address/data and status interfaces of the
`processors are compatible (the address and
`data buses are time—multiplexed at the pro-
`cessor,
`i.e.,
`an address
`transmission is
`followed by a data transmission over a subset
`ofthe same physical lines).
`
`The 8086 and 8088 are third-generation central
`processing units (CPUs) that differ primarily in
`the” exterhat data Paths- The 3033 trahsters data
`between itself and other system components 8 bits
`at a time. The 8086 can transfer either 8 or 16 bits
`in one bus cycle and is
`therefore capable of
`greater
`throughput. Both processors have two
`operating modes, selectable by a strapping pin. ln
`minimum mode, the CPUs emit the bus control
`signals needed by memory and I/O peripheral
`components.
`In maximum mode, an 8288 Bus
`Controller assumes responsibility for controlling
`devices attached to the system bus. CPU pins no
`longer needed for bus control are then redefined
`10 PF0Vide signals that s11PP0Tt m111tiPF0CeSsh1g
`systems-
`
`The 8089 Input/Output Processor (IOP) is an
`independent microprocessor whose design has
`been optimized for transferring data. The 8089
`
`1-2
`
`
`
`000002
`
`

`
`INTRODUCTION
`
`
`typically runs under the direction of a CPU, but it
`executes a separate instruction stream and can
`operate in parallel with other system processors.
`The IOP contains two independent I/O channels
`that combine attributes of both CPUs and
`advanced DMA (direct memory access) con-
`trollers. The channels can execute programs and
`perform programmed 1/O operations similar to
`CPUs. They may also transfer data by DMA, at
`rates up to 1.25 megabytes per second (5 MHz
`version). The channels can support mixes of 8-
`and 16-bit I/O devices and memory. Combining
`speed with programmable intelligence,
`the 8089
`can assume the bulk of I/O processing overhead
`and thereby free a CPU to perform other tasks.
`
`Interrupt Controller
`
`The 8259A Programmable Interrupt Controller
`(PIC) is a new, 8086 family-compatible version
`of the familiar 8259 that has been enhanced to
`operate with the advanced interrupt facilities of
`the 8086 and 8088 CPUs. The 8259A accepts
`interrupt requests from up to eight sources; up
`to
`64
`sources may
`be
`accommodated by
`“cascading” additional 8259As. Each interrupt
`source is assigned a priority number that typi-
`cally reflects its “criticality” in the system. The
`8259A has
`several built-in, priority-resolving
`mechanisms that are selectable by software com-
`mands from the CPU. These modes operate
`somewhat differently, but in general the 8259A
`continuously identifies the highest-priority active
`interrupt
`request and generates an interrupt
`request
`to the CPU if
`this request has higher
`priority than the request currently being pro-
`cessed. When the CPU recognizes the interrupt
`request, the 8259A transfers a code to the CPU
`that identifies the interrupt source.
`
`Bus Interface Components
`
`Components may be selected from this modular
`group to implement different system bus con-
`figurations. Except for the 8284, all components
`are optional; their inclusion in a system is based
`on the needs of the application. All of the bus
`interface components are implemented using
`bipolar technology to provide high-quality, high-
`drive signals and very fast internal switching.
`
`an external crystal or TTL signal by three and
`outputs the 5 MHz or 8 MHz processor clock
`signal. It also provides the microprocessors with
`reset and ready signals.
`
`8282 or 8283 Octal Latches may be added to a
`system to demultiplex the combined address/ data
`bus generated by
`the
`8086
`family micro-
`processors. A demultiplexed
`bus
`provides
`separate stable address and data lines required by
`many
`peripheral
`components. Two
`latches
`demultiplex 16 bits of the bus to provide an
`address space of up to 64k bytes, while three
`latches generate the full 20-bit (megabyte) address
`space. The latches also provide the high drive on
`the address lines needed in larger systems.
`
`8286 and 8287 Octal Bus Transceivers are used to
`provide more drive on data lines than the pro-
`cessors themselves are capable of providing. One
`or two transceivers may be used depending on the
`width of the data bus (8 or 16 bits).
`
`The 8288 Bus Controller decodes status signals
`output by an 8089, or a maximum mode 8086 or
`8088. When these signals indicate that the pro-
`cessor is to run a bus cycle, the 8288 issues a bus
`command that identifies the bus cycle as memory
`read, memory write, I/O read, l/O write, etc. It
`also provides a signal that strobes the address into
`8282/83 latches. The 8288 provides the drive
`levels needed for the bus control lines in medium
`to large systems.
`
`The 8289 Bus Arbiter controls the access of a pro-
`cessor
`to a multimaster system bus. A multi-
`master bus is a path to system resources (typically
`memory)
`that
`is
`shared by two or more
`microprocessors
`(masters). Arbiters
`for each
`master may use one of several priority-resolving
`techniques to ensure that only one master drives
`the shared bus.
`
`Multiprocessing
`
`Employing multiple processors in medium to
`large systems offers several significant advantages
`over the centralized approach that relies on a
`single CPU and extremely fast memory:
`
`to
`allocated
`be
`system tasks may
`The 8284 Clock Generator and Driver provides
`special-purpose processors whose designs are
`the
`time base
`for
`the 8086
`family micro-
`optimized to perform certain types of tasks
`simply and efficiently;
`processors. It divides the frequency signal from
`
`
`0
`
` m I-3
`g_ 000003
`
`000003
`
`

`
` :
`
`INTRODUCTION
`
`0
`
`0
`
`0
`
`very high levels of performance can be
`attained when multiple
`processors
`can
`execute simultaneously (parallel processing);
`
`robustness can be improved by isolating
`system functions so that a failure or error in
`one part of the system has a limited effect on
`the rest of the system;
`
`system
`the
`the natural partitioning of
`promotes parallel development of
`sub-
`systems, breaks the application into smaller,
`more manageable tasks, and helps isolate the
`effects of system modifications.
`
`The 8086 family architecture is explicitly designed
`to simplify the development of multiple processor
`systems by providing facilities for coordinating
`the interaction of the processors.
`
`The architecture supports two types of pro-
`cessors:
`independent processors
`and
`coprocessors. An independent processor is one
`that executes its own instruction stream. The
`8086, 8088 and 8089 are examples of independent
`processors. An 8086 or 8088 typically executes a
`program in response to an interrupt. The 8089
`starts its channels in response to an interrupt-like
`signal called a channel attention;
`this signal
`is
`typically issued by a CPU.
`
`The 8086 architecture also supports a second type
`of processor, called a coprocessor. Coprocessor
`“hooks” have been designed into the 8086 and
`8088 so that
`this
`type of processor can be
`accommodated in the future. A coprocessor dif-
`fers from an independent processor in that
`it
`obtains its instructions from another processor,
`called a host. The coprocessor monitors instruc-
`tions fetched by the host and recognizes certain of
`these
`as
`its
`own
`and
`executes
`them. A
`coprocessor, in effect, extends the instruction set
`of its host processor.
`
`The 8086 family architecture provides built-in
`solutions to two classic multiprocessing coordina-
`tion problems: bus arbitration and mutual exclu-
`sion. Bus arbitration may be performed by the
`bus request/grant logic contained in each of the
`processors, by 8289 Bus Arbiters, or by a com-
`bination of the two when processors have access
`to multiple shared buses. In all cases, the arbitra-
`tion mechanism operates invisibly to software.
`
`For mutual exclusion, each processor has a
`LOCK (bus lock) signal which a program may
`activate to prevent other processors from obtain-
`ing a shared system bus. The 8089 may lock the
`bus during a DMA transfer to ensure that both
`the transfer completes in the shortest possible
`time and that another processor does not access
`the target of the transfer (e.g., a buffer) while it is
`being updated. Each of the processors has an
`instruction that examines and updates a memory
`byte with the bus locked. This instruction can be
`used to implement a semaphore mechanism for
`controlling the access of multiple processors to
`shared resources. (A semaphore is a variable that
`indicates whether a resource, such as a buffer or a
`pointer,
`is “available” or “in use”; section 2.5
`discusses semaphores in more detail).
`
`Bus Organization
`
`Figure 1-1 summarizes the 8086 family bus struc-
`ture. There are two different
`types of buses:
`system and local. Both buses may be shared by
`multiple processors,
`i.e., both are multimaster
`buses. Microprocessors are always connected to a
`local bus, and memory and I/O components
`usually reside on a system bus. The 8086 family
`bus interface components link a local bus to a
`system bus.
`
`Local Bus
`
`The local bus is optimized for use by the 8086
`family microprocessors. Since standard memory
`and I/O components are not attached to the local
`bus, information can be multiplexed and encoded
`to make very efficient use of processor pins (cer-
`tain MCS-85”‘ peripheral components can be
`directly connected to the local bus). This allows
`several pins to be dedicated to coordinating the
`activity of multiple processors sharing the local
`bus. Multiple processors connected to the same
`local bus are said to be local to each other; pro-
`cessors on different
`local buses are said to be
`remote to each other, or configured remotely.
`Both independent processors and coprocessors
`may share a local bus; on-chip arbitration logic
`determines which processor drives
`the bus.
`Because the processors on the local bus share the
`same bus interface components,
`the local con-
`figuration of multiple processors provides a com-
`pact and inexpensive multiprocessing system.
`
`
`I-4
`OOOOO4
`
`000004
`
`

`
`INTRODUCTION
`
`
`
`
`.,I
`
`r _ _ - 1
`I
`I
`
`BUS
`|
`BUS
`|
`INTERFACE
`PROCESSOR
`INTERFACE
`
`GROUP
`I
`GROUP
`I
`I
`
`MODULE
`PROCESSING
`
`I
`I
`L______I
`
`1
`
`LOCAL BUS
`_Y_
`.. 2..
`r
`‘1
`I‘
`‘I
`I
`I
`I
`II=RocEssoRI
`I=RocEssoRI
`I
`I
`I
`I
`I
`I
`I
`I
`L _ _ _ .I L _ _ _ 4
`
`PUBLIC
`MEMORY
`
`puguc
`I/0
`
`— — — — —
`
`”“I‘28§fIi'E"°
`
`_I
`I—
`I
`I
`I
`-II
`I
`I
`L _ _ _ - _ _I
`
`r———.'
`
`.
`
`N
`
`PRIVATE I
`I
`I MEMORY I
`I
`I
`I. _ _ — J
`
`III”
`E:
`am
`>-
`'____1 E;
`I
`I
`“I
`I
`|
`I
`"
`
`PRl|y6\TE
`
`|
`I
`_ _ _ .1
`
`PROCESSING
`
`I I I I
`
`I
`I
`I
`I
`I
`|
`|
`:
`I
`I
`-
`:
`
`|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _J
`
`Figure 1-1 . Generalized 8086 Family Bus Structure
`
`System Bus
`
`A full implementation of an 8086 system bus con-
`sists of the following five sets of signals:
`
`I
`
`.
`
`address bus,
`
`The system bus design is modular and subsets
`may be implemented according to the needs of the
`application. For example, the arbitration lines are
`not needed in single-processor systems or
`in
`multiple-processor systems that perform arbitra-
`tion at the local-bus level.
`
`lJIJ>LaIt\3
`
`data bus,
`
`control lines,
`
`interrupt lines, and
`arbitration lines.
`
`A group of bus interface components transforms
`the signals of a local bus into a system bus. The
`number of bus interface components required to
`generate a system bus depends on the size and
`complexity of the system;
`reduced application
`needs translate directly into reduced component
`counts. These main variables determine the con-
`These signals are designed to meet the needs of
`standard memory and I/O devices;
`the address
`figuration of a bus interface group: address space
`size (number of latches), data bus width (number
`and data buses are demultiplexed and traditional
`of transceivers), and arbitration needs (presence
`control
`signals
`(memory
`read/write,
`I/O
`of a bus arbiter).
`read/write, etc.) are provided on the system bus.
`
`
`OOOOO5
`
`
`000005
`
`

`
`INTRODUCTION
`
`
`The 8086 family system bus is functionally and
`electrically
`compatible with
`the MultibusTM
`multimaster system bus used in Intel’s iSBCT'V'
`line of single board computing products. This
`compatability gives system designers access to a
`wide variety of computer, memory, communica-
`tions and other modules that may be incorporated
`into products, used for evaluation or for test
`vehicles.
`
`tention for use of the public system bus can be
`held to a minimum to ensure that
`shared
`resources are quickly available when they are
`needed.
`In addition, processors
`in
`separate
`modules can simultaneously fetch instructions
`from private memory spaces to allow multiple
`system tasks to proceed in parallel.
`
`Processing Modules
`
`The processor(s) and bus interface group(s) that
`are connected by a local bus constitute a process-
`ing module. A simple processing module could
`consist of a single CPU and one bus interface
`group. A more complex module would contain
`multiple processors, such as two IOPs, or a CPU
`and one or two IOPs. One bus interface group
`typically links the processors in the module to a
`public system bus. If there are multiple processing
`modules in the system, all memory or 1/0 con-
`nected to the public bus is accessible to all pro-
`cessing modules on the public bus. 8289 Bus
`Arbiters in each processing module control the
`access of the modules to the public bus and hence
`to the public memory and 1/0.
`
`Bus Implementation Examples
`
`This section summarizes the 8086 family bus
`organization by showing how components from
`the family can be combined to implement diverse
`bus configurations. The
`first
`two examples
`illustrate special cases that extend the applicabil-
`ity of the 8086 family to smaller systems. The
`remaining examples add and recombine the same
`basic components to form progressively more
`complex bus configurations. Note that
`these
`examples are intended to be illustrative rather
`than exhaustive; many different combinations of
`components can be tailored to fit the needs of
`individual applications.
`
`the 8088
`In its minimum mode configuration,
`time-multiplexes its 8-bit data bus with the lower
`eight bits of its 20-bit address bus (figure 1-2).
`This multiplexed address/data bus, and the bus
`control signals emitted by the 8088, are directly
`compatible with the multiplexed bus components
`of Intel’s 8085 family. These peripherals contain
`on-chip logic that demultiplexes a combined
`address/data bus.
`In addition, many of these
`devices
`are multifunctional,
`combining,
`for
`example, RAM, I/O ports and a timer on a single
`chip. By using these components, it is possible to
`build small (as few as four chips) economical
`systems that are nonetheless capable of perform-
`ing significant computing tasks.
`
`
`A second bus interface group may be connected
`to a processing module’s local bus, generating a
`second bus. This bus can provide the processing
`module with a private address space that is not
`accessible to other processing modules. Distri-
`buting memory and I/O resources in this manner
`can improve system robustness by isolating the
`effects of failures.
`It can also increase system
`throughput dramatically. If processor programs
`and local data are placed in private memory, con-
`
`
`
`
`CLOCK
`3284
`GENERATOR
`
`soaa MULTIPLEXED
`
`ADDRESSI aus
`DATA LINES
`
`
`CONTROL LINES
`
`Figure 1-2. 8088 Multiplexed Bus
`
`000006
`
`

`
`INTRODUCHON
`
`
`Combining 8282/83 latches with a minimum
`mode 8086 or 8088 produces a minimum mode
`system bus (figure 1-3). Two latches provide an
`address space of up to 64k bytes; adding a third
`latch provides access to the full megabyte of
`memory. An 8288 Bus Controller is not required
`for this implementation as the CPUs themselves
`emit the bus control signals when they are con-
`figured in the minimum mode. This demulti-
`plexed bus structure is compatible with the wide
`array of memory and I/O components that have
`
`been developed for the industry-standard 8080A
`CPU. Eight-bit peripherals may be connected to
`both the upper and lower halves of the 8086’s
`16-bit data bus. 8286/87 transceivers may be
`added to provide additional drive on the data
`lines, where required. Including an 8259A gives
`the CPU the ability to respond to multiple inter-
`rupt sources without polling. The minimum mode
`system bus configuration is well-suited to a
`variety of systems whose computational require-
`ments can be met by a single 8086 or 8088 CPU.
`
`
`
`'_ _ _ _ _ _ .1
`3259A
`I
`: PR(l)'?rlREIl\‘MMABLE | RUPT
`nsouesr
`I
`CONTROLLER
`I
`Lmgs
`u_
`_ .. _ _ J
`
`MINIMUM
`MODE
`SYSTEM
`BUS
`
`
` B284
`CLOCK
`GENERATOR
` LOCAL BUS
`
`
`
`CONTROL LINES
`
`
`
`8282/B3
`
`LATCHES
` ADDRESS LINES
`
`
`
`DATALINES
`
`
`
`l"""1
`8286/87
`TRANS-
`I CEIVERS
`
`I
`
` I
`
`L_.._.l
`
`Figure 1-3. Minimum Mode System Bus
`
`
`000007
`1-7
` j
`
`000007
`
`

`
`INTRODUCTION
`
`When an 8086 or 8088 is configured in maximum
`mode and an 8288 is added to control the system
`bus, one or two 8089s may be directly connected
`to the CPU (figure 1-4). The processors all share
`the same latches, transceivers, clock and bus con-
`troller, via the local bus. Arbitration logic built
`into the 8086, 8088 and 8089 coordinates use of
`the local bus, and thus of the system bus. This bus
`configuration enables the powerful [/0 handling
`capabilities of the 8089 to be incorporated into
`systems of moderate size and cost.
`
`The 8289 enables high-performance systems to be
`designed as a series of independent processing
`modules whose activities are coordinated via a
`shared system bus. Figure 1-5 shows the multi—
`
`master system bus interface; this bus structure is
`electrically
`compatible with
`the Multibusm
`architecture used in Intel
`iSBCTM single-board
`computing systems.
`
`Several different combinations of processors may
`be attached to the local bus of a multimaster com-
`puting module:
`
`0
`

`0
`
`0
`
`0
`
`a single 8086 or 8088
`
`a single 8089
`two 8089s
`
`an 8086 or 8088 and one 8089
`
`an 8086 or 8088 and two 8089s
`
`I_ _ ._ _ _ 1
`I
`8259A
`I
`
`PROGRAMMABLE I
`INTERRUPT LINES
`INTERRUPT I CONTROLLER I
`
`
`
`E
`
`CONTROLLINES
`
`SYSTEM
`BUS
`
`ADDRESS LINES
`
`DATA LINES
`
`
`CONTROLLER
`
`iaifé
`
`
`
`
`
`
`
`MULTIMASTERLOCALBUS
`
`B282/83
`
`LATC H ES
`
`I'_—__'|
`I
`I
`‘_+:
`:
`I
`I
`L____J
`
`538;
`
`
`
`8284
`CLOCK
`GENERATOR
`
`
`
`8086/
`8088
`CPU
`
`<-—>
`
`8089
`IOP
`
`
`
`B286/B7
`
`TRANSCEIVERS
`
`
`
`
`1-8
`
`Figure 1-4. Multimaster Local Bus
`
`000008
`
`

`
`INTRODUCTION
`
`
`INTERRUPT LINES
`
`8259A
`I
`IPROGRAMMABLEI
`mrennuw
`cournouen
`
`ARBITRATION
`
`MULTIMASTER
`SYSTEM 8US
`
`
`
`8288
`CONTROL LINES
`8US
`
`
`CONTROLLER
`
`ADDRESS LINES
`8282/83
`LATCHES
`
`
`8284
`CLOCK
`
`
`GENERATOR MULTIMASTER
`
`LOCALBUS
`
`
`
`8286/87
`TRANSCEIVERS
`
`DATA LINES
`
`
`
`
`
`Figure 1-5. Basic Multimaster Processing Module_
`
`All of the processors on the local bus obtain
`access to the system bus through a single set of
`interface components.
`
`One or two 8089s in a multimaster processing
`module may be configured with a private I/O bus
`as shown in figure 1-6.
`In this configuration,
`memory access commands are directed to the
`public multimaster system bus, while I/O com-
`mands use the private I/O bus. Memory, contain-
`ing the 8089’s programs, as well as I/O devices,
`
`
`may be connected to the private I/O bus. Taking
`this approach can greatly reduce the 8089’s use of
`the system bus as most memory and I/O accesses
`can be made to the private address space. The
`system bus is thus made available for use by other
`processors, and the 8089 can execute in parallel
`with other processors for extended periods. A
`limited private I/O bus may be implemented
`using the 8-bit multiplexed peripherals of the 8085
`family, eliminating the latches and transceivers
`shown in figure I-6.
`
`OOOOO9
`
`
`000009
`
`

`
`
`
`INTRODUCTION
`
`
`
`
`INTERRUPT LINES
`
`
`
`B284
`CLOCK
`GENERATOR
`
`
`‘ ARBITRATION LINES
`
`’
`
`MuLT|MASTER
`SYSTEM BUS
`
`B288
`BUS
`CONTROL LINES
`
`CONTROLLER
`
`
`
`
`
`‘
`
`CONTROL LINES
`
`ADDRESS LINES
`B282/B3
`LATC HES
`
` 5232,33
`LATCHES
`
`ADDRESS LINES
`
`PRIVATE
`I/O BUS
`
`
`
`
`
`
`ILOCALBUS
`'
`
`‘
`
`DATA LINES
`
`B286/B7
`TRANSCEIVERS
`
`MULTIMASTER
`
`-4:1>ztn0 E<rn:1tn
`5256,37
`
`F"_'1
`I
`I
`|
`|
`I
`L____J
`
`I I
`
`‘
`
`DATA LINES
`
`Figure 1-6. Private [/0 Bus
`
`
`Adding a second 8288 to the local bus allows an
`8086 or 8088 in a processing module to divide its
`address space into system and resident sections
`(figure 1-7). A PROM or decoder is used to direct
`an address reference to the system bus or to the
`resident bus. The resident bus allows the CPU to
`run out of its own address space to minimize its
`
`use of the system bus. Since no other processors
`can access the private memory on the CPU’s resi-
`dent bus, operating system code and data in this
`space is protected from errors in other processor
`programs. lf a second 8289 is added to a resident
`bus module,
`the resident bus becomes a second
`multimaster system bus.
`
`" "*—”"‘—j‘oooo1o““ "— "'— ""
`1-10
`
`000010
`
`

`
`INTRODUCTION
`
`
`INTERRUPT
`REOUEST
`LINES
`
`F__ __1
`
`I I
`
`I
`
`IPROGRAMMABLE
`a25aA
`INTERRUPT
`I
`CONTROLLER I
`.-- __.I
`
`II
`
`I E
`
`mm =
`
`ma
`CLOCK
`GENERATOR
`
`
`
`aoasx
`aoaa
`cpu
`
`CONTROLLINES
`
`azaa
`BUS
`
`E 3
`g 5
`5 3
`
`CONTROLLER
`
`
`
`B282/B3
`LATCHES
`
`
`
`
`PROM on
`DECODER
`
`RESIDENT
`BUS
`
`ADDRESS LINES
`
`LINES
`
`B288
`BUS
`CONTROLLER
`
`CONTROL LINES
`
`8282/83
`
`ADDRESS LINES
`
` ARBITRATION
`LATC H ES
` B288/B7
`
`MULTIMASTER
`SYSTEM BUS
`
`'
`
`DATA LINES
`
`I‘ _ _ _ _ _ ‘I
`I
`I
`
`I mm,
`I TRANSCEIVERS
`I
`
`I
`
`I
`
`TRANSCEIVERS
`
`I
`
`DATA LINES
`
`Figure 1-7. Resident Bus
`
`As an alternative to the resident bus, a private
`read—only memory space can be implemented
`using the RD (read) signal provided by the CPUs
`in lieu of an 8288 Bus Controller.
`
`multimaster processing modules. (For clarity, bus
`interface components are not shown in figure
`1-8.) A supervisor module controls the system,
`primarily responding to interrupts
`and dis-
`patching other modules to perform tasks. The
`supervisor CPU, like the other processors in the
`system, executes code from private memory that
`is inaccessible to other modules. System memory,
`which is accessible to all the processors,
`is used
`only for messages, common buffers, etc. This
`helps to “protect” the processors from each other
`and to keep system bus contention at a minimum.
`The database module is responsible for maintain-
`ing all system files. Each of the three graphics
`modules supports a graphics CRT terminal. An
`8089 in each module performs data transfers and
`CRT refresh and calls upon an 8088 for intensive
`Figure 1-8 illustrates a hypothetical system in
`computational routines.
`which nine processors are distributed among five
`
`
`Multiprocessing systems of widely varying com-
`plexity can be constructed from multimaster pro-
`cessing modules. Each module can be designed
`and implemented separately and can be optimized
`to perform a given task. The modules can com-
`municate with each other by means of interrupts
`and messages placed in system memory. Addi-
`tional functions can be added to a system by
`incorporating the new functions into modules and
`connecting the modules to the system bus.
`
`00001 1
` ,_.-.... ._-_ .
`
`000011
`
`

`
`INTRODUCTION
`
`
`
`°,‘,‘.I,’E,'?,’.‘_‘°,é_E
`
`PRIVATE
`MEMoRv
`
`PRIVATE
`I/0
`
`o
`2
`W
`E W
`E 3
`
`5059
`IOP
`
`3059
`IoP
`
`o
`>
`“‘
`E U,
`E 3
`
`
`
`PRIVATE
`MEMORY
`
`PRIVATE
`I/0
`
`GRAPHICS
`MODULE
`
`8086
`CPU
`
`8089
`IOP
`
`8088
`CPU
`
`MULTIMASTER
`
`SYSTEMBUS
`
`SYSTEM
`MEMORY
`
`8089
`IOP
`
`8088
`CPU
`
`PRIVATE
`MEMORY
`
`
`
`PRIVATE
`I/O
`
`
`
`PRIVATEI/O
`
`BUS
`
`GRAPHICS
`MODULE
`
`RESIDENT
`BUS
`
`
`
`MEMORY
`PRWATE
`
`PRIVATE
`MEMORY
`
`
`
`PRIVATE
`I/O
`
`
`
`PFIIVATEI/O
`
`suPERvIsoR
`MODULE
`
`GRAPHICS
`MODULE
`
`Figure 1-8. Multimaster Design Example
`
`
`13 Development Aids
`
`system may be used to develop systems based on
`other lntel microprocessor families such as the
`8085 and the 8048.
`
`Intel provides the sophisticated tools needed for
`timely and economical development of products
`based on the 8086 family. The 8086 family system
`development environment
`is
`focused on the
`lntellec® Series II Microcomputer Development
`System (figure 1-9). The lntellec system is a
`multiple-microprocessor
`system that
`runs
`ISIS-ll, a disk-based operating system that has
`been proven in thousands of installations. The
`lntellec has built-in interfaces for a printer,
`a PROM programmer
`and
`a
`paper
`tape
`reader/punch. This same hardware and operating
`
`Three language translators support 8086 family
`programming. PL/M-86 is a high-level language
`for the 8086 and 8088 that supports structured
`programming
`techniques.
`It
`is
`upward-
`compatible with PL/M-80, the most widely used
`high-level microprocessor language. ASM-86 may
`be used to write assembly language programs for
`the 8086 and the 8088 CPUs and gives the pro-
`grammer access to the full power of these CPUs.
`8089 programs are written in ASM—89, the 8089
`assembly language.
`
`W
`
`I-12
`
`000012
`
`

`
`INTRODUCTION
`
`
`The language translators produce compatible out-
`puts that can be manipulated by the software
`development utilities. LINK-86, for example, can
`combine programs written in ASM-86 with
`PL/M-86 programs. LIB-86 allows related pro-
`grams to be stored in libraries to simplify storage
`and retrival. LOC-86 assigns absolute memory
`addresses to programs. OH-86 changes the for-
`mat of an executable program for PROM pro-
`gramming or for loading into the RAM of a test
`vehicle.
`
`The UPP-301 Universal PROM Programmer can
`burn programs
`into any of
`lntel’s PROM
`memories;
`the UPP plugs
`into the lntellec®
`system and
`allows
`program data
`to
`be
`manipulated from the console before it
`is pro-
`grammed into the PROM.
`
`The SDK-86 is an (minimum mode) 8086-based
`prototyping and evaluation kit. It
`includes the
`CPU, RAM, I/O ports and a breadboard area for
`interfacing customer circuits. A ROM-based
`monitor program is
`supplied with the kit.
`Monitor commands may be entered from an on-
`board keypad or from a terminal;
`the monitor
`returns results to the SDK-86’s on-board LED
`display or
`to a terminal. Monitor commands
`allow programs to be entered, run, stopped, and
`single-stepped; memory contents can be altered as
`well as displayed. The SDK-C86 Software and
`Cable
`Interface connects an SDK-86 to an
`
`lntellec® system. The software supplied with the
`cable enables programs to be transferred between
`the development system and the SDK-86 to allow
`users to develop programs using the text editor,
`translators and utilities of the lntellec system and
`then download the program to the SDK-86 for
`execution.
`
`The iSBC 86/12”" board is a high-performance
`single board computer based on a maximum
`mode 8086 CPU. The board contains 32k of dual-
`port RAM that is accessible to the CPU via the
`on-board bus and to other processors via the
`built-in MultibusT"" interface. The board also has
`an asynchronous serial port, parallel ports with
`sockets for drivers and terminators,
`two timers
`and sockets for 16k of ROM.
`
`An iSBC 86/12”” can be linked to an lntellec®
`system using the iSBC 957"" lntellec-iSBC 86/12
`Interface and Execution Package. The package
`includes a ROM-based monitor for
`the iSBC
`86/12 board, software for the lntellec system and
`cabling to connect the two. The package supports
`data transfers between lntellec diskettes and iSBC
`86/12 memory, full speed execution of customer
`programs on the iSBC 86/I2 board, breakpoints,
`single-stepping, and data moves, replacements,
`searches
`and compares. All
`commands
`are
`entered from the lntellec console.
`
`The lCE—86TM module is an in-circuit emulator
`for the 8086 microprocessor. A 40-pin probe
`replaces the 8086 in the system under test. This
`probe is connected to ICE-86 circuit boards that
`in turn plug into the Intellec@ chassis. The ICE-86.
`module emulates the 8086 in the system under test
`in response to commands entered through the
`lntellec console. These commands allow the user
`to debug the system by setting breakpoints, trac-
`ing
`the
`flow of
`execution,
`single-stepping,
`examining and altering memory and 1/0, etc. All
`references to program variables and labels are
`symbolic (i.e., their PL/M-86 or ASM-86 names).
`Software testing can also map “system under
`test” memory

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket