Computer Architecture Exam Questions
Computer Architecture Exam Questions
Associative memory, also known as content-addressable memory, allows data retrieval based on content rather than specific address location, enabling faster retrieval times in certain applications. Traditional memory, however, requires data to be accessed by specific addresses, relying on sequential or direct memory location accesses .
Handshaking in asynchronous data transfer is significant because it ensures data is sent only when both the sender and receiver are ready. This handshake involves a series of signal exchanges to confirm readiness, optimize data integrity, and avoid data collision during transmission .
Two's complement is used for subtraction by effectively reversing the number you want to subtract and adding it using normal binary addition. This involves inverting the bits of the subtrahend and adding one, making the arithmetic uniform for both addition and subtraction in the system without the need for a dedicated subtraction unit .
Pipelining enhances execution efficiency by breaking down instruction processing into separate stages, allowing different instructions to be processed concurrently at various pipeline stages. This increases throughput by reducing the idle times typically inherent in non-pipelined processor designs .
Status bits in a register, often stored in a status register, are used to indicate the outcome of operations or specific conditions of the CPU. They can denote flags like overflow, carry, zero, and negative conditions which are critical for decision-making processes in executing further instructions .
The main purpose of a program counter is to hold the address of the next instruction that needs to be executed. This ensures that the processor knows where to continue reading instructions from in a sequential manner .
Control memory, as part of the control unit, is used to store the microprogram that defines the processing sequence of micro-operations in a CPU. In contrast, data memory is generally part of main memory used to store data variables and intermediate results during program execution .
Virtual memory allows systems to use hard disk space as an extension of RAM, effectively enabling the execution of processes larger than physical memory. This abstraction allows for more efficient multitasking and process management but can impact performance negatively through increased access times and page swapping, which needs to be managed to minimize thrashing .
Booth's multiplication algorithm is a method for multiplying binary numbers that reduces the number of addition operations by encoding the multiplier in a form that allows for efficient bypassing of strings of zeros. It is advantageous because it can handle both positive and negative multipliers uniformly and is more efficient for numbers with several consecutive zero or one bits .
In direct addressing mode, the effective address is specified within the instruction, meaning it directly points to the memory location where data is located. In immediate addressing mode, the operand itself is part of the instruction, not requiring any additional memory lookup, making data access faster though limited in operand size .