Comp organisation and architecture Flashcards
Role of processor
A device that follows out computation on data by following out instructions
Role of main memory
Stores data and instructions that will be used by the processor. It is connected to the processor by several different buses
Types of main memory
RAM - Temporary storage space with quick access times
- Volatile (all contents lost when turned off)
ROM - permanent store of data and instructions that can be accessed by the computer
-Not volatile
Uses of RAM
Allows programs and software to run
Stores data and instructions needed by processor for FE cycle
Part of OS is loaded in RAM
Uses of ROM
Boot program
Buses
A set of parallel wires that transmit signals between components, connecting the processor to several I/O controllers
Role of address bus
- Uni directional from PROCESSOR–> MEMORY
- Used to access anything stored in main memory so the data bus can access
Role of data bus
Carries data and instructions MemoryProcessor
Bi directional
Role of control bus
Carries control signals (timing or memory read/write)
Bi directional
Role of I/O controllers
- Translates between processor and peripherals
- Buffers data from CPU to device so processor doesn’t have to wait for each device to respond (I/O respond slower to processor)
- Sends specific control signals to the I/O devices from processor
- I/O connected to controllers by ports so can exchange data
Von Neumann
Technique used for building a processor where…
Data and instructions are stored in the same memory and accessed via buses
Where is von neumann used?
General purpose computers
Harvard architecture
Uses separate buses and memory for data and instructions
Where is Harvard used?
Embedded devices (mobiles, burglar alarms, DSP)
Digital signal processing - real world continuous data compressed to enable faster processing
Microprocessors
Micro controllers
Advantages of Harvard over VN
-Data and instructions can be accessed simultaneously and are handled quicker as don’t have to share same bus
-Reduce delays waiting for memory fetches
-Instructions and data can have different word length
-Avoids possibility of data being executed as code, which is one
method that can be exploited by hackers
Addressable memory concept
The concept that data and instructions are stored in memory using discrete addresses
Stored program concept
Machine code instructions stored in main memory are fetched and executed serially by a processor that performs arithmetic and logical operations
ALU
A component inside the processor which carries out 2 types of operations on data: arithmetic and logic (comparing >
Control Unit
Supervises fetch-execute cycle
Makes sure all data is sent to right place (ie right register/section of memory)
Clock
Generates electrical pulse (GHZ) to sychronise components of computer eg FE cycle
Registers
Small temporary storage in processor
Name the dedicated registers in the processor
PC - stores memory location of next data/instruction to be fetched
CIR - Stores instruction currently being executed by processor
MAR - Stores memory location where data in MBR is about to be written to/read from
MBR/MDR - Stores data just been read from/ is about to be written from main memory
SR - Keeps track of status of various parts of comp eg If overflow error occurs
Fetch Execute Cycle
PC contains memory location of next instruction to be fetched
Processor transfers this memory location into MAR, then sent down address bus to main memory
Data/instruction in this location sent down data bus back to processor and into MBR. PC is then incremented by 1
Goes into CIR before control unit, where it is decoded and executed by the relevant part of processor (part of ALU)
SR stores any overflow errors if they were to occur
Processor instruction set
- Pattern of 0s and 1s a particular processor recognises
- The range of instructions a CPU can execute
- Instruction sets are processor specific
LDA #23 which is opcode and which is operand?
LDA # opcode includes basic machine operation and addressing mode
23 is opcode - data/address
Direct addressing
Operand is address location of data
Immediate addressing
without memory location - operand is the data #