Computer Architecture

Cards (38)

  • Von Neumann architecture

    Before 1943 computers did not store their programs in memory, instead a series of switches had to be manually turned, or read from a paper stream. In 1943 a mathematician named Von Neuman came up with the idea of storing these program instructions and the data used into the same memory.
  • Von Neumann architecture was first published by John von Neumann
    1945
  • Von Neumann architecture
    • Consists of a Control Unit, Arithmetic and Logic Unit (ALU), Memory Unit, Registers and Inputs/Outputs
    • Based on the stored-program computer concept, where instruction data and program data are stored in the same memory
  • Main sections of Von Neumann architecture
    • Central processing unit (CPU)
    • Storage (Primary memory and Secondary memory)
    • Input/output device
  • Central Processing Unit (CPU)
    The electronic circuit responsible for executing the instructions of a computer program
  • CPU
    • Processes instructions and data that are input into the computer so that the result can be output
    • Sometimes referred to as the microprocessor or processor
    • Contains the ALU, CU and a variety of registers
  • Arithmetic Logic Unit (ALU)

    An internal part of CPU that carries out calculations on data. The arithmetic part uses the usual operators and the logic part carries out comparisons.
  • Control Unit (CU)
    An internal part of CPU that controls the flow of data through CPU and controls the interactions between the different parts of the CPU
  • Control Unit (CU)
    • Controls the operation of the computer's ALU, memory and input/output devices, telling them how to respond to the program instructions it has just read and interpreted from the memory unit
    • Provides the timing and control signals required by other computer components
    • A system clock is used to produce timing signals on the control bus to ensure synchronisation
  • Immediate access store (IAS)
    The memory found inside CPU and used to hold both data and the instructions needed to process that data
  • Registers
    Internal memory locations within CPU that temporarily hold data and instructions during processing
  • Types of Registers
    • MAR (Memory Address Register)
    • MDR (Memory data Register)
    • ACC (Accumulator)
    • PC (Program Counter)
    • CIR (Current Instruction Register)
    • CU (Control Unit)
  • Memory Unit

    Consists of RAM, sometimes referred to as primary or main memory. Unlike a hard drive (secondary memory), this memory is fast and also directly accessible by the CPU.
  • Input/Output
    Allows interactions with the computer. Instructions are processed from and to them in the CPU.
  • Buses
    A series of conductors, pathway, and can also say as a sort of 'highway' for information. Buses are used in computers as parallel transmission components; each wire in the bus transmits one bit of data.
  • Types of Buses
    • Data bus
    • Address bus
    • Control bus
  • Address bus

    Carries addresses throughout the computer system. Between the CPU and memory, the address bus is unidirectional.
  • Data bus
    The data bus is bidirectional. This means data can be carried from CPU to memory (and vice versa) and to and from input/output devices.
  • Control bus
    The control bus is also bidirectional. It carries signals from the control unit (CU) to all the other computer components.
  • Stored-program concept
    A stored-program computer is computer that stores programs and instructions in digital memory. This concept is though to be older than the von Neuman architecture itself and what inspired its development.
  • Fetch-Decode-Execute cycle
    To carry out a set of instructions, the CPU first of all fetches some data and instructions from memory and stores them in suitable registers. Once this is done, each instruction needs to be decoded before finally being executed.
  • Fetching
    Both data and instruction can be stored in MDR. The next instruction is fetched from the memory address currently stored in the MAR and the instruction is stored in the MDR. The contents of the MDR are then copied to the Current Instruction Register (CIR). The PC is then incremented (increased by 1) so that the next instruction can be then be processed.
  • Decode
    The instruction is then decoded so that it can be interpreted in the next part of the cycle.
  • Execute
    The processor (CPU) passes the decoded instruction as a set of control signals to the appropriate components within the computer system. This allows each instruction to be carried out in its logical sequence.
  • Fetch-Decode-Execute cycle
    1. Step 1- Fetching the instruction
    2. Step 2- Decoding the instruction
    3. Step 3- Executing the instruction
  • Instruction set for a CPU
    A list of all the commands that can be processed by a CPU and the commands are machine code. Each operation will instruct the ALU and CU (which are part of the CPU). An operation is made up of an opcode and an operand.
  • System Clock
    Produces timing signals on the control bus to ensure synchronisation takes place. The clock defines the clock cycle that synchronises all computer operations.
  • Increasing clock speed increases the processing speed of the computer
  • Clock speed is the number of fetch-decode-execute cycles that can be performed in a second
  • Factors for high speed computer system
    • Width of the address bus and data bus
    • Overclocking (changing the clock speed of a system clock to a value higher than the factory/recommended setting)
    • Use of cache memories
    • Use of a different number of cores
  • Overclocking can lead to seriously unsynchronized operations and overheating of the CPU, causing unreliable performance
  • Larger cache memory size improves CPU performance
  • Doubling the number of cores doesn't necessarily double the computer's performance
  • Increasing bus width (data and address buses) increases the performance and speed of a computer system
  • Increasing clock speed will potentially increase the speed of a computer
  • A computer's performance can be changed by altering bus width, clock speed and use of multi-core CPUs, as well as use of cache memories
  • Embedded system
    A combination of hardware and software designed to carry out a specific set of functions
  • Types of embedded systems
    • Microcontrollers
    • Microprocessors
    • System on chips (SoC)