Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduction
1
Introduction
In this course we will discus the microprocessor.
3
What about micro?
Micro is a new addition.
In the late 1960’s, processors were built using
discrete elements.
These devices performed the required operation, but were
too large and too slow.
4
Was there ever a “mini”-
processor?
No.
It went directly from discrete elements to a
single chip. However, comparing today’s
microprocessors to the ones built in the early
1970’s you find an extreme increase in the
amount of integration.
5
Definition of the Microprocessor
6
Definition (Contd.)
Lets expand each of the underlined words:
Programmable device: The microprocessor can perform
different sets of operations on the data it receives
depending on the sequence of instructions supplied in the
given program.
By changing the program, the microprocessor manipulates
the data in different ways.
7
Definition (Contd.)
Takes in: The data that the microprocessor
manipulates must come from somewhere.
It comes from what is called “input devices”.
These are devices that bring data into the system
from the outside world.
These represent devices such as a keyboard, a
mouse, switches, and the like.
8
Definition (Contd.)
Numbers: The microprocessor has a very narrow view on life. It
only understands binary numbers.
9
Definition (Contd.)
Words, Bytes, etc.
The earliest microprocessor (the Intel 8088 and Motorola’s 6800)
recognized 8-bit words.
They processed information 8-bits at a time. That’s why they
are called “8-bit processors”. They can handle large numbers,
but in order to process these numbers, they broke them into 8-
bit pieces and processed each group of 8-bits separately.
11
Definition (Contd.)
Program: A program is a sequence of
instructions that bring data into the
microprocessor, processes it and sends it out.
12
Definition (Contd.)
Programming Languages
Machine language
Machine language is the lowest level programming language. It
is a language intended to be understood by the microprocessor
(the machine) only.
In this language, every instruction is described by binary
patterns.
13
Definition (Contd.)
Programming Languages
Assembly language
This language is more understandable by humans. In
this language, the binary patterns are assigned
mnemonics (short abbreviated names).
14
Definition (Contd.)
Programming Languages
High level languages
These are languages like C, PASCAL and FORTRON. These
are more natural for humans to use than assembly or machine
languages. They are also more compact (i.e. it takes less
statements to write the program).
15
Definition (Contd.)
Programming Languages
The new level being developed: is ultra high level
languages which would contain things like C++,
and JAVA.
Here a single instruction may translate into hundreds of
assembly or machine language instructions.
16
Definition (Contd.)
Stored in memory :
First, what is memory?
Memory is the location where information is kept while not in
current use.
Memory is a collection of storage devices. Usually, each
storage device holds one bit. Also, in most kinds of memory,
these storage devices are grouped into groups of 8. These 8
storage locations can only be accessed together. So, one can
only read or write in terms of bytes to and form memory.
Memory is usually measured by the number of bytes it can
hold. It is measured in Kilos, Megas and lately Gigas. A Kilo in
computer language is 210 =1024. So, a KB (KiloByte) is 1024
bytes. Mega is 1024 Kilos and Giga is 1024 Mega.
17
Definition (Contd.)
Stored in memory:
When a program is entered into a computer, it is
stored in memory. Then as the microprocessor
starts to execute the instructions, it brings the
instructions from memory one at a time.
18
Definition (Contd.)
Produces: For the user to see the result of the
execution of the program, the results must be
presented in a human readable form.
The results must be presented on an output
device.
19
A Microprocessor-based system
From the above description, we can draw
the following block diagram to represent a
microprocessor-based system:
Input Output
Memory
20
Inside The Microprocessor
Internally, the microprocessor is made up
of 3 main units.
The Arithmetic/Logic Unit (ALU)
The Control Unit.
An array of registers for holding data while it
is being manipulated.
21
Organization of a microprocessor-
based system
ALU Register
Array
System Bus
Control Memory
ROM RAM
22
Organization of the
Microprocessor
The microprocessor can be divided into three main
pieces:
Arithmetic/Logic Unit
Performs all computing and logic operations such as addition
and subtraction as well as AND, OR and XOR.
Register Array
A collection of registers within the microprocessor itself. These
are used primarily for data storage during program execution.
The number and the size of these registers differ from one
microprocessor to the other.
Control Unit
As the name implies, the control Unit controls what is
happening in the microprocessor. It provides the necessary
control and timing signals to all operations in the
microprocessor as well as its contact to the outside world.
23
How do the units interact
Assume that the user has given the following instruction:
ADD R1, R2, R3
(Which translates to: add Register 1 to Register 2 and place the result in
Register 3.)
The control unit receives the bit pattern for this instruction (0100011011)
from memory.
It decodes the bit pattern and determines that this is an Add operation
(0100).
It also determines that the inputs to the addition come from Register R1 (01)
and Register R2 (10).
It finally determines that the results go into register R3 (11).
It issues a control signal connecting one input of the adder (in the ALU) to
register R1 (in the Register Array) and the other input to register R2.
Then after an appropriate amount of time, it issues a control signal to
register R3 to store the output of the adder.
24
How do the units interact
EN EN EN EN
R1 R2 R3 R4
S0 S0
4 X 1 MUX 4 X 1 MUX
S1 S1
Adder
25
Memory
Memory stores information such as instructions and data in
binary format (0 and 1). It provides this information to the
microprocessor whenever it is needed.
27
I/O Input/Output
Input and output devices are the system’s
means of communicating with the outside world.
These devices are collectively known as
peripherals.
Input devices transfer binary information from the
outside world to the microprocessor.
Examples of input devices are: keyboard, mouse, bar code
reader, scanner and the like.
Output devices transfer binary information from the
microprocessor to the outside world.
Theses include things like an LED, a monitor, a printer and
the like.
28
System Bus
A communication path between the
microprocessor and peripherals.
It is simply a group of wires carrying the voltages and
curents representing the different bit values.
29
The three cycle instruction
execution model
To execute a program, the microprocessor “reads”
each instruction from memory, “interprets” it,
then “executes” it.
decodes it,
33
Assembly Language
Using the same example from before,
00111100 translates to 3C in hexadecimal
Its mnemonic is: “INR A”.
INR stands for “increment register” and A is short for
accumulator.
34
“Assembling” The Program
How does assembly language get translated
into machine language?
There are two ways:
1st there is “hand assembly”.
The programmer translates each assembly language
instruction into its equivalent hexadecimal code (machine
language). Then the hexadecimal code is entered into
memory.
The other possibility is a program called an
“assembler”, which does the translation
automatically.
35
High Level Languages
We said earlier that assembly and machine language
are completely dependent on the microprocessor. They
can not be easily moved from one to the other.
To allow programs to be developed for multiple
machines high level languages were developed.
These languages describe the operation of the program in general terms.
These programs are translated into microprocessor specific assembly language
using a compiler or interpreter program.
These programs take as an input high level statements such as “ I = j + k; ”
and translate them to machine language compatible with the microprocessor
being used.
Compiler Assembler
High level language Machine language
Source code Object code
36
Compiler vs. Interpreter
What is the difference between Compiler and
Interpreter?
A compiler translates the entire program at once and produces
the object code.
An interpreter “ compiles “ the source code one line at-a-time.
The object code for each line is produced, executed, and
forgotten. Each time the program is to be executed, it has to be
re-interpreted.
Interpreters are very inefficient. Compilers produce object code that
is quite a bit smaller and faster to execute.
Compilers are still inefficient when complete control is
needed and when memory is very critical.
In such a situation, it is better to do the job yourself.
Writing a program in assembly language may not be easy. But,
you can control exactly how things are being done and which
instruction is being used to perform each operation.
37
The Hardware/Software
Interaction
The hardware of a computer system is the collection of
chips that make up its different pieces, including the
microprocessor.
The hardware consists of five main systems:
- The microprocessor
- Memory (RAM & ROM)
- Storage (Disk, CD)
- Input Devices (keyboard, mouse)
- Output Devices (monitor, printer).
Memory Storage
38
The Hardware/Software
interaction
Software refers to any program that executes on the
hardware.
It contains very low level programs that control the
behavior of the hardware all the way to complicated
applications like 3D graphics, video editing, and circuit
simulation and design.
39
The Operating System
The operating system is a layer between the application
programs and the hardware.
Pieces of the operating system control the operation of the disks,
the monitor, the keyboard, the mouse, the printer, the sound
card, and even memory.
When a program wants to use one of these items, it sends a
request to the operating system and the operating system in turn
will perform the operation.
40
The Operating System
The interaction of the user with the computer is
through the operating system.
When the user invokes a program, the operating
system starts the process and makes the program
start executing. The program is executed on top of
the operating system. Application
Operating
Application Programs System
Hardware
Operating System
Hardware
Programs
41
Operating Systems
Examples of operating systems are:
MS-DOS
MS Windows
Macintosh OS
OS/2
UNIX
Most operating systems are hardware specific:
For example, windows only runs on microprocessors
made by Intel or those that behave the same way (i.e.
“compatible”).
Other operating systems (like UNIX) are designed to
work on any platform (hardware).
42