5.6 Basic computer structure   microprocessors
Upcoming SlideShare
Loading in...5

5.6 Basic computer structure microprocessors






Total Views
Views on SlideShare
Embed Views



1 Embed 5

http://olympicairtraining.talentlms.com 5



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

5.6 Basic computer structure   microprocessors 5.6 Basic computer structure microprocessors Presentation Transcript

  • Module 5: Digital Techniques and Electronic Instrument Systems 5.6 Basic Computer Structure 5.7 Microprocessors
  • Basic Computer Structure  CPU  Memory  I/O  Bus
  • Bus  Control bus:  Signals for maintaining and status information.  e.g. sets processor in a specific operation mode.  Address bus:  Unidirectional bus, (16 or 32 bits parallel wires) used for transmitting addresses to memory.  Data bus:  8 / 16 / 32 / 64 bits bi- directional bus. Data stored or loaded to / from the memory.
  • Central Processor Unit  Instructions and data are stored in RAM.  CPU loads and decodes an instruction.  Loads data needed from RAM (according to the instruction) and stores them in registers.  Make calculations if necessary in registers, according to the instruction.  Stores data back in RAM.
  • ARM Register Set  Registers:  Small and very fast memories.  Usually 32 bits each one.  R15 is the Program Counter: stores the address of the next instruction.  CPSR (Current Program Status Register) used to monitor and control internal operations.  e.g. A calculation has been made (e.g. an addition). Is the result negative? Did it lead to overflow? Did a carry occur?
  • ARM Assembly Example  Very simple and low level commands.  The CPU decodes them to machine language (i.e. binary).  Each instruction requires a different number of CPU cycles.
  • CPU Instruction Set  Each different kind of CPU has each own set of instructions.  4 types of instructions:  Transfer: e.g. Load data from memory to a CPU register for processing.  Arithmetic: e.g. add data stored in two registers and put the result to a 3rd register.  Logic: e.g. compare data stored in two registers and set the appropriate flag in the Status Register.  Control: Set the program counter to a specific memory address.
  • Arithmetic Logic Unit  ALU:  Addition  Subtraction  Multiplication  Comparison
  • CPU fetch-decode-execute cycle  5 basic operations:  Fetch: load a memory instruction.  Decode: decode the instruction.  Execute: perform ALU operations.  Memory access: (In fact, usually wait for one CPU cycle, to ensure consistency).  Write back: store results in a register.  This is the CPU pipeline.  The operations of the CPU are decomposed in independent steps to allow concurrent operations and increased CPU performance.
  • CPU Clock  Each time the CPU clock “ticks” CPU moves to the next pipeline stage.  So, in an 1GHz CPU each pipeline stage takes 1nsec.
  • Memory  Instructions and Data are stored in memories.
  • Types of Memories  Most common widths: 8, 16, 32, 64 bits. If the memory width is the same as the instructions length, the processors needs one memory access to fetch a new instruction.  ROM (Read Only Memory): Contains an image set at production time and cannot be reprogrammed (e.g. boot code).  Flash ROM: Can be rewritten. Used to store device firmware or long- term data that needs to be preserved after power is off.  RAM (Random Access Memory).  DRAM (Dynamic RAM): The storage cells are refreshed after every few milliseconds, so it needs a DRAM controller.  SRAM (Static RAM): faster than DRAM, does not require refreshing. Used in caches.  SDRAM (Synchronous DRAM): Very fast, it is clocked and synchronizes itself with the processor clock.  Memories that lose their data when power is off are called volatile. (i.e RAM). ROM is non-volatile.
  • Read Only Memory  ROM  PROM (Programmable ROM): It’s purchased already programmed. Once programmed, can never be reprogrammed.  EPROM (Erasable PROM):  Can be reprogrammed using UV light.  EEPROM (Electrically EPROM) are reprogrammed electrically. (Flash Memories)  Flash Memories:  Designed to replace ROM and RAM.  Not as fast as SRAM and ROM.
  • Flash EEPROM  Floating gate transistors.  Electrons are “trapped” inside the float gate and open the channel between the n regions.
  • Hard Disk Drives & Solid State Drives  Two types:  Hard Disk Drive  Solid State Drive  Hard disk Drive:  They contain a number of platters.  The drive head reads or writes a circular ring of data.  One circular ring is called track.  Sections within each track are called sectors (512 bytes).
  • Cluster  The smallest part of the hard disk space that is used to store a file (also called “allocation space”).  A file stored on the hard disk uses one or more clusters.  Fragmentation:  Unused space inside a cluster is lost. (e.g. in a file of 2048Bytes, 512 bytes are unused). (Internal fragmentation).  Clusters used to store a file may not be contiguous. (external fragmentation).  In this case, extra time is needed to access the whole file.
  • Hard Disk vs. Solid State Drive  Comparison is difficult.  SSDs do not rotate to seek data, so the access time is much smaller than HDDs time. However, their performance degrades over time (even few weeks of use).  HDD drives have larger capacities. However, SSD capacity will increase in the future and prices will fall.  HDD drives are more sensitive than SSD. However, in case of an SSD failure, all data will be lost. There is no recovery process as happens with HDD.  SSD do not suffer from fragmentation problems. Time to access data does not depend on their location.  SSD based on flash technology require half to one third energy in comparison with HDD.
  • Software  Operating System:  The interface between the user of the system and the hardware.  Operations: Scheduling and allocating tasks to the CPU, allocating and freeing memory, providing a user interface, resource management, etc.  Programming Languages:  The programming language that tells the hardware what to do (operating systems are also written in programming languages).  e.g. assembly language command add r0, 3 tells the CPU to add 3 to the value stored in register r0 and store the result to register r0.  There are high level and low level languages.  C, C++, Basic, Java are high level languages. #include<stdio.h> int main(){ int a,b,sum; scanf("%d %d",&a,&b); sum = a + b; printf("%d",sum); return 0; }  Programming languages make use of a specific program called “compiler”, which translates the source code of the programming language to assembly code that the CPU understands.  The assembler converts the assembly program to machine code (i.e. 0 & 1).
  • What happens when I press “a” in the keyboard?  All I/O devices of the computer are “memory mapped”.  That means that a specific area in RAM is allocated to the specific I/O device. (The operating system is responsible for mapping the device to the memory).  Keyboard drivers are the interface between the keyboard and the operating system.  When I press “a” a specific value is written in the memory mapped area assigned to the keyboard.  The operating system scans many times per second all the memory mapped areas of any device for changes. So, when it detects a keyboard instruction it creates a specific group of instructions and assigns it to the CPU.  CPU executes the commands and stores memory data to memory mapped areas, according to the initial instructions (e.g. the memory mapped area of the screen).  Then the operating system, detects memory mapped area changes and creates new set of instructions to be assigned to the CPU, and so on…