ajay dev studying Computer Systems Design To learn about the internal organisation of the computer. To learn about the architecture of a computer’s CPU.
Computer Systems Design
To learn about the internal organisation of the computer. To learn about the architecture of a computer’s CPU.
Prescribed Books
The following are the suggested books for the course:
Computer Organization and Design, 4th Ed, D. A. Patterson and J. L. Hennessy
W. Stallings, Computer Organization and Architecture – Designing for Performance, 9th Edition, Pearson, 2013
Week 1: Basic functional blocks of a computer:
- CPU: The CPU, or central processing unit, is the brain of the computer. It is responsible for executing instructions and processing data.
- Memory: Memory stores data and instructions that the CPU needs to access.
- Input-output subsystems: Input-output subsystems allow the computer to communicate with the outside world. They include devices such as keyboards, mice, monitors, and printers.
- Control unit: The control unit is responsible for coordinating the operation of the different components of the computer.
Week 2: Instruction set architecture of a CPU:
- Registers: Registers are small, fast storage units that are used to store frequently accessed data and instructions.
- Instruction execution cycle: The instruction execution cycle is the process by which the CPU executes an instruction. It consists of four steps: fetch, decode, execute, and writeback.
- RTL interpretation of instructions: RTL, or register transfer level, is a language that is used to describe the operation of the CPU. RTL instructions are translated into machine code by the compiler.
- Addressing modes: Addressing modes specify how the CPU finds the operands for an instruction.
- Instruction set: The instruction set is the set of instructions that the CPU can understand.
Week 3: Data representation:
- Signed number representation: Signed number representation is used to represent positive and negative numbers.
- Fixed and floating point representations: Fixed point representation is used to represent numbers with a fixed number of digits. Floating point representation is used to represent numbers with a wide range of values.
- Character representation: Character representation is used to represent characters such as letters, numbers, and symbols.
Week 4: CPU control unit design:
- Hardwired design: In a hardwired design, the control unit is implemented using logic gates.
- Microprogrammed design: In a microprogrammed design, the control unit is implemented using a microprogram, which is a program that stores the control signals for each instruction.
Week 5: Peripheral devices and their characteristics:
- Input-output subsystems: Input-output subsystems allow the computer to communicate with the outside world. They include devices such as keyboards, mice, monitors, and printers.
- I/O transfers: I/O transfers are the process of moving data between the CPU and the I/O devices.
- Program controlled: In program controlled I/O transfers, the CPU is responsible for controlling the transfer of data.
- Interrupt driven: In interrupt driven I/O transfers, the I/O device interrupts the CPU when it is ready to transfer data.
- DMA: Direct memory access (DMA) allows the I/O device to transfer data directly to memory without the intervention of the CPU.
Week 6: Programs and processes:
- Programs: Programs are sets of instructions that the CPU can execute.
- Processes: Processes are instances of programs that are running on the computer.
- Interrupts: Interrupts are signals that are sent to the CPU to notify it of an event, such as an I/O device being ready to transfer data.
- Process state transitions: Interrupts can cause processes to transition between different states, such as running, ready, and waiting.
Week 7: Pipelining:
- Pipelining: Pipelining is a technique that allows the CPU to execute multiple instructions at the same time.
- Throughput and speedup: Throughput is the number of instructions that the CPU can execute per second. Speedup is the ratio of the throughput of a pipelined CPU to the throughput of a non-pipelined CPU.
- Pipeline hazards: Pipeline hazards are conditions that can prevent the CPU from executing instructions efficiently.
Week 8: Memory organisation:
- Memory interleaving: Memory interleaving is a technique that improves the performance of memory by accessing multiple memory banks in parallel.
- Hierarchical memory organisation: Hierarchical memory organisation is a technique that uses different types of memory with different access times and capacities to improve the overall performance of the memory system.
- Cache memory: Cache memory is a small, fast memory that is used to store frequently accessed data and instructions.
- Cache size vs block size: The cache size is the total amount of memory in the cache. The block size is the size of each unit of data that is stored in the cache.
- Mapping functions: Mapping functions are used to map memory addresses to cache addresses.
- Replacement algorithms: Replacement algorithms are used to decide which blocks of data to evict from the cache when the cache is full.
- Write policy: The write policy determines how the CPU writes data to the cache and to main
Comments
Post a Comment