Microprogrammed control and programming the basic computer: machine and assembly language, assemblers, loops, subroutines and I-O programming. - One Line Questions
1.
Which of the following is a typical component of a subroutine's implementation? —
A stack pointer
2.
In the context of I/O programming, a 'device driver' is: —
A software program that allows the operating system to communicate with an I/O device.
3.
Machine language is: —
A set of binary codes understood directly by the CPU.
4.
A 'vertical microinstruction' format typically has: —
A smaller number of bits, using encoding to represent control signals.
5.
Which component is essential for implementing DMA? —
A DMA Controller
6.
What is an 'interrupt' in the context of I/O programming? —
A signal from an I/O device to the CPU indicating it needs attention or has completed an operation.
7.
In assembly programming, what is a 'register'? —
A small, fast storage location within the CPU.
8.
Which of the following is an example of a machine language instruction? —
1011000100000101
9.
The process of converting assembly language into machine language is called: —
Assembling
10.
Which assembly language construct is commonly used to implement a loop? —
Conditional jump instructions (e.g., JZ, JNZ)
11.
When a subroutine is called, local variables are often stored on the: —
Stack.
12.
Which mechanism is commonly used to transfer data between the CPU and I/O devices? —
All of the above
13.
Direct Memory Access (DMA) allows I/O devices to: —
Communicate directly with main memory without CPU intervention for each data transfer.
14.
Which of the following is an advantage of using microprogramming? —
Easier modification and updating of the control unit's functionality.
15.
The 'CALL' instruction in assembly language typically performs two main actions: —
Pushes the return address onto the stack and jumps to the subroutine.
16.
A 'horizontal microinstruction' format is characterized by: —
Each bit in the microinstruction directly controls a specific CPU component or signal.
17.
An assembler is a program that translates: —
Assembly language code into machine language.
18.
A common characteristic of loops is that they require a condition for: —
Continuing or exiting the loop.
19.
The main advantage of using subroutines is: —
Code reusability and modularity.
20.
What is the outcome of a 'jump' instruction in assembly language? —
It causes the program execution to transfer to a different location in the code.
21.
Which instructions are typically used to manage subroutine calls and returns? —
CALL and RET
22.
A sequence of microinstructions stored in control memory that dictates the operation of the CPU is called a: —
Microprogram
23.
Which of the following best describes the relationship between machine language, assembly language, and microprogramming? —
Microprogramming controls the CPU's hardware to execute machine language instructions, which assembly language represents symbolically.
24.
What is the main difference between machine language and assembly language? —
Machine language is binary, while assembly language uses mnemonics.
25.
Assembly language uses mnemonics to represent: —
Machine instructions and data.
26.
I/O programming often involves interacting with: —
Input/Output controllers and device registers.
27.
What is the primary difference between microprogramming and hardwired control? —
Microprogramming uses software (microinstructions), while hardwired control uses dedicated logic gates.
28.
Which of the following represents a common mnemonic for an addition operation in assembly language? —
ADD
29.
Which of the following is NOT a typical component of a basic assembly language instruction? —
Microinstruction bits
30.
An I/O instruction in assembly language might be used to: —
Load data from an input device or send data to an output device.
31.
The 'RET' instruction at the end of a subroutine typically: —
Pushes the return address from the stack back into the program counter.
32.
What is a disadvantage of microprogramming? —
Potentially slower execution of instructions compared to hardwired control.
33.
Interrupt-driven I/O is generally more efficient than Programmed I/O because: —
The CPU does not waste time polling devices.
34.
In Programmed I/O (PIO), how does the CPU handle data transfer with an I/O device? —
The CPU continuously polls the status of the I/O device.
35.
In the context of I/O programming, 'polling' refers to: —
The CPU repeatedly checking the status of an I/O device.
36.
When programming the Basic Computer, the instruction set determines: —
The operations the computer can perform.
37.
What is the role of the instruction set architecture (ISA) in microprogramming? —
To specify the set of machine instructions that the CPU can execute.
38.
What is the primary role of a microprogrammed control unit in a CPU? —
To generate control signals based on a sequence of microinstructions.
39.
What is the primary function of an assembler? —
To convert symbolic assembly code into binary machine code.
40.
What is the primary purpose of the 'micro-operations' defined in microprogramming? —
To define the fundamental steps of CPU operation at the hardware level.
41.
What is the primary purpose of a subroutine? —
To execute a block of code multiple times from different parts of the program.
42.
What is the role of the stack in subroutine calls? —
To save the return address so the program can resume after the subroutine finishes.
43.
In microprogramming, what is the purpose of the Control Memory (CM)? —
To store the microprogram that controls the CPU's operations.
44.
What is the purpose of a 'loop' in programming? —
To perform a set of instructions repeatedly.
45.
The term 'Basic Computer' in the context of this topic typically refers to a simplified model of a computer used for educational purposes, often with a fixed instruction set. —
True
46.
A 'control word' in microprogramming typically contains: —
Bits that directly control the data path and operations of the CPU.
47.
Which of the following is a common way to represent conditional branching in assembly language? —
Using comparison instructions (e.g., CMP) followed by conditional jump instructions (e.g., JE, JNE).
48.
A 'subroutine' in assembly programming is analogous to a ______ in high-level languages. —
Function or Procedure
49.
I/O programming refers to: —
Writing programs that interact with input and output devices.