Download Document

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Supercomputer wikipedia , lookup

Program optimization wikipedia , lookup

Stream processing wikipedia , lookup

Supercomputer architecture wikipedia , lookup

Assembly language wikipedia , lookup

Parallel computing wikipedia , lookup

Very long instruction word wikipedia , lookup

ILLIAC IV wikipedia , lookup

Transcript
IT Systems
Processor Technology
EN230-1
Justin Champion
C208 – 3273
www.staffs.ac.uk/personel/engineering_and_technology/jjc1
IT Systems

Contents
Microprocessor
 Structure
 Programming
 Executing an instruction

IT Systems

Microprocessor



Usually referred to as the processor or CPU
Is the centre of the computer where a set of tasks will be
carried out
First Processor was Intel 8080, introduced in 1974
•

Running at 2MHz, 8 Bit instructions
Latest Processors
•
Run at 3200+ Mhz, but this changes on a monthly basis
IT Systems

Structure of the processor

A basic set of parts are included with a processor
•
•
•
•
•
•

Registers
Control Unit
Maths Unit
Memory
Output Units
Input Units
Each instruction is made up of at most two parts
•
•
Instruction
Address or value to be processed
IT Systems

Register



Storage area for operations to take place
Are hardwired into the processor
The more registers there are the easy the chip is to program
•

The size of the register indicates how much data can be manipulated in
one cycle of the processor
•

Historical considerations need to be considered though to make the chip
compatible with pervious versions i.e. Intel 80486
i.e. a 8 bit register adding 2 32bit numbers will have to do a lot of swapping
in and out of the registers
Most operations are done on the registers
•
•
•
To add 1 to a value in memory it first must be placed in a register
Add the value
Write the register back to the memory location
IT Systems

Control Unit


Controls the flow of information within the processor
Functionality changes depending on the architecture
•
Typically though
•
•
•
•
•
•
Stores the location of the next instruction to be executed
Fetch instructions
Decode
Sorting out execution of instruction
Storing the results correctly
Possible additional use is
•
Translating instructions from one format to another before decoding
IT Systems

Maths Unit(s)


This part of the processor carries out the mathematical
operations
Older processors only had a integer based processor
•

Then a separate Floating Point Unit (FPU) was added
•

Single instructions at a time
This would be able to carry out Floating point maths fast as the
internal logic was based on Floating point maths
Modern Processors
•
•
Have multiple integer maths units to concurrent processes to take
place
The FPU is now located within the processor itself and again a
number of these are installed.
IT Systems

The processor is the most important part of a system

The MHz part indicates how many cycles can be
performed a second
•

1 MHz = 1 Million cycles a second
Each cycle is not one instruction
•
•
Certain operations may take several cycles
On the Motorola 68HC11 the LDAB instruction takes 2 cycles
IT Systems

Microprocessor or Microcontroller

Microprocessor
•
•

Is a chip which uses circuits and transistors to carry out operations
Instructions can be sent in the form of machine code
Microcontroller
•
Carries out the same operations but is optimised to specialise in
I/O with electronic devices
IT Systems

Programming the processor



To allow the correct interactions to take place a program
must be given to the processor.
The program is a series of instructions to be executed
Compilers are used to convert the high level language into
machine code
•
•
•
•
•
•
C
C++
Pascal
Basic
Cobol
NOT Java or .NET
•
These are converted into byte code which the corresponding virtual
machine will execute and convert to machine code
IT Systems

Programming the processor


The language we are using is Assembler
This is one level above machine code
•

68HC11 Assembler
•
•
•
•
•
•
•

Assembler can easily be re-written as machine code it is just difficult to
read
name
EX2
ORG
LDAA
LDAB
ADDA
END
$500
#%00000001
#8
#2
START
Machine code of the same program
•
S10905008601C6088B020F
IT Systems

Disassembly



The instruction was coded into machine code can
easily be returned to assembler code
If required the processor can be programmed directly
from the console putting the correct instruction at the
correct location, but this is harder and there is no
advantage
Try decoding the previous program
•
S10905008601C6088B020F
IT Systems

Assembler

This language is hard to program especially for anything
large
•


Slow to develop
Generic
•
•

Even the original programmers usually have problems reading the
programs later
The program are usually designed for one set of hardware
They can not be moved to a different set as the memory locations
may be different
Higher level Languages
•
•
These have the advantage that written once the compiler will
create the code for whatever processor is used
Re-usable code
IT Systems

Execute (run) a program

A number of steps are used to execute a program
•

Fetch
•
•

This is a generic list which may change depending on the processor used
Get the instruction into the execution unit
Loaded into primary cache
Decode
•
Examine instruction loaded
•

Address Generate
•

If the instruction requires memory access work out the address of the
memory
Execute
•

Inspecting to see if memory access is required
Carry out the instruction based on previous steps
Write-Back
•
Put the result of the execution back into the register or the memory location
IT Systems

Enhancing a programs execution

Pre-Fetch
•
The next instruction is stored in a small amount of fast memory ready for use.
•

Pipelining
•
•
•

Allows the effect of one instruction executing every clock cycle
As one instruction is one part of the execution cycle another is one place
behind
Rather than carrying out the cycle and then getting the next instruction
Multi Decoders
•

The alternative is to call each instruction as the CPU requires them
Allows the decoding of multiple instructions concurrently by having more than
one device
Write Buffer
•
This is used to store the result of an execution in the buffer until a later stage
when it is suitable to write to the correct location. This is particular issue when
writing to system memory which is slow to access
IT Systems

Different Types of processors

Complex instruction set computing (CISC)
•
•

Reduced Instruction Set Computing (RISC)
•
•

Latest Pentium chips are a hybrid of these chipsets
Very Long Instruction Word (VLIW)
•
•
•

Reduced number of instructions which are the ones which are the ones which
are needed
Not backwards compatible
RCISC
•

Intel 80486, has a lot of instructions built into the chip
The issue is the amount of time needed to lookup a single instruction
128 bit instructions which can be carried out on multiple pipelines concurrently
Issues need resolving if one result is waiting upon another stuck in the pipeline
Intel IA-64 uses this instruction set
Single Instruction Multiple Data (SIMD)
•
•
Allow the loading of a large amount of data at once rather than requesting
each part
Used in the chipsets Intel's SSE or AMD’s 3DNow
IT Systems

Summary of what we have discussed




What makes up a processor
High Level / Low level languages
Type of processor
Execution cycle