Sunteți pe pagina 1din 16

Block structure of a computer

The block diagram of a von Neuman computer is shown in the figure below. We can see four constituent
blocks:

 Control unit
 Arithmetical-logical unit (ALU)
 Operational memory
 Input/output unit

The blocks in the diagram are interconnected using the continuous and dashed lines, which represent the
path for sending data and control signals.

General block diagram of a computer with the von Neuman architectural model

The control unit fetches machine language instructions from the operational memory, decodes them and
generates control signals for the three remaining blocks of the computer. The control unit sends data to
the arithmetical-logical unit or input/output unit when it has decoded an instruction, which directly
contains data (immediate argument). The control unit fetches data from these units if the results of their
functioning influence the control in the program, ex. status of flag flip-flops relevant for conditional
instructions such as conditional jump. The control unit contains address registers, which are used to
store memory addresses during program execution. It also usually contains additional registers used for
temporary storing information on the computation status: status register, pointer registers (to important
areas in the operational memory) and similar. The control unit sends data to the operational memory when
it performs instructions concerned with the control in a program (control instructions), ex. subroutine call
instruction, when the return address has to be stored in the stack (implemented in the operational
memory) or when an interrupt is serviced in which case the program execution context has to be stored in
the stack together with the return address to the interrupted program. The control unit can contain ,
nowadays commonly existing, cache memory, in which current instructions of the performed program
are stored. The cache can be a cache memory common for instructions and data or two separate cache
memories for data and instructions.

1
The operational memory (main memory) is the memory, which stores currently executed programs
with their data. The operational memory can supply data (or be the source of data) for the three remaining
blocks of a computer. For many instructions (ex. control instructions such as a subroutine call, return
from a subroutine) the data are addresses of operational memory locations.

The arithmetical/logical unit - ALU receives from the control unit decoded instruction for execution.
The arithmetical-logical units contain executive (functional) used for implementation of arithmetical and
logical instructions of the computer. These units contain general purpose registers, which are used to
store data necessary for execution of arithmetical and logical operations. These units commonly use a
data cache, which belongs to this block. If an instruction requires fetching (storing) data from (to)
operational memory, the control unit implements such operation in hardware and transfers the data to the
cache memory and general-purpose registers. The arithmetical-logical unit can receive from the control
unit immediate data data stored in an instruction or it can send to the control unit information on the
program execution status (bits from the condition flags) generated automatically after arithmetical and
logical instructions. The arithmetical-logical units perform (in smaller computers) arithmetical operations
concerned with addressing next instructions to be executed.

The input/output units implement co-operation of the computer with so called external or peripheral
devices. These devices enable inputting and outputting information (data, programs, directives) to and out
a computer.

Peripheral devices are a keyboard, a mouse. a joy-stick, a monitor, display devices (video cameras, TV
sets, CD and DVD readers), different sound devices (loudspeakers, sound recorders), data transmitting
devices (modems, network switches), etc. To peripheral devices belong all types of secondary store
(memory) or peripheral memory (store) of a computer, such as magnetic memory on hard and floppy
discs, magnetic tape memory, optical memory on compact disks (CD), DVD disk memory, and similar.

Input/output units contain hardware controllers (equipped at minimum with registers but frequently with
other forms of memory that have larger capacities), which on one side are accessible for the computer and
on the other side - for peripheral devices. Input/output units execute input/output instructions placed in
computer programs in machine language. As a result of these instructions information exchange takes
place between memories of input/output units and the memory of the computer.

The control unit, arithmetical-logical units and the set of computer registers compose the processor of a
computer, which can be also named the central processing unit, central processor - in short CPU.

The concept and architecture of a microprocessor

A processor, which has been built using integrated circuit technology, mostly as a single integrated
circuit, is called a microprocessor. Processors, before they started to be built as integrated circuits, were
built using discrete circuit technology, where active electronic elements composing digital circuits such
as diodes, transistors (i.e. such which modify values of output currents and voltages due to the control of
these factors on their inputs) and passive elements such as resistors, condensers, etc. were fabricated as
independent components, which were mounted on boards. Initially interconnections between these
elements were implemented as wires, but later, they were implemented as narrow stripes of metal on the
surface of the printed boards, into which the elements were soldered. With integrated circuit technology,
all active components of a circuit are fabricated in very miniaturized form (the sizes are measured in
microns i.e. thousand fractions of the millimeter) by doping the overlaying areas on the surface of a chip

