-
Registers are important data storage resources inside the CPU, and they are one of the hardware resources that can be directly used by assemblers. Since registers can be accessed faster than memory, it is important to make the most of the registers' storage capabilities when writing programs in assembly language. Registers are generally used to store the intermediate results of a program, and to quickly provide operands for subsequent instructions, thus avoiding the need to store intermediate results in memory and then read them in memory.
In high-level languages (e.g., C C++), there are also variables that are defined as register types, which is a possible way to improve register utilization. In addition, since the number and capacity of registers are limited, it is not possible to store all intermediate results in registers, so it is necessary to schedule the registers appropriately.
According to the requirements of the instruction, how to arrange the appropriate registers to avoid the transfer operation with too many operands is a meticulous and careful work. The "Register Allocation Strategy" is described in detail in "Principles of Compilation". 1. 16-bit register bank The 16-bit CPU contains the following registers (see the 16-bit register part in the figure):
4 data registers (AX, BX, CX, and DX) 2 address and pointer registers (SI and DI) 2 pointer registers (SP and BP) 4 Segment Registers (ES, CS, SS, and DS) 1 Instruction Pointer Register (IP) 1 Flag Register 2. 32-bit register group The 32-bit CPU contains all the registers of the previous CPU, and expands the general-purpose registers, instruction pointers, and flag registers from 16 bits to 32 bits. Two 16-bit segment registers have also been added: FS and GS. A 32-bit CPU contains registers (see registers in the figure):
4 data registers (EAX, EBX, ECX, and EDX) 2 address and pointer registers (ESI and EDI) 2 pointer registers (ESP and EBP) 6 segment registers (ES, CS, SS, DS, FS, and GS) 1 instruction pointer register (EIP) 1 flag register (EFLAGS).
-
This is an AMD K10 architecture processor with a model number of 9500 cores and a quad core count, where the cache indicated by the arrow is the register.
-
A register is actually a series of circuits built with electronic components such as diodes and transistors, which are integrated and covered inside the CPU, which is generally invisible
-
CPU registers are different for different architectures, and even for the same architecture, different models of CPUs have differences. Here we take the CPU of 80386 as an example, and the registers are divided into 6 categories. Among them, the most common registers (EAX, EBX, ECX, EDX, ESP, EBP, ESI, EDI), segment registers (CS, DS, SS, ES, FS, GS) and flag and control registers (EIP, EFLAGS) are available to programmers.
You can specify the contents of any generic register as the address of the operand, and perform simple arithmetic operations such as addition or subtraction in the process of forming the address. However, more complex operations such as string operations and double-precision multiplication and division operations require one or more operands to be taken from fixed registers.
Features of the registers:
In integrated circuit design, registers can be divided into two categories: registers used inside the circuit and registers that act as internal and external interfaces. Internal registers cannot be accessed by external circuitry or software, but are used to store functions for the implementation of internal circuitry or to meet the timing requirements of the circuit. Interface registers can be accessed by both internal circuitry and external circuitry or software, and registers in the CPU are one of them, which are well-known to a wide range of general-purpose programming users as interfaces to hardware and software.
There are at least six types of registers in the CPU: Instruction Registers (IR), Program Counters (PC), Address Registers (AR), Data Registers (DR), Accumulation Registers (AC), and Program Status Word Registers (PSW). These registers are used to stage a computer word, the number of which can be expanded as needed.
The above content reference:
Encyclopedia - Memory data register.
-
1. General register group.
The general-purpose register set consists of four 16-bit registers for AX, BX, CX, and DX to hold 16-bit data or addresses. It can also be used as an 8-bit register. When used as an 8-bit register, they are denoted as AH, AL, BH, BL, CH, CL, DH, and DL.
2. Segment registers.
Segmentation technology is used to solve the problem. Divide 1 MB of storage space into logical segments of up to 64 KB each, which can float across the entire storage space.
3. Pointers and address change registers.
This set of registers holds the contents of the scrambled content of the address offset within a certain segment.
It is used to form operand addresses, mainly on the stack.
operations and address change operations.
4. Instruction pointer register IP
It is used to store the offset address of the next instruction to be executed in the current ** segment. When the program is running, it is automatically modified by the BIU so that the IP always points to the address of the next instruction to be executed, so it is used to control the execution flow of the instruction sequence and is an important register.
-
The memory that the CPU can directly access is the internal memory.
The internal memory is one of the important components in the computer, it is the bridge to communicate with the CPU, and the operation of all programs in the computer is carried out in the internal memory, so the performance of the internal memory has a great impact on the computer.
-
The CPU is just a supercomputer for doing things!
The register is a hard disk, and the hard disk can play the role of storage.
-
Register parts. These include general-purpose registers, dedicated registers, and control registers. General-purpose registers can be divided into two types: fixed-point and floating-point, which are used to store the register operands and operation results in the instruction.
General-purpose registers are an important part of the processor, and most instructions need to access them.
-
1. Registers are the top of the memory hierarchy and the fastest way for the system to obtain operation data. Registers are usually measured in terms of the number of bits they can hold.
For example, an "8-bit register" or a "32-bit register". Registers are now implemented as register files, but they may also be implemented using separate reversers, wild high-speed core memory, thin film memory, and other methods on several machines.
A memory is usually used to refer to a group of registers that can be indexed directly by the output or input of an instruction. It would be more appropriate to call them "schema registers".
2. It must be registered to communicate with the memory.
The function of registers is very important, and when the CPU processes the data in the memory, it often takes the data into the internal registers first, and then processes it. External registers are registers used to scratch data in some other parts of the computer, and it exchanges data with the CPU through a "port", and the external register has the dual characteristics of register and internal memory.
External registers are also used to store data, but the data they hold has a special purpose. The status of individual bits in some registers reflects the state or manner in which the external device operates; There are also registers where individual bits can be used to control external devices; There are also ports that act as channels for the CPU to exchange data with external devices.
Therefore, the port is the bridge between the CPU and the peripherals. The CPU's access to the port is also based on the "number" (address) of the port, which is the same as accessing the memory. However, considering that the number of peripherals connected to the machine is not large, only 1024 port addresses are arranged when designing the machine, and the port address range is 0--3ffh.
There are registers in the CPU, such as the accumulator in the ALU (Computing Unit). When the CPU operates on these registers, it also needs to have an address in order to distinguish between different registers. This address is the address code you are talking about.
The memory that the CPU can directly access is the internal memory. >>>More
Difference Between Latch and Register:
1.The registers are synchronous clock control, while the latches are potentiometric signal control. Latches are generally controlled by level signals and are level-sensitive. Registers are generally controlled by clock signals and are edge-sensitive. >>>More
Register Transfer Language (RTL).
Arithmetic operations. >>>More
Taoism: The first level, the hell of tongue pulling.
Those who are alive sow discord, slander and harm others, are flamboyant, speak skillfully, lie and deceive others. After death, he was sent to the hell of pulling out his tongue, and the little ghost broke open the mouth of the person, clamped the tongue with iron tongs, and pulled it out alive, not all at once, and the name of hell was the fifth. >>>More