控制器 组成由三部分: 运算器、控制器、寄存器

控制器: 根据指令完成操作, 发出各种微操作命令序列,用以控制所有被控对象,完成指令执行

运算器: 算数、逻辑运算。

寄存器:一种有限存储容量的高速存储部件;可以用来暂存指令/数据/地址,既可以传达控制器的命令给运算器,又可以帮运算器记录待处理/已处理完的数据。

        程序计数寄存器(Program Counter Register, PC): 又称“指令地址寄存器”,存放下一条要执行指令的内存地址。

        指令寄存器(Instruction Register, IR): 存放当前正在执行的一条指令,存放的内容来自于数据寄存器(DR)。

        数据寄存器(DR):作为CPU和主存、外设之间信息传输的中转站,用以弥补CPU和主存、外设之间操作速度上的差异。

        

程序,其实是 一条条 指令。

cpu来执行指令

例子: a = 1 + 2

字符串, 这样写 只为了 程序员认识。

汇编代码

机器码。  机器码由0 1 组成,机器码是cpu真正认识的东西

        cpu执行程序的过程:

数据段来存放这些数据,如图

                        ·数据1被存放到0x100位置

                        ·数据2被存放到0x104位置

                        ·32位的cpu所以一条指令占32位大小,所以 每条指令 间隔4个字节

                        ·数据大小 根据程序中 定义的变量的类型。比如int 4字节 char 1字节

                        ·编译器将a=1+2翻译为4条指令,存放之正文段(代码段)。 4条指令存放在0x200~0x20c区域

                                指令1,load指令 将0x100地址中的 数据1 装入到寄存器R0

                                指令2, load指令 将0x104地址中的 数据2 装入寄存器R1

                                指令3, add指令 将寄存器R0 R1的数据相加, 并把结果 存放至 寄存器R2

                                指令3, store指令 将寄存器R2中的数据 存回 数据段中的 0x108地址中, 这就是变量a的地址

                        ·编译完成后,执行程序的时候,程序计数器会被设置为0x200地址,然后依次执行这四条指令。

ingress控制器种类_运算器

ingress控制器种类_c++_02