AMD
P R E L I M I N A R Y
7
Am29040 Microprocessor
Parity
The Am29040 microprocessor provides byte parity
checking and generation on the instruction/data bus.
When parity is supplied by the system, the processor
checks for valid parity during the cycle after the data is
received, and parity is checked only for those bytes ac-
tually involved in the transfer. The Am29040 micropro-
cessor allows parity errors on instruction and data
accesses to be differentiated from one another.
Enhanced Memory Management Unit
The Am29040 microprocessor provides an enhanced
memory-management unit (MMU) for translating virtual
addresses into physical addresses. The page size for
translation ranges from 1 Kbyte to 16 Mbyte in powers of
four. The Am29040 microprocessor has dual 16-entry
TLBs, each capable of mapping pages of different size.
In addition to the traditional functions, the Am29040 mi-
croprocessor’s MMU includes several features that en-
hance the performance of the entire system.
Parity Checking—The MMU allows the designer to
define which parts of memory are checked for parity .
Data Cacheability by Page—Though the data
cache uses a copy-back policy for most blocks, indi-
vidual virtual pages can be marked as write-through
by the MMU. The MMU also allows pages to be
marked as noncacheable, so that all accesses to the
page are performed on the external bus.
Programmable Bus Sizing—Using the MMU, the
Am29040 processor’s instruction/data bus can be
dynamically programmed to be either 16 or 32 bits
wide for data transfers. This enables the Am29040
microprocessor to write either 16-bit or 32-bit devices.
The processor automatically performs multiple
16-bit writes when writing more than 16 bits to a
16-bit external device.
This unique feature provides a flexible interface to
low-cost memory, as well as a convenient, flexible
upgrade path. For example, a system can start with a
16-bit memory design and can subsequently im-
prove performance by migrating to a 32-bit memory
design. Of particular advantage is the ability to add
memory in half-megabyte increments. This provides
significant cost savings for applications that do not
require larger memory upgrades.
Low-Power Snooze and Sleep Modes
Within the wait mode, the Am29040 microprocessor of-
fers two special standby modes for low power dissipa-
tion: Snooze mode and Sleep mode. The Snooze mode
has slightly higher power dissipation than Sleep mode,
but is invoked automatically without external hardware,
whereas Sleep mode requires external hardware to
gate off clocks.
Because the processor’s internal clocks are disabled,
the power dissipated in Snooze mode is only that
associated with internal leakage, trap and interrupt syn-
chronization, and on-chip clock generation. Minimum
power dissipation is achieved in Sleep mode by holding
the input clock High or Low. In this case, the power dissi-
pated is only that associated with internal leakage. Both
Snooze and Sleep modes can be used by product de-
signers interested in gaining the U.S. Environmental
Protection Agency’s “Energy Star” certification.
Narrow Read Interface
The Am29040 microprocessor can be connected to 8-,
16-, or 32-bit memories. If the data size accessed is larg-
er than that supported by memory, the processor auto-
matically generates the necessary sequencing to
perform multiple reads.
This ability to perform narrow reads is particularly useful
for a ROM interface. Using narrow reads, the processor
can execute a bootstrap program from a small boot
ROM to download the application program into RAM.
This not only allows the use of low-cost ROMs, it also
conserves board space and allows easy revision of ap-
plication code.
Streamlined System Interface
The Am29040 microprocessor employs a streamlined,
two-bus external interface, which comprises an ad-
dress bus and an instruction/data bus. The large on-
chip instruction and data caches of the Am29040
microprocessor satisfy the instruction and data band-
width requirements. This allows the use of lower-per-
formance and lower-cost memory, provides a
reduction in the memory-system parts count, and re-
duces the board area required for the memory system.
In addition, the simplified design requirements reduce
development costs.
Pin, Bus, and Binary Compatibility
Compatibility within a processor family is critical for
achieving a rational, easy upgrade path. The Am29040
microprocessor provides compatibility on several lev-
els. The processors are pin, bus, and binary compatible
with the Am29030 and Am29035 processors. Pin and
bus compatibility ensures a convenient upgrade path,
without hardware or software redesign, for embedded
applications. In addition, the processors are binary com-
patible with the existing members of the 29K family (the
Am29000, Am29005, and Am29050 microprocessors,
and the Am29200, Am29202, Am29205, Am29240,
Am29243, and Am29245 microcontrollers).