05-04-2012, 02:13 PM
ARM system -on -chip architecture
Aims
Aims 23.docx (Size: 134.61 KB / Downloads: 30)
Aims 24.docx (Size: 253.84 KB / Downloads: 34)
This book introduces the concepts and methodologies employed in designing a
system-on-chip (SoC) based around a microprocessor core and in designing the
microprocessor core itself. The principles of microprocessor design are made concrete
by extensive illustrations based upon the ARM.
The aim of the book is to assist the reader in understanding how SoCs and microprocessors
are designed and used, and why a modern processor is designed the way
that it is. The reader who wishes to know only the general principles should find that
the ARM illustrations add substance to issues which can otherwise appear somewhat
ethereal; the reader who wishes to understand the design of the ARM should find that
the general principles illuminate the rationale for the ARM being as it is.
Support material
Many of the figures and tables will be made freely available over the Internet for
non-commercial use. The only constraint on such use is that this book should be a
recommended text for any course which makes use of such material. Information
about this and other support material may be found on the World Wide Web at:
An Introduction to Processor Design
Summary of chapter contents
The design of a general-purpose processor, in common with most engineering
endeavours, requires the careful consideration of many trade-offs and compromises.
In this chapter we will look at the basic principles of processor instruction
set and logic design and the techniques available to the designer to help achieve
the design objectives.
Abstraction is fundamental to understanding complex computers. This chapter
introduces the abstractions which are employed by computer hardware designers,
of which the most important is the logic gate. The design of a simple processor is
presented, from the instruction set, through a register transfer level description,
down to logic gates.
The ideas behind the Reduced Instruction Set Computer (RISC) originated in processor
research programmes at Stanford and Berkeley universities around 1980, though
some of the central ideas can be traced back to earlier machines. In this chapter we look
at the thinking that led to the RISC movement and consequently influenced the design of
the ARM processor which is the subject of the following chapters.
Processor architecture and organization
All modern general-purpose computers employ the principles of the stored-program
digital computer. The stored-program concept originated from the Princeton Institute
of Advanced Studies in the 1940s and was first implemented in the 'Baby'
machine which first ran in June 1948 at the University of Manchester in England.
Fifty years of development have resulted in a spectacular increase in the performance
of processors and an equally spectacular reduction in their cost. Over this period
of relentless progress in the cost-effectiveness of computers, the principles of operation
have changed remarkably little. Most of the improvements have resulted from
advances in the technology of electronics, moving from valves (vacuum tubes) to individual
transistors, to integrated circuits (ICs) incorporating several bipolar transistors
and then through generations of IC technology leading to today's very large scale integrated
(VLSI) circuits delivering millions of field-effect transistors on a single chip.
As transistors get smaller they get cheaper, faster, and consume less power. This
win-win scenario has carried the computer industry forward for the past three decades,
and will continue to do so at least for the next few years.
Abstraction in hardware design
Computers are very complex pieces of equipment that operate at very high speeds. A
modern microprocessor may be built from several million transistors each of which
can switch a hundred million times a second.
MU0 - a simple processor
A simple form of processor can be built from a few basic components:
• a program counter (PC) register that is used to hold the address of the current
instruction;
• a single register called an accumulator (ACC) that holds a data value while it is
worked upon;
• an arithmetic-logic unit (ALU) that can perform a number of operations on
binary operands, such as add, subtract, increment, and so on;
• an instruction register (IR) that holds the current instruction while it is executed;
• instruction decode and control logic that employs the above components to
achieve the desired results from each instruction.