2
made of a semiconductor, mostly the silicon. The active elements are place in a circuit in two dimensions
only on the surface of the silicon. The interconnections are made by sputtering stripes of a metal or a
transformed semiconductor in several isolated layers on the surface of the circuit. Such a modified
semiconductor chip is then placed in a holder called a package, which has pins that can be interconnected
with pins of other elements.

When fabricating integrated circuits, strong technological limitations appear that make that it is not
possible to produce integrated circuits of any size (complication degree) on the industrial scale. Facing
this, the evolution of integrated circuit technology takes place gradually, through a step-by-step
improvements of the production process and similar development of the production tools and
environments, going to a larger and larger number of active elements (transistors) in a single integrated
circuit.

2.1. Evolution of semiconductor circuits

The evolution of the technology for microprocessors implementation is closely related to the history of
semiconductor circuits. Below the history is outlined of semiconductor circuits, which are a basis for
building integrated circuits and microprocessors. The history begins with the invention in 1948 of the
transistor, which is the basic active element of integrated circuits and which has replaced the vacuum
tubes commonly used before for the design of computers.

History of semiconductor circuits

1948 Bipolar transistor


1960 First integrated circuit
1962 Unipolar transistor MOS
1964 TTL SSI, Texas Instruments
1970 MOS LSI, Intel, Texas Instruments
1971 Intel 4004 -4-bit microprocessor PMOS
1972 Intel 8008 -8-bit microprocessor PMOS
1973 Intel 8080 -8-bit microprocessor NMOS
1974 Motorola 6800 -8-bit microprocessor NMOS
1976 TMS 9900 - 16-bit microprocessor NMOS (Texas Instruments)
1978 Intel 8086 - 16-bit microprocessor HMOS
1981 Intel APX432 - 32-bit microprocessor
1981 Personal computer IBM PC
1989 Intel 80860 - 64-bit microprocessor

Technology of integrated circuits achieved in years 1960 - 1970 sufficient development degree to enable
manufacturing in a single integrated circuit not only memories of the capacity of a thousand bits but also a
whole microprocessor, which was working on 4-bit binary numbers. The initiator was INTEL, an
American company known up today.

3
2.2. Evolution of microprocessors

In 1971, INTEL company received an order to manufacture an integrated processor specialized to


controlling display monitors. In 1972, the processor, based on 8-bit arithmetic, was ready but the ordering
company had not accepted the product because it had not fulfilled high speed requirements. Not to loose
the effort concerned with designing the processor, INTEL made the processor available on the market,
under the name Intel 8008. Many customers were interested by the processor, and so, INTEL soon
prepared an improved version of the processor, which was introduced on the market under the name of
Intel 8080. This processor has found many customers, especially among electronic companies, which
started designing 8-bit computers based on these microprocessors. Two years later, a similar 8-bit
microprocessor was introduced on the market by another American company - MOTOROLA. It was the
beginning of the microprocessor era and of development of microcomputers, which were designed on
their basis.

Further development of microprocessors continued according to the diagram shown below.

In the first half of years 1970, the development of microprocessors followed the three directions:

 continuation of 4-bit processor manufacturing, mainly for the needs of electronic calculators,
 development of 8-bit microprocessors towards improved architectural features (increased number
of general-purpose registers, larger instruction list, better interconnection structure between
processors and memory and input/output units),
 development of segmented microprocessors, which enabled designing computers with arbitrary
word lengths.

In the development of 8-bit microprocessor series, a strong tendency appeared towards increasing the
processor word length. In a relatively short time, already in 1976, the processor word length was
increased to 16 bits (American company Texas Instruments). In 1978, many companies were producing

4
16-bit microprocessors. INTEL company was manufacturing Intel 8086, which became a basis for
designing a series of personal computers. In 1981, the first 32-bit microprocessor - Intel APX-432 was
produced. Other companies followed Intel company, and soon, many 32-bit processors appeared on the
market.

