search
HomeCommon ProblemWhat information does the CPU retrieve when accessing main memory based on the contents of the instruction counter?

The cpu accesses the main memory according to the contents of the instruction counter. The information retrieved is the instruction. The instruction counter is where the address of the unit where the next instruction is located is stored. Before the program starts executing, its starting address must be fed into the instruction counter.

What information does the CPU retrieve when accessing main memory based on the contents of the instruction counter?

#The operating environment of this article: windows10 system, thinkpad t480 computer.

The cpu accesses the main memory according to the contents of the instruction counter. The information retrieved is the instruction.

Instruction counter introduction:

The program counter is used to store the address of the unit where the next instruction is located.

When executing an instruction, the instruction first needs to be fetched from the memory to the instruction register according to the instruction address stored in the PC. This process is called "instruction fetching". At the same time, the address in the PC is either automatically incremented by 1 or the address of the next instruction is given by the branch pointer. After that, the instructions are analyzed and executed. Complete the execution of the first instruction, and then fetch the address of the second instruction according to the PC, and so on, executing each instruction.

In order to ensure that the program (understood as a process in the operating system) can be executed continuously, the processor must have some means to determine the address of the next instruction. The program counter plays this role, so it is often called the instruction counter. Before the program starts executing, its starting address, that is, the address of the memory unit where the first instruction of the program is located, must be sent to the program counter, so the content of the program counter is the address of an instruction fetched from memory.

When an instruction is executed, the processor will automatically modify the contents of the PC, that is, each time an instruction is executed, the PC will increase by an amount. This amount is equal to the number of bytes contained in the instruction, so that it will always be executed. The address of the next instruction. Since most instructions are executed sequentially, the modification process is usually simply adding 1 to the PC.

However, when encountering a transfer instruction such as a JMP (jump, full name in foreign language: JUMP) instruction, the address of the subsequent instruction (that is, the content of the PC) must be obtained from the address field in the instruction register. In this case, the next instruction fetched from memory will be specified by a branch instruction, rather than fetched sequentially as usual. Therefore, the structure of the program counter should be a structure with two functions: registering information and counting.

(Learning video sharing: Programming video)

The above is the detailed content of What information does the CPU retrieve when accessing main memory based on the contents of the instruction counter?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool