ZeePedia

Microprocessor, Bus interface unit, Data & instruction cache memory, ALU

<< Develop your Personal Web Page: HTML
Number systems, binary numbers, NOT, AND, OR and XOR logic operations >>
img
Introduction to Computing ­ CS101
VU
LESSON 7
Goals for Today
Today we want to learn about the microprocessor, the key component, the brain, of a computer
We'll learn about the function of a microprocessor
And its various sub-systems
Bus interface unit
Data & instruction cache memory
Instruction decoder
Arithmetic-Logic unit
Floating-point unit
Control unit
7.1 Microprocessor
A microprocessor (abbreviated as µP or uP) is a computer processor on a microchip. It's sometimes
called a logic chip. A microprocessor is designed to perform arithmetic and logic operations that make
use of small number-holding areas called registers. Typical microprocessor operations include adding,
subtracting, comparing two numbers, and fetching numbers from one area to another. These operations
are the result of a set of instructions that are part of the microprocessor design. When the computer is
turned on, the microprocessor is designed to get the first instruction from the basic input/output system
(BIOS) that comes with the computer as part of its memory. After that, either the BIOS, or the operating
system that BIOS loads into computer memory, or an application program is "driving" the
microprocessor, giving it instructions to perform.
The number of transistors available has a huge effect on the performance of a processor. As seen earlier,
a typical instruction in a processor like an 8088 took 15 clock cycles to execute. Because of the design
of the multiplier, it took approximately 80 cycles just to do one 16-bit multiplication on the 8088. With
more transistors, much more powerful multipliers capable of single-cycle speeds become possible.
A microprocessor is made from miniaturized transistors and other circuit elements on a single
semiconductor integrated circuit (IC) . These are made up oof semiconductor and silicon.
7.2 Integrated Circuits
A chip is also called an (integrated circuit (IC) (aka microchip or just chip). It is a microelectronic
semiconductor device consisting of many interconnected transistors and other components.Generally it
is a small, thin piece of silicon onto which the transistors making up the microprocessor have been
etched.
A chip might be as large as an inch on a side and can contain tens of millions of transistors. Simpler
processors might consist of a few thousand transistors etched onto a chip just a few millimeters square.
Integrated circuits can be classified into analog, digital and mixed signal (both analog and digital on the
same chip). Digital integrated circuits can contain anything from one to millions of logic gates, flip-
flops, multiplexers, etc. in a few square millimeters. The small size of these circuits allows high speed,
low power dissipation, and reduced manufacturing cost compared with board-level integration.
The growth of complexity of integrated circuits follows a trend called "Moore's Law", it states that the
number of transistors in an integrated circuit doubles every two years. Integrated circuits can be
classified into analog, digital and mixed signal (both analog and digital on the same chip). Digital
integrated circuits can contain anything from one to millions of logic gates, flip-flops, multiplexers, etc.
in a few square millimeters. The small size of these circuits allows high speed, low power dissipation,
and reduced manufacturing cost compared with board-level integration.
24
img
Introduction to Computing ­ CS101
VU
7.3 Devices
7.3.1 Transistors
The transistor is a solid state semiconductor device used for amplification and switching, and has three
terminals. A small current or voltage applied to one terminal controls the current through the other two,
hence the term transistor; a voltage- or current-controlled resistor. It is the key component in all modern
electronics. In digital circuits, transistors are used as very fast electrical switches, and arrangements of
transistors can function as logic gates, RAM-type memory and other devices. In analog circuits,
transistors are essentially used as amplifiers.
7.3.2 Diodes
A diode functions as the electronic version of a one-way valve. By restricting the direction of
movement of charge carriers, it allows an electric current to flow in one direction, but blocks it in the
opposite direction.
A diode's current-voltage, or I-V, characteristic can be approximated by two regions of operation.
Below a certain difference in potential between the two leads, the diode can be thought of as an open
(non-conductive) circuit. As the potential difference is increased, at some stage the diode will become
conductive and allow current to flow, at which point it can be thought of as a connection with zero (or at
least very low) resistance. In a typical semiconductor p-n diode, conventional current can flow from the
p-doped side to the n-doped side, but not in the opposite direction. When the diode is reverse-biased, the
charge carriers are pulled away from the center of the device, creating a depletion region. More
specifically, the transfer function is logarithmic, but so sharp that it looks like a corner.
7.3.3 Resistors
A resistor is an electrical component designed to have an electrical resistance that is independent of the
current flowing through it. The common type of resistor is also designed to be independent of
temperature and other factors. Resistors may be fixed or variable. Variable resistors are also called
potentiometers or rheostats
A few resistor types
Some resistors are long and thin, with the actual resisting material in the centre, and a conducting metal
leg on each end. This is called an axial package.
Resistors used in computers and other devices are typically much smaller, often in surface-mount
(Surface-mount technology) packages without leads.
Larger power resistors come in more sturdy packages designed to dissipate heat efficiently, but they are
all basically the same structure. Resistors are used as part of electrical networks and incorporated into
microelectronic semiconductor devices. The critical measurement of a resistor is its resistance, which
serves as a ratio of voltage to current and is measured in ohms, an SI unit. Any physical object is a kind
of resistor. Most metals are conductors, and have low resistance to the flow of electricity. The human
body, a piece of plastic, or even a vacuum has a resistance that can be measured. Materials that have
very high resistance are called insulators.
7.3.4 Capacitors
A capacitor (historically known as a "condenser") is a device that stores energy in an electric field, by
accumulating an internal imbalance of electric charge. An ideal capacitor can store electronic energy
when disconnected from its charging circuit, so it can be used like a fast battery. In AC or signal circuits
it induces a phase difference of 90 degrees, current leading potential.
They are connected in parallel with the power circuits of most electronic devices and larger systems
(such as factories) to shunt away and conceal current fluctuations from the primary power source to
25
img
Introduction to Computing ­ CS101
VU
provide a "clean" power supply for signal or control circuits. The effect of such capacitors can be
thought of in two different ways. One way of thinking about it is that the capacitors act as a local
reserve for the DC power source, to smooth out fluctuations by charging and discharging each cycle.
The other way to think about it is that the capacitor and resistance of the power supply circuitry acts as a
filter and removes high frequencies, leaving only DC.
Wires
And are made of the following materials
Silicon - semiconductor
Copper - conductor
Silicon Dioxide ­ insulator
7.4 Microprocessor system
Microprocessors are powerful pieces of hardware, but not much useful on their own. They do not have
the sense of their own. Like the human sample it needs some instructions inputs and outputs to process
some task. As per instruction given to the microprocessor.
A microprocessor system is microprocessor plus all the components it requires to do a certain task.
Shortly, a microprocessor needs help of some components to make up the task to fulfill. These
components are input, output, storage, and memory. All these components and microprocessor make up
a microprocessor system.
Personal Computer is an example of microprocessor System. Another example is the microcontroller.
7.5 Micro-controllers
A microcontroller is a microprocessor optimised to be used to control electronic equipment.
Microcontrollers represent the vast majority of all computer chips sold, over 50% are "simple"
controllers, and another 20% are more specialized decipline processors. While you may have one or two
general-purpose microprocessors in your house (you're using one to read this), you likely have
somewhere between one and two dozen microcontrollers. They can be found in almost any electrical
device, washing machines, microwave ovens, telephones etc.
A microcontroller includes CPU, memory for the program (ROM), memory for data (RAM), I/O lines to
communicate with peripherals and complementary resources, all this in a closed chip. A microcontroller
differs from a standalone CPU, because the first one generally is quite easy to make into a working
computer, with a minimum of external support chips. The idea is that the microcontroller will be placed
in the device to control, hooked up to power and any information it needs, and that's that.
7.5 The Main Memory Bottleneck
Modern super-fast microprocessors can process a huge amount of data in a short duration. They need
data to be processed at the same speed. Other wise they have to sit idle and wait for the input/data,
because speed of input is rather small then processing of data. They require quick access to data to
maximize their performance. If they don't receive the data that they require, they literally stop and wait,
this results in reduced performance and wasted power.
Current microprocessors can process an instruction in about ns (nanosecond). Time required for
fetching data from main memory (RAM) is of the order of 100 ns
26
img
Introduction to Computing ­ CS101
VU
Solution to the Bottleneck Problem
In order to eliminate the solution it was suggested to make the main memory faster. But that evolved a
problem that the 1-ns memory is extremely expensive as compared the currently popular 100-ns
memory.
Finally it was decided that in addition to the relatively slow main memory, put a small amount of ultra-
fast RAM right next to the microprocessor on the same chip and make sure that frequently used data and
instructions resides in that ultra-fast memory
It increases the performance. It supports better over performance due to fast access to frequently used
data and instructions.
7.7 Cache
A cache is a collection of duplicate data, where the original data is expensive to fetch or compute
(usually in terms of access time) relative to the cache. Future accesses to the data can be made by
accessing the cached copy rather than refetching or recomputing the original data, so that the perceived
average access time is lower. Caches may mark the cached data as 'stale' when the original data is
changed, but this is not always the case.
On-Chip Cache Memory (1)
That small amount of memory located on the same chip as the microprocessor is called On-Chip Cache
Memory.
The microprocessor stores a copy of frequently used data and instructions in its cache memory. When
the microprocessor desires to look at a piece of data, it checks in the cache first. If it is not there, only
then the microprocessor asks for the same from the main memory
On-Chip Cache Memory (2)
L2, cache memory, which is on a separate chip from the microprocessor but faster to access than regular
RAM.
It is the small size and proximity to the microprocessor makes access times short, resulting in a boost in
performance. Microprocessors predict what data will be required for future calculations and it pre-
fetches that data and places it in the cache so that it is available immediately when the need arises.
7.8 Microprocessors Building Blocks
Microprocessor
Data
Cache
Memory
Bus
Arithmetic
Control
RAM
& Logic
Bus
Unit
Unit
Interface
Unit
I/O
Instruction
Registers
Decoder
System
Floating
Bus
Point
Unit
Instruction
Cache
Registers
27
img
Introduction to Computing ­ CS101
VU
Bus Interface Unit
The bus interface unit is the part of the processor that interfaces with the rest of the PC. Its name comes
from the fact that it deals with moving information over the processor data bus, the primary conduit for
the transfer of information to and from the CPU. The bus interface unit is responsible for responding to
all signals that go to the processor, and generating all signals that go from the processor to other parts of
the system.
It receives instructions & data from main memory to be processed and operations. After the operations
are processed it then sends back the information (processed data) to the cache. It also receives the
processed data to send it to the main memory.
Instruction Decoder
The instruction decoder of a processor is a combinatorial circuit sometimes in the form of a read-only
memory, sometimes in the form of an ordinary combinatorial circuit. Its purpose is to translate an
instruction code into the address in the micro memory where the micro code for the instruction starts.
A decoder is a device which is the reverse, undoing the encoding so that the original information can be
retrieved. The same method used to encode is usually just reversed in order to decode.This unit receives
the programming instructions and decodes them into a form that is understandable by the processing
units, i.e. The ALU or FPU Then, it passes on the decoded instruction to the ALU or FPUs as desired.
Arithmetic & Logic Unit (ALU)
An arithmetic and logical unit (ALU) also known as "Integer Unit" is one of the core components of
all central processing units. It is capable of calculating the results of a wide variety of common
computations. The most common available operations are the integer arithmetic operations of addition,
subtraction, and multiplication, the bitwise logic operations of AND, NOT, OR, and XOR, and various
shift operations.
The ALU takes as inputs the data to be operated on and a code from the control unit indicating which
operation to perform, and for output provides the result of the computation. In some designs it may also
take as input and output a set of condition codes, which can be used to indicate cases such as carry-in or
carry-out, overflow, or other statuses.
The new breed of popular microprocessors have not one but two almost identical ALU's that can do
calculations simultaneously, doubling the capability
Floating-Point Unit (FPU)
A floating point unit (FPU) is a part of a CPU specially designed to carry out operations on floating
point numbers. Typical operations are floating point arithmetic (such as addition and multiplication), but
some systems may be capable of performing exponential or trigonometric calculations as well (such as
square roots or cosines).
Not all CPUs have a dedicated FPU. In the absence of an FPU, the CPU may use a microcode program
to emulate an FPUs function using an arithmetic and logical unit (ALU), which saves the added
hardware cost of an FPU but is significantly slower.
In some computer architectures, floating point operations are handled completely separate from integer
operations, with dedicated floating point registers and independent clocking schemes. Floating point
addition and multiplication operations are typically pipelined, but more complicated operations, like
division, may not be, and some systems may even have a dedicated floating point divider circuit.
28
img
Introduction to Computing ­ CS101
VU
Registers
A register is a device for storing data. It is a small amount of very fast computer memory used to speed
the execution of computer programs by providing quick access to commonly used values. These
registers are the top of the memory hierarchy, and are the fastest way for the system to manipulate data.
It is common to measure registers by the number of bits it can hold, for example, an "8-bit register" or
"32-bit register". Registers are now usually implemented as an array of SRAMs, but they have also been
implemented using individual flip flops, high speed core memory, thin film memory, and other ways in
various machines.
There are several other classes of registers:
Data registers are used to store integer numbers.
Address registers hold memory addresses and are used to access memory.
General Purpose registers can store both data and addresses.
Floating Point registers are used to store floating point numbers.
Constant registers hold read-only values (e.g zero or one).
Vector registers hold data for Single Instruction Multiple Data (SIMD) instructions.
Special Purpose registers which store internal CPU data like the stack pointer or processor status
words.
The ALU & FPU store intermediate and final results from their calculations in these registers. Then the
processed data goes back to the data cache and then to main memory from these registers.
Control Unit
A control unit is the part of a CPU or other device that directs its operation. The outputs of the unit
control the activity of the rest of the device. A control unit can be thought of as a finite state machine. It
is called the brain of computer microprcessor. It manages whole process of the microprocessor. For it
identifes which data is sent to the ALU or memory etc.
At one time control units for CPUs were ad-hoc logic, and they were difficult to design. Now they are
often implemented as a microprogram that is stored in a control store.
Microprocessor
Data
Cache
Memory
Bus
Arithmetic
RAM
Control
& Logic
Bus
Unit
Unit
Interface
Unit
Instruction
I/O
Registers
Decoder
System
Floating
Bus
Point
Unit
Instruction
Registers
Cache
That was the structure, now let's talk about the language of a microprocessor
Instruction Set
The set of machine instructions that a microprocessor recognizes and can execute ­ the only language
microprocessor knows
29
img
Introduction to Computing ­ CS101
VU
An instruction set includes low-level, a single step-at-a-time instructions, such as add, subtract,
multiply, and divide
Each microprocessor family has its unique instruction set
Bigger instruction-sets mean more complex chips (higher costs, reduced efficiency), but shorter
programs
An instruction set, or instruction set architecture (ISA), is a specification detailing the commands that a
computer's CPU should be able to understand and execute, or the set of all commands implemented by a
particular CPU design. The term describes the aspects of a computer or microprocessor typically visible
to a programmer, including the native datatypes, instructions, registers, memory architecture, interrupt
and fault system, and external I/O (if any). "Instruction set architecture" is sometimes used to
distinguish this set of characteristics from the Micro-Architecture, which are the elements and
techniques used to implement the ISA, e.g. microcode, pipelining, cache systems, etc. Bigger
instruction-sets mean more complex chips (higher costs, reduced efficiency), but shorter programs. Each
microprocessor family has its unique instruction set. Following are the few ISA;
MIPS
Motorola 6800
ARM
PowerPC
x86 (Pentium)
ALGOL Object Code
SPARC
7.9The 1st microprocessor : Intel 4004
The first microprocessor was the Intel 4004, introduced in 1971. The 4004 was not very powerful all it
could do was add and subtract, and it could only do that 4 bits at a time. But it was amazing that
everything was on one chip. Prior to the 4004, engineers built computers either from collections of chips
or from discrete components (transistors wired one at a time). The 4004 powered one of the first
portable electronic calculators. It was as powerful as ENIAC which had 18000 tubes and occupied a
large room. It cost less then $100. Its targeted use was of calculation. It consisted of 2250 transistors and
16pins. Speed was 108 kHz, 60,000 ops/sec.
Why Intel came up with the idea?
A Japanese calculator manufacturer, Busicom wanted Intel to develop 16 separate IC's for a line of new
calculators. Intel, at that point in time known only as a memory manufacturer, was quite small and did
not have the resources to do all 16 chips. Then Ted Hoff came up with the idea of doing all 16 on a
single chip. Later, Intel realized that the 4004 could have other uses as well.
Currently Intel came with ­ Intel Pentium 4 (2.2GHz).
It was introduced in December 2001. It got 55 million transistors. 32-bit word size. Within the processor
it has 2 ALU's each working at 4.4GHz. It costs around $600.
Moore's Law
Moore's law(1965) is an empirical observation stating in effect that at our rate of technological
development and advances in the semiconductor industry the complexity of integrated circuits doubles
every 18 months. His original empirical observation was that the number of components on
semiconductor chips with lowest per-component cost doubles roughly every 12 months, and he
conjectured that the trend will stay for at least 10 years. In 1975, Moore revised his estimate for the
expected doubling time, arguing that it was slowing down to about two years
30
img
Introduction to Computing ­ CS101
VU
Evolution of Intel Microprocessors
4-, 8-, 16-, 32-, 64-bit (Word Length)
The 4004 dealt with data in chunks of 4-bits at a time
Pentium 4 deals with data in chunks (words) of 32-bit length
The new Itanium processor deals with 64-bit chunks (words) at a time
kHz, MHz, GHz (Clock Frequency)
4004 worked at a clock frequency of 108kHz
The latest processors have clock freqs. in GHz
Out of 2 microprocessors having similar designs, one with higher clock frequency will be more
powerful
Same is not true for 2 microprocessors of dissimilar designs. Example: Out of PowerPC & Pentium 4
microprocessors working at the same freq, the former performs better due to superior design. Same for
the Athlon microprocessor when compared with a Pentium
Enhancing the capability of a microprocessor ?
The computing capability of a microprocessor can be enhanced in many different ways:
By increasing the clock frequency
By increasing the word-width
By having a more effective caching algorithm and the right cache size
By adding more functional units (e.g. ALU's, FPU's, Vector/SIMD units, etc.)
Improving the architecture
What have we learnt today?
Today we learnt about the microprocessor, the key component, the brain, of a computer
We learnt about the function of a microprocessor
And its various sub-systems
Bus interface unit
Data & instruction cache memory
Instruction decoder
ALU
Floating-point unit
Control unit
31
Table of Contents:
  1. INTRODUCTION
  2. EVOLUTION OF COMPUTING
  3. World Wide Web, Web’s structure, genesis, its evolution
  4. Types of Computers, Components, Parts of Computers
  5. List of Parts of Computers
  6. Develop your Personal Web Page: HTML
  7. Microprocessor, Bus interface unit, Data & instruction cache memory, ALU
  8. Number systems, binary numbers, NOT, AND, OR and XOR logic operations
  9. structure of HTML tags, types of lists in web development
  10. COMPUTER SOFTWARE: Operating Systems, Device Drivers, Trialware
  11. Operating System: functions, components, types of operating systems
  12. Forms on Web pages, Components of Forms, building interactive Forms
  13. APPLICATION SOFTWARE: Scientific, engineering, graphics, Business, Productivity, Entertainment, Educational Software
  14. WORD PROCESSING: Common functions of word processors, desktop publishing
  15. Interactivity to Forms, JavaScript, server-side scripts
  16. ALGORITHMS
  17. ALGORITHMS: Pseudo code, Flowcharts
  18. JavaScript and client-side scripting, objects in JavaScript
  19. Low, High-Level, interpreted, compiled, structured & object-oriented programming languages
  20. Software Design and Development Methodologies
  21. DATA TYPES & OPERATORS
  22. SPREADSHEETS
  23. FLOW CONTROL & LOOPS
  24. DESIGN HEURISTICS. Rule of thumb learned through trial & error
  25. WEB DESIGN FOR USABILITY
  26. ARRAYS
  27. COMPUTER NETWORKS: types of networks, networking topologies and protocols
  28. THE INTERNET
  29. Variables: Local and Global Variables
  30. Internet Services: FTP, Telnet, Web, eMail, Instant messaging, VoIP
  31. DEVELOPING PRESENTATIONS: Effective Multimedia Presentations
  32. Event Handlers
  33. GRAPHICS & ANIMATION
  34. INTELLIGENT SYSTEMS: techniques for designing Artificial Intelligent Systems
  35. Mathematical Functions in JavaScript
  36. DATA MANAGEMENT
  37. DATABASE SOFTWARE: Data Security, Data Integrity, Integrity, Accessibility, DBMS
  38. String Manipulations:
  39. CYBER CRIME
  40. Social Implications of Computing
  41. IMAGES & ANIMATION
  42. THE COMPUTING PROFESSION
  43. THE FUTURE OF COMPUTING
  44. PROGRAMMING METHODOLOGY
  45. REVIEW & WRAP-UP of Introduction to Computing