In 1989 the first 64-bit microprocessor was designed. It was Intel 80860. Nowadays, all more important
microprocessor manufacturers produce their own models of 64-bit processors, which enter the design of
modern workstations and personal computers.

2.3. Architecture of 8-bit microprocessors

We will now discuss the structure and architecture of 8-bit microprocessors.

Basic block diagram of a 8-bit microprocessor

The picture presents basic components of the block structure of a 8-bit microprocessor. Similarly as in the
general block diagram of a computer, we can distinguish four basic subsystems: a control unit, a register
set, an arithmetical-logical unit and an external bus interface unit. These four subsystems are
connected to three busses: a local data bus, an address bus and a control bus, which all together
constitute a system bus. The busses go out of the microprocessor as an external bus to enable connecting
to the microprocessor the remaining basic components of the computer: the memory (considered as an
operation memory and the cache memory) and input/output devices. The data bus is used for information
exchange between the three subsystems shown in the figure and the computer memory and input/output
devices. The information can be data or internal instructions. The address bus is used to send addresses

5
between microprocessor registers, an the operational memory and input/output unit. The control bus is
used to convey control signals between all computer components.

The control unit shown in the figure is of the hardwired type, in a difference to the microprogrammed
type. Both types of control unit will be discussed in detail in further lectures. The control unit, shown in
the diagram above, includes the instruction register, the instruction decoder and the generator of
control signals, which are distributed through the control bus to all remaining computer subsystems. To
the control signal generator the clocking signals are supplied from continuously working clock circuits,
which generate rectangular signals with different time patterns needed for controlling computer
functioning. These signals are produced on the basis of a unique rectangular signal generated by a quartz
generator, called the clock. The control unit also includes the interrupt unit (incorporated in the block
diagram into the control signal generator). This unit has two inputs, on which external devices can send
interrupt signals. These signals make the processor suspend performing the current program and start
execution of an interrupt service sub-routine. The interrupt inputs include a maskable and a
nonmaskable interrupt pins. The reaction of the computer to the signal on the maskable interrupt pin
can be masked (blocked) by the processor.

The register set is composed of general purpose registers and specialized registers such as program
counter, address registers, stack pointer register, status register and others. The use of different kinds
of registers will be explained in respective further lectures.

The external bus interface unit includes two buffer registers:a data buffer register and an address buffer
register. They function as intermediate storage (temporary buffers) in transfers between internal busses of
the microprocessor and external busses.

2.4. Inter-connection structures for arithmetical-logical units in microprocessors

A simple arithmetical-logical unit is composed of the proper arithmetical-logical unit (ALU), basic
registers, which temporarily hold arguments for operations of this unit such as accumulator register and
temporary register, and also condition flag register, which stores test results performed on results of
the ALU.

Different structures of inter-connections between ALU and registers and busses are possible.

Four such basic structures are shown in the diagrams below.

Single-bus ALU inter-connection structure

6
The simplest structure is the single-bus structure. It is based on the use of a single bus, which is used for
sending both ALU arguments and operation results. Such structure requires a register, which will
temporarily hold one argument of the ALU operation while the other is fetched through the bus. The
register is called the accumulator. It first stores one argument and next the operation result. The
operation result can be send to the accumulator and/or to another general purpose register through the
same bus. The way the accumulator is used imposes a read and write synchronization problem since the
bus can perform a single transfer at a time. The correct functioning of this inter-connection structure can
be achieved on the condition of a very thorough data transfer control (i.e. with a very small admissible
time margins of the control signals).

Easier co-ordination of transfers in the single-bus ALU inter-connection structure is possible after
additional buffer registers are placed at the ALU inputs. It enables static storing both ALU arguments and
eliminates potential conflicts on the bus between sending the arguments and the operation result.
Additional buffering of the accumulator register by a temporary register unburdens the control unit from a
very precise controlling of read/write from/to accumulator register.

Single-bus ALU inter-connection structure with temporary registers

