170 likes | 288 Views
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
E N D
IT SystemsProcessor 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 • Historical considerations need to be considered though to make the chip compatible with pervious versions i.e. Intel 80486 • The size of the register indicates how much data can be manipulated in one cycle of the processor • 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 • Single instructions at a time • Then a separate Floating Point Unit (FPU) was added • 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 • Assembler can easily be re-written as machine code it is just difficult to read • 68HC11 Assembler • name EX2 • START • ORG $500 • LDAA #%00000001 • LDAB #8 • ADDA #2 • END • 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 • Even the original programmers usually have problems reading the programs later • Slow to develop • Generic • 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 • This is a generic list which may change depending on the processor used • Fetch • Get the instruction into the execution unit • Loaded into primary cache • Decode • Examine instruction loaded • Inspecting to see if memory access is required • Address Generate • If the instruction requires memory access work out the address of the memory • Execute • 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. • The alternative is to call each instruction as the CPU requires them • 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 • 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) • Intel 80486, has a lot of instructions built into the chip • The issue is the amount of time needed to lookup a single instruction • Reduced Instruction Set Computing (RISC) • Reduced number of instructions which are the ones which are the ones which are needed • Not backwards compatible • RCISC • Latest Pentium chips are a hybrid of these chipsets • Very Long Instruction Word (VLIW) • 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