Mapa mental
Hardware
Contenido del mapa
Hardware
Processor
- Executes Programs
Memory
- Stores Programs
- Stores Data
- Large byte array which holds information
- Use different kinds for different jobs.
- Registers are fast and on-chip
- Data values being used are loaded into registers before being operated on
- Data stored back inmemory once we are done with them
- 32 or 64 bits in size
- Computers have between 8 and 128.
- Main memory made of (Dynamic RAM)
- Slower to access
- 32GB
- Turns on and off
- Use fast SRAM(Static RAM) in cache between main memory and registers
- More expensive, so smaller
- Holds copy of subset of main memory
- 8MB
- cache - CPU(registers) interface uses custom bus
- always on
- Registers are fast and on-chip
- Size doubles every two years
- Management
- Problem: ># processes at once
- All need their own memory
- Need to share betwixt and with OS
- Address Binding
- How to allocate memory when dependent on where program is run from in memory
- Time of Address Binding
- At compile/link time
- Requires absolute addresses
- Thus acceptable for monolithic systems
- Requires absolute addresses
- At load time
- As program loaded, see where it is, update code with correct address.
- Happens each load time
- Good for embedded systems, bootloaders
- Happens each load time
- As program loaded, see where it is, update code with correct address.
- At run time
- Requires Hardware support MMU (Memory Management Unit)
- Mapping of logical to physical done at run time by MMU
- Relocation register holds base and limit of programs memory
- If requested > limit, address fault
- else base added, found in physical
- OS has privilege to update relocation rgister
- Hardware automatically translates from program to real addresses, doesn't change program
- Virtual Memory
- Requires Hardware support MMU (Memory Management Unit)
- At compile/link time
- Time of Address Binding
- How to allocate memory when dependent on where program is run from in memory
- Allocation
- Contiguous (in a block) is easiest
- Split memory into fixed size partitions, with OS in low partition
- terminating process frees partition
- Static Multi-programming
- Split memory into fixed size partitions, with OS in low partition
- Contiguous (in a block) is easiest
- Problem: ># processes at once
Devices
- for input and output
- All connected via buses
- Universal Asynchronous Receiver/Transmitter
- Slow way of transferring data
- Convert parallel data to serial
- Make up serial ports of a PC
- Hard disks, capacity 1TB, rotates at 12,000rpm
- Graphics card
- RAM (frame buffer) holds an array of pixels
- Some digital to analogue circuitry in old days (RAMDAC) but digital monitors do that now.
- The wide range of devices makes things complicated, as only the program requiring the data from a device can interpret the data correctly
Buses
- Transfer of information
- 3 kinds
- Address
- Data
- Addressing modes tell computer where data is being read from, be it registers, supplied with the code (immediate), somewhere else in the program (PC relative), or register indirect with or without displacement.
- Control
- Bus connects all other aspects together.
- Most processors have multiple buses that converge onto a shared communication line
- causes potential bottle neck
- Means slow devices do not hog important buses
- Master slave pattern. Master asks for info from address, slave supplies it on bus, master reads from bus
Fetch-Execute Cycle
- 1). Instruction fetched from memory address in PC into IB(Instruction Buffer) 2). Control Unit "decodes" instruction. 3). Execution Unit acts based on what is in instruction. 4). PC updated, return to 1).
- occurs within CPU (Central Processing Unit)
- Control Unit
- messy
- Program Counter (PC) register holds memory address
- Generates control signals to select functional units
- Also generates operand information
- Execution Unit
- - Arithmetic Logic Unit (ALU) - Shifter/Rotator - Multiplier and Divider - Memory Access Unit (MAU) - Branch Unit
- more logical
- The active calculating part
- Broken into functional Units (see note)
- unit selected with multiplexor based on decoded instruction
- ALU
- Inputs from registers, outputs to registers.
- Performs simple 2-operand calculations like addition, AND etc
- Typically calculates all possible outputs, uses function code to select output
- BU
- Tests a condition
- May change PC for control flow.
- MAU
- Generates address, uses buses to read/write at address
- Arithmetic and logical instructions represented as mnemonics in machine, but as characters in higher level languages.
- Conditional execution can be achieved by acting differently depending on different outputs.
- Comparisons based on comparing condition codes.
- Instruction encoding split into opcode (operation to perform) and operands (where to get values)
- Conditional execution can be achieved by acting differently depending on different outputs.
- Control Unit
Información
- Descripción
- A level (Operating Systems) CompSci Paper 2 Mapa Mental sobre Hardware, creado por Robin M el 20/05/2015.
- Creado por
- Robin M
- Visitas
- 0
- Valoración