Explore chapters and articles related to this topic
I
Published in Philip A. Laplante, Comprehensive Dictionary of Electrical Engineering, 2018
instruction of electrical engineers and computer scientists. The world's largest professional organization for engineers. instruction specification of a collection of operations that may be treated as an atomic entity with a guarantee of no dependencies between these operations. instruction access fault a fault, signaled in the processor, related to abnormal instruction fetches. instruction cache See code cache. instruction format the specification of the number and size of all possible instruction fields in an instruction-set architecture. instruction issue the sending of an instruction to functional units for execution. instruction pipeline a structure that breaks the execution of instruction up into multiple phases, and executes separate instructions in each phase simultaneously. instruction pointer another name for program counter, the processor register holding the address of the next instruction to be executed. instruction pool in modern CPU implementations, a holding area in which instructions that have been fetched by an instruction fetch unit await access to an execution unit. instruction prefix a field within a program instruction word used for some special purpose. Found only rarely. The Intel X86 architecture occasionally uses instruction prefixes to override certain CPU addressing conventions. instruction reordering a technique in which the CPU executes instructions in an order different from that specified by the program, with the purpose of increasing the overall execution speed of the CPU. instruction repertoire See instruction set.
The CPU and a microprocessor system
Published in Stuart Anderson, Microprocessor Technology, 2012
The program counter (PC) holds the 16-bit address of the current instruction being fetched from memory. It is therefore closely associated with the instruction register. The PC is automatically incremented (increased by one) after its contents have been transferred to the address lines. Although CPU operation is generally a serial process, working through a program line by line, processing instructions and handling data, there will occasionally be program ‘jumps’. This might occur when a subroutine is ‘CALLed’ for example. When the CPU encounters a program jump, the start address in memory is automatically placed in the program counter, overriding the incrementer.
The central processing unit
Published in D.A. Bradley, N.C. Burd, D. Dawson, A.J. Loader, Mechatronics, 2018
D.A. Bradley, N.C. Burd, D. Dawson, A.J. Loader
The sequential fetching of instructions from memory is achieved using a special register called the program counter (PC) which contains the address of the next instruction to be fetched from memory. At the beginning of the read cycle the contents of the PC are latched into the the address buffers and placed on to the address bus. The contents of the PC are then incremented in preparation for fetching the next item from memory. If the maximum addressing capability of the CPU is 64K bytes, requiring 16 lines on the address bus, then the program counter register must be 16 bits long.
A programmable ternary CPU using hybrid CMOS/memristor circuits
Published in International Journal of Parallel, Emergent and Distributed Systems, 2018
Daniel Wust, Dietmar Fey, Johannes Knödtel
Figure 1 shows the block diagram of the CPU. The execution starts with program counter providing the current instruction address. The address is applied to the instruction memory’s address port. The retrieved instruction is then passed to the decode unit. In the first step of the decoding the operation to be executed and the addresses of the source registers are determined. In the next cycle the data from the register file, the register addresses and the operation to execute are passed to the scheduler. Under consideration of the data consistency the scheduler assigns the operation to the corresponding functional unit. If the functional unit is not available, the program counter has to be stopped temporarily by enabling the stall signal until the unit is available, realizing a strict in-order commit. Each functional unit is preceded by a reservation station which contains a copy of the operands or a reference to the unit that is going to produce the operand in case it is not available yet. As soon as all necessary operands are available in the reservation station the actual computation in the functional unit is started. The result of the computation is written back to the register file in-order and relayed to other functional units.