EasyManua.ls Logo

Intel 8253 - Page 24

Intel 8253
773 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
EDN S
EPTEMBER
24, 1998
b 155
Motorola built the 680x0 archi-
tecture around 16 general regis-
ters with a 68000-compatible,
orthogonal instruction set. The
680x0 has more registers than the
original 68000. Motorola added
the control registers to control the
memory-management unit
(MMU) and the floating-point
unit (FPU) and to support addi-
tional processing capabilities. For
example, the 68040 adds eight 80-
bit floating-point registers and 12
control registers.These registers
include a vector-base register,
points to an interrupt-vector
table; a cache-control register;
user and supervisor root pointers;
and translation registers.
The superscalar 68060 heads
the 680x0 line-up with its dual
integer and floating-point pipe-
lines. As instructions enter the
CPU, they flow into a four-stage
prefetch pipeline: instruction-
address generation, instruction
cycle, instruction early decode, and instruction buffer. In this
pipeline, the 680x0 converts 68000-compatible, variable-
length CISC instructions to a fixed-length instruction. These
instructions then enter dual, four-stage, synchronously oper-
ating, integer-execution pipelines. The decode, effective-
address-calculation, fetch, and integer-execution pipeline
dispatches instructions to the FPU and allows for some exe-
cution overlap between the integer and FPU engines.
A Harvard architecture allows the 68060 to perform simul-
taneous instruction fetches and data accesses. The four-way
set-associative, four-way-interleaving, on-chip caches sup-
port simultaneous read and write operations. You can freeze
portions of the caches to prevent reallocation.
The 68040 implements a fetch, decode, effective-address-
calculation, effective-address-fetch, execute, and write-back
pipeline. To speed processing, the device has two 4-kbyte
direct-mapped caches and separate data and instruction
MMUs, which allow simultaneous address translations. The
040 includes bus snooping to ensure cache coherency for
multiprocessing. The cache supports both write-through and
copy-back modes. The 68020 and 68030 CISC implementa-
tions have smaller caches; the 030 and 040 versions imple
-
ment burst mode, moving as much as 16 bytes in an address
-
ing block between registers and memory
.
The 040 and 060 deliver apparent single-cycle execution
for some instructions, mainly register operations such as
memor
y-to-register moves if the data is in the data cache. A
taken branch takes two cycles; a not-taken branch takes
three cycles. On the 68060, a 256-entr
y, four-way
, set-asso
-
ciative, on-chip branch cache allows taken and nontaken
branches to execute in zero and one clock, respectively
. The
branch-cache unit contains state bits that provide a histor
y
of branch executions, which helps to predict branch direc
-
tion.
Unlike the 020/030, the 040 and 060 perform no dynam
-
ic bus sizing. Instead, they have a highly reliable bus with a
high-drive option that can implement a synchronous, two-
clock read/write protocol. A 4-word burst takes five clocks.
The 040 includes multiprocessor-bus arbitration but requires
off-chip logic. Externally, the 68060 bus is a superset of the
68040 bus. Additional signals support higher performance
system designs, but the processor can easily operate on a
68040-based bus. An on-chip MMU with separate instruction
and data translation-look-aside buffers allows the 68060 to
access as much as 4 Gbytes of memory.
Power management: To support power management, the
68060’s functional units respond to dynamically controlled
clocking; the caches and execution units power down when
not accessed. The static design allows you to reduce or stop
the external clock, and a low-power-stop (LPSTOP) instruc-
tion disconnects most of the chip from the clock pin.
Special instr
uctions:
The CPUs have special instructions for
variable-length bit fields; moving 16 registers; compare; and
swap, which locks memor
y for multiprocessing. A scaling
option addresses data by item size for table-access, FPU, and
MMU commands.
The 68040 and 68060 have a special move instruction
(MOVE16) to perform a 16-byte block move and a PLP
A
instruction that loads a physical address by translating a log-
ical address. A table instruction performs a table look-up and
interpolates the data.
Special peripherals: The MC68150 allows the 68040,
LC040, and EC040 bus to communicate bidirectionally with
32-, 16-, or 8-bit peripherals and memories. The XC68HC901
multifunction peripheral comprises a one-channel USART
and an eight-sour
ce interrupt controller.
Development tools: The 680x0 shares many of the same
tools as the 68EC000.
Second sources:T
oshiba acts as a second source for some ver
-
sions of the 680x0.
Motorola 680x0
INSTRUCTION
ATC
INSTRUCTION
CACHE
INSTRUCTION-CACHE
CONTROLLER
INTEGER UNIT
INSTRUCTION
ADDRESS
DATA
ADDRESS
CONTROL
DATA
ATC
DATA
CACHE
DATA-CACHE
CONTROLLER
IA
GENERATE
INSTRUCTION
FETCH
EARLY
DECODE
BRANCH
CACHE
INSTRUCTION-FETCH CONTROLLER
INSTRUCTION BUFFER
INT EXECUTE
EA FETCH
EA
GENERATE
DECODE
INT EXECUTE
FLOATING-
POINT
EXECUTE
EA FETCH
EA FETCH
EA
GENERATE
DECODE
FPU
INSTRUCTION-EXECUTION CONTROLLER
DATA AVAILABLE
WRITE-BACK
OPERAND DATA BUS
BUS CONTROLLER

Table of Contents