Much easier is the control in the structure based on two data busses shown in the figure below: an
argument bus (upper bus) and the result bus (lower bus). In this case, the separate accumulator register
can be eliminated since its role can be fulfilled by any general purpose register. However, it is necessary
to introduce a temporary register to hold one ALU operation argument while the other is fetched through
the bus.

7
Two-bus ALU inter-connection structure

Still easier is the ALU control in the case when the ALU is connected to three internal data busses. There
is no need to introduce any temporary ALU registers in this case, since both arguments can be transferred
at the same time by two busses. Also the operation result can be transferred to any general purpose
register by an independent bus.

Three-bus ALU inter-connection structure

In the figures below, block structures are presented of three microprocessors that were very popular
during years 1980: Intel 8080, Motorola 6800 and Zilog Z80. These simple microprocessors differed in
the number of registers but all had a single-bus ALU inter-connection structure.

8
Block diagram of the Intel 8080 microprocessor

Block diagram of the Motorola 6800 microprocessor

9
Block diagram of the ZILOG Z-80 microprocessor

2.5. Parameters of microprocessors

Besides the block structure, microprocessor description includes other features, which are given in the
table below. These features can be divided into architectural features and technical parameters

Basic features of microprocessors

Architectural features Technical parameters

The number and features of functional blocks Clock frequency

The structure and parameters of the memory Electronic technology

Features and parameters of the instruction list The number of transistors

The number and sizes of data registers Supply voltage

The number and sizes of address registers Power consumption

Parameters of data and address busses Socket type

Features of the interrupt unit

Features of co-processors

The features and the number of functional blocks correspond to the number of executive units, which
perform operations specified in internal instructions and their functional features. The structure and
parameters of the memory correspond first of all to the number of memory levels: in this - the number of
levels of the cache memory, organization of stored information, data formats and volumes. The features
and parameters of the instruction list are types and formats of internal language instructions, available
addressing modes, implementation methods of input/output instructions. The size of data and address

10
registers as well as the width of data and address busses influence the computational power of
microprocessors.

The evolution of these architectural features of processors will be discussed in the lectures on families of
RISC and CISC processors.

Technical parameters of microprocessors strongly depend on the development of integrated circuits


technology. The tables below, which give the selected technical parameters of microprocessors and
features of other integrated circuits were composed based on the microprocessor family of INTEL
company.

The basic technical parameter is the frequency of the clock, which is used for timing of computer
operations (more precisely of control signals which trigger these operations). Since the first
microprocessors in 1973, the clock frequency changed from 1 MHz to 4 GHz, so it has increased 4
thousand times.

Year 1975 1980 1990 1995 1998 2000 2002 2004 2008
Clock 3 10 50 150 450 800 2.4 3.8 4
frequency MHz MHz- MHz MHz MHz MHz GHz GHz GHz

Performance of microprocessors grew up to a much larger extent as is shown in the table below. The table
demonstrates fixed point computation speed of microprocessors, expressed in MIPS (Millions of
Instructions Per Second) units. Besides this measure, another very popular measure is used - MFLOPS
(Millions of Floating Point Operations Per Second), which shows the speed of floating point
computations in microprocessors.

Year 1975 1980 1990 1995 1998 2000 2002 2004 2008

Performance (MIPS) 0.75 3 30 120 330 600 1600 2500 40000

The next feature is the kind of technology used for manufacturing the integrated circuit of the
microprocessor. This is characterized by a series of constituent properties such as:

 the integration scale,


 the way in logical circuits are designed out of which active elements (so called integration
technology),
 the number of logical gates in a single integrated circuit,
 the number of transistors in a single integrated circuit.

Year 1975 1980 1990 1995 1998 2000 2002 2004 2008

Transistor count (mln) 0.01 0.1 1.5 5.5 7.5 40 100 280 750

The table given below shows the integration scale found in integrated circuits. The integration scale
defines the size of the integrated circuit measured as the number of fundamental electronic elements
(transistors) or logical gates embedded in a single integrated circuit.

11
The number of transistors in a single The number of gates in a single
Integration scale
circuit (max) circuit (max)

(SSI) - Small Scale


