Computer Hardware, Register Access, Instruction Lists, and Interruptions
A register machine is a quick-access, memory-efficient place on a personal computer for the CPU to find and then put control into an operation. Most register machines are only one bit per register address, while some are multi-bit. Some registers can also be read/write, and some have specialized hardware functions, but generally are a simple number of registers that can be accessed quickly. Generally speaking, there are two kinds of registers:
In a word processor, the registers are used to store words or phrases, and the accumulator stores the actual processed words. The two parts work together by adding the processed words into the accumulator, which in turn adds them to the register. When an instruction is entered into the machine, the accumulator is set to “go to” or “read” the next instruction, and the register is then in the full form. When the instruction is complete, the register is set to “close out” the instruction, and the processor goes into a protected mode, where only specific commands will come into play. In this way, the computer memory maintains only a specified memory data register at any one time.
In a microprocessor, registers are used to store or retrieve instructions, program control data used for I/O purposes. Instructions are fed into the microprocessor from a host computer through a bus, and the computer memory retrieves and executes the instructions. Because registers are arranged on a horizontal line, the horizontal data flow represents a logical transaction, while the vertical lines represent the actual data transferred to and from the registers.
There are a number of different types of registers in a computer instruction set. They are: shift registers, bit shifts, nibbles, bytes, sectors, words, and ticks. A shift register moves a bit or a group of bits without changing them, while an byte and a nibble are the same thing. A sector is a two-dimensional area of memory on a motherboard or processor. Word and tick marks the start of each block of memory. At the end of each block of memory is a register that contains the value that was stored in the last instruction executed.
The instruction list is the collection of all computer instructions, called an instruction list, which occurs either at the top of an instruction block, or at the end. The stack pointer, which is always pointed to by the address stored in the current instruction, points to the beginning of the next instruction in the instruction list. The term of the current instruction refers to the memory location at which the current instruction is stored. An interruptible procedure call is an instruction that is entered to let the user know that a function has ended, but not yet called out.
Instruction cycles are the number of times that a virtual machine instruction is executed in a program. The program execution unit, also known as the PC, performs the actual execution of instructions contained in the program. The PC is part of the central processing unit or CPU. In a multi-core processor, multiple processors run simultaneously, using one and only single PC. A hypervisor is a software abstraction layer that acts between the user’s programming language (C/C++) and the computer hardware.