Explore chapters and articles related to this topic
Computers
Published in Mike Tooley, Aircraft Digital Electronic and Computer Systems, 2023
An instruction set is the name given to the complete range of instructions that can be used with any particular microprocessor. It should be noted that although there are many similarities, instruction sets are unique to the particular microprocessor concerned. In some cases manufacturers have attempted to ensure that their own product range of microprocessors share a common sub-set of instructions. This permits the use of common software, simplifies development and helps make improvements in microprocessors more acceptable to equipment designers and manufacturers. The Intel Pentium processor, for example, was originally designed as an enhancement of the 8086, 80286, 80386 and 80486 processors. These processors share a common sub-set of instructions and thus a program written for the (now obsolete) 8086 processor will run on a Pentium-based system.
Wavefront Array Processors
Published in Earl E. Swartzlander, Systolic Signal Processing Systems, 2020
The instruction set of the PE was selected to optimize the performance of the wavefront array as a whole. To reduce the complexity of the control unit in a manner similar to that used in the RISC design [24] , we wanted each instruction to take exactly one clock cycle. This implies that complex instructions should be decomposed into sequences of simpler (primitive) instructions. An example is the multiplication instruction, which is decomposed into three instructions: one for initializing the processor registers with the correct data, one that does the main multiplication step, and the last one, which transfers the result back to the register file. The instruction set is divided into arithmetic instructions, register transfer instructions, conditional and unconditional jump instructions, and program loading instructions.
Processor Basics – Structure and Function
Published in Pranabananda Chakraborty, Computer Organisation and Architecture, 2020
The number of registers present in a CPU, together with its internal organisation, plays a critical role in the organisation of the CPU and also influences the corresponding machine instruction set design. This instruction set thus available in a CPU determines to a large extent the performance and the versatility of a CPU. The usual trade-off is, of course, cost versus speed. Among many other important factors that can influence the speed of the CPU, one is, of course, how many registers are present within the CPU. Based on the number of hardware registers available in a CPU, most computers fall into one of three types of CPU organisations: Accumulator-based CPU (single accumulator organisation);General-register organisation CPU (multiple registers);The stack-organised CPU.
Performance optimization of energy harvesting solutions for 0.18um CMOS circuits in embedded electronics design
Published in Cogent Engineering, 2020
The micro-architecture level considers the integration of many of the underlying fundamental device technologies. Transistor technologies and silicon processes are combined into useful blocks such as memory, control, and arithmetic that together form computational device, often a processor or an accelerator. The scope for that integrated device is very broad, including ultralow power embedded devices, through general-purpose processors, up to high-performance network-on-chip components. Current manufacturing of semiconductor devices has hit a fundamental efficiency limit called the “energy wall” that prevents reduction of energy consumption when transistor size scales down for forthcoming technology nodes. Both at small-scale Embedded Systems and at a large-scale HPC/Data centers (Din et al., 2014; Lu et al., 2011). The ultimate limits from architecture designs are almost impossible to drive, but based on current technology, there is general agreement by academia and industry that new architectures are more promising to significantly reduce power consumption than improving the energy consumption of the basic switching device in the circuit. The amount of energy consumption from a circuit architecture design for a given CMOS technology node is heavily dependent on how specific (i.e., optimized for a single or few tasks) or how general (i.e., undertake many different computations) a design has to deliver. Applications Specific Integrated Circuits (ASICs) designed for a single task can be optimized proving the lowest energy consumption, but such designs have no flexibility and cannot be reprogrammed. For microprocessors or microcontrollers that must be able to undertake a wide range of tasks, optimization to reduce energy consumption is significantly more difficult. Micro-architecture exploits what is physically possible with contemporary technology and presents an interface through which other hardware and software can use the device. In hardware terms, this interface is, of course, physical and will typically obey a specified protocol. In software terms, the processing device presents a set of possible operations through an Instruction Set Architecture (ISA). If the ISA is a description of the behaviors of the device, then the microarchitecture is the implementation of those behaviors. Advances in physics, transistor design, and device manufacturing techniques can benefit microelectronic devices of all kinds; however, microarchitecture design decisions are heavily influenced by the target market of the resultant product. While all devices strive to achieve good efficiency, balancing performance and power consumption, the application area will dictate design constraints such as size, the energy budget, and maximum power. We may group micro-architecture characteristics grouped into four areas: deeply embedded, embedded/mobile, general purpose, and servers/high-performance. These are not necessarily strict boundaries and properties often transfer between areas over time, as technology or commercial pressures permit. At present, micro-architectures have significantly different drivers for HPC/data centers, general purpose, and embedded systems/portable systems.