100 10
Integration
(MSI) - Medium Scale
1000 200
Integration
(LSI) - Large Scale
100 000 10 000
Integration
VLSI - Very Large Scale
100 million 25 million
Integration (as was in 2002)

Besides the given above terms, which determine the integration scale, there are used sometime rare terms,
such as Ultra Large Scale Integration and Gigantic Scale Integration. They describe integrated
circuits, which have packing characteristics above 10 mln and 1 bln of transistors in a single integrated
circuit, respectively. As we can see, the boundary between VLSI and ULSI is not sharp.

The table below presents what kinds of logical circuits are implemented as a single integrated circuit in a
given integration scale.

Combinational circuits contained in a Sequential circuits contained in a single


Integration scale
single integrated circuit integrated circuit
small
logical gates flip-flops
(SSI)
medium decoders, encoders, multiplexers,
registers, counters
(MSI) demultiplexers, elementary adders
large functional blocks, ROM memories, RAM modules, small microprocessors,
PLA circuits, PAL circuits, small I/O
(LSI) PROMs, EPROMs controllers
large microprocessors, large I/O
very large
controllers,
very large ROM modules
(VLSI)
FPGA circuits, large RAM memories

An integration technology is a method used to design and manufacture transistors and other electronic
components out of semiconductors and the method used to build gates and other digital circuits, like flip-
flops, memories etc., out of these components. The technology decides upon the operational speed, the
size of a circuit, the gate and other circuit count in an integrated circuit, the heat dissipation (important for
cooling provisions).

Below, three basic technologies applied in the production of integrated circuits (including
microprocessors) will be discussed.

12
The TTL (Transistor-Transistor-Logic) technology is based on the use of so called bipolar transistors
- where electric current carriers are electrons and positive elements (holes), being majority charge carriers
in respective, constituent doped areas of silicon. Logical gates are implemented based on usually multi-
input transistors, which in a natural way implement negation, NAND and NOR logical functions. They
use representation of binary logical values by reserved fixed voltage levels (voltage mode technology).
The TTL technology is characterized by medium and high operational speeds as well as medium heat
dissipation from circuits.

The ECL (Emitter-Coupled Logic) technology is based on the use of bipolar transistors with joint
emitters. Logical functions are implemented in the current mode technology, which means that binary
logical values are represented by the presence and the lack of the electric current in circuits. Logical
functions implementation consists in switching constantly flowing electric currents between transistors
controlled in a way to avoid current saturation. Such a technique provides very high speed since there are
no signal delays caused by electric charge accumulation, what appears in circuits based on the voltage
mode technology. Because of constantly flowing currents of relatively high intensity, the ECL technology
features a very high heat dissipation from circuits. Due to that, large computers based on this technology
require special cooling devices ex. using pipes filled with water or liquid nitrogen.

The MOS - Metal Oxide Semiconductor technology is named from materials that are used to construct
electronic circuits in this technology. It is based on the use of unipolar transistors, in which only one type
of majority charge carriers (electrons or holes) is used to convey electric current. The control of the
current flow consists in dynamic creation in the semiconductor, by the electrostatic influence of an
electrode called the gate, of a channel between normally isolated silicon areas. The channel enables
current flow between these areas. The logical values representation is by signal voltages. When a gate, set
to a logical 1, creates a channel, the status of the output voltage changes to a logical 0, thus naturally
implementing a logical negation. A special technique of using pairs of complementary transistors (with
electron and hole charge carriers), provides the CMOS technology, which enables a very fast operation
with very low power dissipation. Due to these advantages, the CMOS technology, in many variants, is
nowadays commonly used for manufacturing of contemporary microprocessors.

2.6. 16-bit and more-bit microprocessors

The development of microprocessor architecture in the years following the emergence of 8-bit
microprocessors made the following elements to be introduced into the block diagram of
microprocessors:

 increased computer word length, the length of registers and their number,
 increased number and width of information transfer paths - busses,
 introduction of cache memory - usually multi-level,
 introduction of parallel instruction pre-fetching,
 introduction of parallel multiple instruction decoding,
 introduction of many functional units working in parallel, which include:
