1 / 32

COMPUTER PLATFORMS

Von Neumann Architecture & Terminology & Performance Week 3. COMPUTER PLATFORMS. Week 3. CPU Buses Registers Von-Neumann Architecture Fetch Execute Cycle Von Neumann Model Memory Types of memory Representing Information Analogue & digital Decimal, binary, hexadecimal

pahana
Download Presentation

COMPUTER PLATFORMS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Von Neumann Architecture & Terminology & Performance Week 3 COMPUTER PLATFORMS Stuart Cunningham - Computer Platforms - 2003

  2. Week 3 • CPU • Buses • Registers • Von-Neumann Architecture • Fetch Execute Cycle • Von Neumann Model • Memory • Types of memory • Representing Information • Analogue & digital • Decimal, binary, hexadecimal • Terminology & Performance • MIPS & Hertz • Bits ‘n’ bytes Stuart Cunningham - Computer Platforms - 2003

  3. CPU Buses • Parallel connections between low-level components of the computer • Size is measured by the number of parallel connections on the bus • E.g.- 32-bit wide bus = 32 individual wires • These bursts are called words • A word is a set measure of bits (in this case we have a 32-bit word) • Signals on buses follow strict timing sequences • Some buses are bi-directional • Allowing two way flow of information Stuart Cunningham - Computer Platforms - 2003

  4. CPU Registers • Used to temporarily store data read from memory • Registers are used to process instructions and data during the Fetch Execute Cycle • Two main types of register: • Instruction Register (IR) • Commands to be performed • Data Registers • Data upon which operations will be performed Stuart Cunningham - Computer Platforms - 2003

  5. CPU Registers • Common registers in the CPU: • Program Counter (PC) • Holds the memory address of the next instruction to be executed • Memory Buffer Register (MBR) • Briefly holds data and instructions that travel to and from memory • Sometimes called MDR (Memory Data Register) • Memory Address Register (MAR) • Holds the memory address locations of data and/or instructions to be read / written to memory • Current Instruction Register (CIR) • Holds the instruction which is to be executed • General Purpose Registers • ‘Working areas’ for data processed by the ALU Stuart Cunningham - Computer Platforms - 2003

  6. START Fetch next instruction from memory to CIR Increment PC Execute instruction in CIR STOP? no yes END Fetch Execute Cycle • Defines how instructions are retrieved and carried out inside the processor (CPU) • Sometimes called the Instruction Cycle or Automatic Sequence Control Stuart Cunningham - Computer Platforms - 2003

  7. START Fetch next instruction from memory to CIR Increment PC Execute instruction in CIR STOP? no yes END Fetch Execute Cycle • Fetch Stage • Copy contents of PC into MAR • Value of PC presented via the address bus • Increment PC (point to next instruction) • Copy instruction from MBR into CIR via data bus Stuart Cunningham - Computer Platforms - 2003

  8. START Fetch next instruction from memory to CIR Increment PC Execute instruction in CIR STOP? no yes END Fetch Execute Cycle • Execute Stage • Decode instruction from CIR • Run instruction in CIR • Unless instruction is STOP, repeat cycle Stuart Cunningham - Computer Platforms - 2003

  9. Fetch Execute Cycle • Instruction Set • The types of instruction that a particular machine can execute • The instructions that are carried out during the Fetch Execute Cycle • Types of instruction: • Arithmetic and logical calculations on data • Input and output of data • Changing the sequence of program execution • Transferring data between memory and CPU registers • Transferring data between CPU registers • Instructions are split into two parts: • Opcode (Operation Code)- the operation to be carried out • Operand- The data upon which the operation should be performed Stuart Cunningham - Computer Platforms - 2003

  10. Von Neumann Model • Logical structure of the computer system Stuart Cunningham - Computer Platforms - 2003

  11. Von Neumann Model • Logically defines a complete computer system • Centralised control of all processes of the computer system • Defines main parts of the machine: • Memory • Storage for instructions and data • Processing unit • ALU functions • Control unit • Interpreting instructions • Issuing commands • Input and Output • For entering and retrieving data Stuart Cunningham - Computer Platforms - 2003

  12. Von Neumann Model • Problem? • Von-Neumann Bottleneck • All instructions must be retrieved from memory before they are processed • Memory (RAM) runs at slower speeds than the processor is capable of • The difference between the speed of the RAM and the speed of the processor is the ‘bottleneck’ • This is being remedied by faster RAM technologies • Such as SDRAM Stuart Cunningham - Computer Platforms - 2003

  13. Memory (RAM) • Many different types of RAM • SDRAM • Synchronous DRAM • Synchronises with processor buses • Max. approx 133 MHz • Reasonably new • DDR SDRAM • Double Data Rate SDRAM • Transfers data on both sides of the clock cycle • Effectively doubles transmission rate • EDO DRAM • Extended Data Out DRAM • Gets the next block of memory while current block is being sent to the processor Stuart Cunningham - Computer Platforms - 2003

  14. Memory (RAM) • BEDO DRAM • Burst EDO RAM • Only synchronise with CPU for short time • Processes four memory addresses in one go • Only supports max. 66MHz processor buses • FPRAM • Fast Page RAM • “Page Mode Memory” • Dynamic RAM • Allows faster access to adjacent memory locations • Does not always store complete addresses • NVRAM • Non Volatile RAM • Retains it’s contents when power is switched off • Powered by a battery • Or uses an EEPROM chip • Electrically Erasable Programmable ROM • Combination of SRAM and EEPROM chips • SRAM is an NVRAM derivative Stuart Cunningham - Computer Platforms - 2003

  15. Video Memory (RAM) • WRAM • Windows RAM • Windows are large blocks of memory • Supports two paths to transport data • Sends data for display as new information is being sent to the graphic adapter’s memory • Same principle as standard VRAM • Faster than VRAM because of Windowing • SGRAM • Synchronous Graphic RAM • Dynamic RAM • Synchronise with processor buses up to 100 MHz • Capable of opening two memory pages at once • Simulates dual data transmission of VRAM and WRAM • Better than standard VRAM Stuart Cunningham - Computer Platforms - 2003

  16. Analogue • A continuously varying signal • Varying in terms of frequency, amplitude, or both • A signal that is constantly changing • Analogue can represent many values Stuart Cunningham - Computer Platforms - 2003

  17. Digital • A signal with discrete value changes • Signal levels are either on or off • Often thought of as either 1 or 0, especially in computers, but digital can represent many different values using discrete levels Stuart Cunningham - Computer Platforms - 2003

  18. Decimal • Base 10 • Numbers we use in everyday life • 10 values then increment to next digit • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • Each position represents a value of 10 to the positions power • ‘Ten fingers & ten toes’ • Decimal numbers • E.g.- • 5 • 64281 • -3564 Stuart Cunningham - Computer Platforms - 2003

  19. Binary • Base 2 • Commonly used in computers to represent data • 2 values, then increment next digit • 0 or 1 • Each position represents a value of 2 to the positions power • On or off (Digital) • Binary numbers • E.g.- • 01 • 1010110 • 00000000 • 11111111 Stuart Cunningham - Computer Platforms - 2003

  20. Converting Decimal & Binary • To convert decimal to binary: • If the decimal number is ODD, write a ‘1’ on the far right hand side • OR if the decimal number is EVEN, write a ‘0’ on the far right hand side • Divide the decimal number by TWO • If there is a remainder then ignore it • If the number you have is ODD, write a ‘1’ to the left of the previous digit • OR if the number is EVEN, write a ‘0’ to the left of the previous digit • Repeat until your decimal number is 0 Stuart Cunningham - Computer Platforms - 2003

  21. Converting Decimal & Binary • E.g.- • Decimal ’15’ = ODD = 1 • 15/2 = 7.5 = 7 = ODD = 11 • 7/2 = 3.5 = 3 = ODD = 111 • 3/2 = 1.5 = 1 = ODD = 1111 • Binary ‘1111’ = Decimal ’15’ !!!! • We can ‘pad’ our binary number with 0’s • Eg: 00001111 • Decimal ’32’ = EVEN = 0 • 32/2 = 16 = EVEN = 00 • 16/2 = 8 = EVEN = 000 • 8/2 = 4 = EVEN = 0000 • 4/2 = 2 = EVEN = 00000 • 2/2 = 1 = ODD = 100000 • Binary ‘100000’ = Decimal ’32’ !!!! • We can ‘pad’ our binary number with 0’s • Eg: 00100000 Stuart Cunningham - Computer Platforms - 2003

  22. Converting Binary & Decimal • To convert binary to decimal: • Write out the binary number • Add the positional values to each digit • Where there is a ‘1’ below the positional value highlight that positional value • Once all 1’s in the binary number have highlighted their positional values • Add all highlighted values together • Positional values: • 512 256 128 64 32 16 8 4 2 1 • These values can of course increase to the power of 2 Stuart Cunningham - Computer Platforms - 2003

  23. Converting Binary & Decimal • E.g.- • Binary number: 00011011 • Add positional values: • 128 64 32 16 8 4 2 1 • 0 0 0 1 1 0 1 1 • Highlight the positional values • Add the highlighted values together: • 16+8+2+1 = 27 • So Binary 00011011 = Decimal 27 !! Stuart Cunningham - Computer Platforms - 2003

  24. Hexadecimal • Base 16 • Another common format for data representation • Easy to map against binary • 16 values then increment next digit • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F • Each position represents a value of 16 to the positions power • Hexadecimal numbers • E.g- • 5 • 10 • FF • FB 19 • Commonly notated with “0x” in front of values • 0xFF or 0x53 Stuart Cunningham - Computer Platforms - 2003

  25. 0123456789ABCDEF 0123456789101112131415 Hexadecimal Values DECIMAL HEXADECIMAL Stuart Cunningham - Computer Platforms - 2003

  26. Converting Decimal & Hexadecimal • To convert decimal to hexadecimal: • Write out the decimal number • Write out the hexadecimal positional values • Find the largest hex positional value that your decimal number will divide into • Divide your decimal number by that hex positional value • Take the answer( ignore the remainder) and add it to the left hand side of your hex answer multiply this number by it’s positional value and then subtract it from your decimal number • Take what’s left of your decimal number and repeat the process until you have nothing left Stuart Cunningham - Computer Platforms - 2003

  27. Converting Decimal & Hexadecimal • E.g.- • Decimal 280 • Write Hex positional values • 1048576 65536 4096 256 16 1 • Divide 280 by 256 (=1) • Multiply 1 by 256 (=256) • Subtract 256 from 280 (280-256=24) • Divide 24 by 16(=1) • Multiply 1 by 16 (=16) • Subtract 16 from 24 (24-16=8) • Divide 8 by 1 (=8) • Write in the 8 • 1048576 65536 4096 256 16 1 • 0 0 0 1 1 8 • Hex number = 118 Stuart Cunningham - Computer Platforms - 2003

  28. Converting Hexadecimal & Decimal • To convert hexadecimal to decimal: • Write out the hexadecimal number • Add the positional values to each digit • Where there is a value greater than ‘0’ below the positional value highlight that positional value • Once all positional values have been highlighted, multiply the number below, by it’s positional value • Add all results of highlighted values together • Positional values: • 1048576 65536 4096 256 16 1 • These values can of course increase to the power of 16 Stuart Cunningham - Computer Platforms - 2003

  29. Converting Hexadecimal & Decimal • E.g.- • Hex number 0x4C • Add positional values • 1048576 65536 4096 256 16 1 • 0 0 0 0 4 C • Highlight positional values • Multiply positional values by the number below • 4*16 = 64 • C*1 = 12*1 = 12 • Add these together • 64+12=76 Stuart Cunningham - Computer Platforms - 2003

  30. MIPS & Hertz (Hz) • MIPS = Millions of Instructions per Second • How many instructions a processor can carry out each second • Old form of measurement • Inaccurate • Some instructions take longer than others • Hz = number of complete cycles per second • MHz = Millions of cycles per second • In a processor a cycle is when the state of the control lines are changed Stuart Cunningham - Computer Platforms - 2003

  31. Bits ‘n’ Bytes • A bit is a single binary digit (1 or 0) • A byte is eight bits • Four bits are sometimes called a nibble • A kilobit (KB) is 1024 bits • A kilobyte (Kb) is 1024 bytes • A megabyte (Mb) is 1024 kilobytes • A gigabyte (Gb) is 1024 megabytes • A terabyte (Tb) is 1024 gigabytes Stuart Cunningham - Computer Platforms - 2003

  32. What you know now (Week 3)… • Von Neumann Architecture • Von Neumann Model • Buses • Registers • Fetch Execute Cycle • Memory • Types of memory • SDRAM, EDO, FPRAM, EEPROM • WRAM, SGRAM • Digital & Analogue • Binary • Hexadecimal • Terminology Stuart Cunningham - Computer Platforms - 2003

More Related