o specialized floating-point arithmetical units,
o specialized dedicated other arithmetical units,
o virtual memory management and address translation units,
o memory management units,
o memory store and load control units
 introduction of pipelined instruction execution,
 introduction of branch prediction units,
 introduction of re-ordering of instruction execution,

13
 introduction of instruction shelving based on the data flow concept,
 many other architectural improvements which increase processor performance.

A basic simplified block diagram of a 16-bit microprocessor is presented below. Some of the mentioned
above extensions can be found there. Block diagrams of 32-bit and 64-bit microprocessors will be
discussed in further lectures devoted to these types of microprocessors.

A 16-bit microprocessor has a 16-bit arithmetical-logical unit. It includes 16-bit general purpose data
registers and a number of special registers: program counter, status and flag registers, address registers.
The data bus is 16-bit wide. The address bus is larger than 16-bits, similarly as address registers.

The computer whose block diagram has been shown has a common (multiplexed, shared) data and
address bus. For address transfers, all lines of the bus are used. For data only, a part of lines is used. Such
bus solutions were used in initial microprocessor models, to reduce the surface of the silicon in the
integrated circuit taken by busses. In later years, such a solution was replaced by separate data and
address busses. We can see additional blocks in the diagram such as virtual address conversion support,
due to the introduction of the of segmented virtual memory. We can also see a branch instruction support
unit. This unit registers the execution history of branch instructions (true or false conditions). Based on
that, it predicts the direction of control in iterative instruction execution, for which the history of
precedent execution was registered.

Block diagram of a simple 16-bit microprocessor

14
The concept and architecture of a microcomputer

A microcomputer is a computer built on the basis of a microprocessor i.e. a processor implemented as an


integrated circuit. Since all processors are now produced in the form of integrated circuits, we can say that
all computers are microcomputers. The general method for constructing microcomputers consists in
connecting to the microprocessor busses additional sub-systems such as memories and peripheral device
controllers (input/output units).

The basic block diagram of a simple microcomputer is shown in the figure below. We can see there a
microprocessor with three its busses going out: data bus, address bus and control bus. To these busses, the
following devices are connected: operational memory composed of RAM (Random Access Memory)and
ROM (Read Only Memory) memories, as well as input/output units to which peripheral devices are
connected.

Simplified general scheme of a simple microcomputer

A more developed block diagram of a microcomputer is shown in the figure below. Besides RAM and
ROM memories, more input/output units are connected to the microprocessor.

These input/output units include:

parallel input/output controller in short - parallel I/O, parallel interface,


serial input/output controller in short - serial I/O, serial interface,
interrupt controller (handler),
timer/counter controller,
Direct Memory Access (DMA) controller.

15
General scheme of a simple microcomputer

Parallel input/output controller maintains information exchange with peripheral devices, which send
data in the parallel form. Examples of such devices are printers, display monitor, hard and floppy disk
memories, keyboard. The activity of the controller is supervised by the microprocessor, which intervenes
on each transfer of data by execution of respective instructions of data read or write from (to) the
controller. The controller itself transfers data from its internal memory (registers) to peripheral devices.
The serial input/output controller maintains information exchange with peripheral devices, which send
data in the serial form. Examples of such devices are a mouse and a modem for interconnections through
telephone network. The controller implements in hardware conversion of serial data into their parallel
form and vice versa (with the use of serial/parallel registers). The functioning of the controller is
controlled by the microprocessor, which intervenes on each termination of data conversion by execution
of respective data read or write instructions.
Interrupt controller provides servicing interrupts coming in parallel from many external devices. Its task
consists in receiving interrupt requests, registering them, performing selection to choose one which is to
be serviced by the processor. The controller communicates with the processor to enable sending the
identifier of the selected interrupt and to exchange control signals. The interrupt controller is supervised
by the processor, which services the interrupt after receiving the interrupt from the controller.
The DMA controller enables parallel data exchange between external devices and the operational
memory without involvement of the processor. This controller enables autonomous data transfers to/from
operational memory. These transfers do not engage the processor, which can proceed with computations
at the same time.

16

S-ar putea să vă placă și