内部架构

CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列。CPU 从逻辑上可以划分成 3 个模块,分别是控制单元、运算单元和存储单元 。其内部架构如下:

【1】控制单元

控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和 操作控制器OC(Operation Controller) 等组成,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括:节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

【2】运算单元

运算单元是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。

【3】存储单元

存储单元包括 CPU 片内缓存和寄存器组,是 CPU 中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU 访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少 CPU 访问内存的次数,从而提高了 CPU 的工作速度。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据;而通用寄存器用途广泛并可由程序员规定其用途。

工作原理

总的来说,CPU 从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止。具体过程可分为以下四步:

【1】取指令

CPU 控制器从内存读取一条指令并放入指令寄存器。指令的格式如下:

操作码:就是汇编语言里的 mov,add,jmp 等符号码;

操作数地址:说明该指令需要的操作数所在的地方,是在内存里还是在CPU的内部寄存器里。

【2】指令译码

指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址) 。

【3】 执行指令

执行指令分为两个阶段: 取操作数 和 进行运算 。

取操作数:CPU 通过寻址操作,从内存(数据段)中读取操作数到通用寄存器中,暂存起来。

进行运算:运算单元通过指令中的操作码,对寄存器中的操作数进行 mov,add,jmp 操作。

【4】 指令计数

修改指令计数器,决定下一条指令的地址 。CPU 重复上述三步操作,处于内存代码段的指令被逐个的执行,直到程序执行完毕为止。

CPU 字长

CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以,能处理字长为 8 位数据的 CPU 通常就叫 8 位的 CPU。同理,32 位CPU 能在单位时间内处理字长为 32 位的二进制数据 。

常见的 32位 CPU 和 64位 CPU 主要存在以下两个差异:

【1】处理能力不同

32 位 CPU 的一个指令,最大能处理 32 位二进制数据,即一次能处理 4 个字节数据。
64 位 CPU 的一个指令,最大能处理 64 位二进制数据,即一次能处理 8 个字节数据。

【2】寻址空间不同

32 位 CPU 的寻址范围是 32 位的二进制,32位二进制能表示的地址长度为2的32次方,即寻址空间最大为 4GB。
而 64 位CPU的寻址范围是 64 位的二进制。能表示的地址长度更大,其寻址空间也会更大。
 
 
参考资料
 

CPU 的工作原理的更多相关文章

  1. 测试那些事儿—简述CPU的工作原理

    简单介绍CPU的工作原理 1.内部架构 CPU是由晶体管组成,其根本任务就是执行指令和数据处理,对计算机来说,就是由0和1组成的序列.CPU从逻辑上可分为3个模块,分别是控制单元,运算单元和存储单元. ...

  2. 简单介绍 CPU 的工作原理

    1.内部架构 CPU 的根本任务就是执行指令,对计算机来说最终都是一串由 0 和 1 组成的序列.CPU 从逻辑上可以划分成 3 个模块,分别是控制单元.运算单元和存储单元 .其内部架构如下: [1] ...

  3. 操作系统组成和工作原理以及cpu的工作原理

  4. cpu的工作原理

  5. CPU的内部架构和工作原理 (转,相当不错)

    http://blog.chinaunix.net/uid-23069658-id-3563960.html 一直以来,总以为CPU内部真是如当年学习<计算机组成原理>时书上所介绍的那样, ...

  6. CPU的内部架构和工作原理

    一直以来,总以为CPU内部真是如当年学习<计算机组成原理>时书上所介绍的那样,是各种逻辑门器件的组合.当看到纳米技术时就想,真的可以把那些器件做的那么小么?直到看了Intel CPU制作流 ...

  7. CPU的内部架构和工作原理-原文

    CPU从逻辑上可以划分成3个模块,分别是.和,这三部分由CPU内部总线连接起来.如下所示: 控制单元:控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register). ...

  8. 单片机的基本构成、工作原理 LET′S TRY“嵌入式编程”: 1 of 6

    单片机的基本构成.工作原理 LET′S TRY“嵌入式编程”: 1 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识.有了电 ...

  9. 转载->CPU的内部架构和工作原理

    CPU的内部架构和工作原理 本片博客转自:http://www.cnblogs.com/onepixel/p/8724526.html  感谢博主分享! 内部架构 CPU 的根本任务就是执行指令,对计 ...

随机推荐

  1. oracle 11g 导出空表

    正常情况下,oracle11g的 exp命令无法导出空表,弥补这个缺陷的方法是 在空表创建之前,更改系统设置: show parameter deferred_segment_creation 查看, ...

  2. PHP操作Redis(一) PHP连接Redis,含Redis密码验证、指定某一Redis数据库

    台服务器上都快开启200个redis实例了,看着就崩溃了.这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开. 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实 ...

  3. 什么是jsonp?——使用jsonp解决跨域请求问题

    我们在使用ajax请求的时候经常会产生跨域问题,这是由于浏览器的同源策略导致的.所谓同源,即域名.协议.端口均相同,否则不管是静态页面还是动态网页或者web服务都无法通过ajax正常请求.有时候,我们 ...

  4. JavaScript 18岁生日快乐

    12月4日是JS的18岁生日,18年前这个日子JavaScript由Netscape和Sun联合宣布推出.那个星期,Ruby也将推出其第一个版本. 今天Netscape和Sun都已经不在了,但是JS还 ...

  5. mysql存储引擎简介

  6. springmvc高级知识点

  7. 【bzoj1614】[Usaco2007 Jan]Telephone Lines架设电话线

    题目描述 Farmer John打算将电话线引到自己的农场,但电信公司并不打算为他提供免费服务.于是,FJ必须为此向电信公司支付一定的费用.     FJ的农场周围分布着N(1 <= N < ...

  8. fail-fast 与 fail-save 机制的区别

    link:https://blog.csdn.net/bigtree_3721/article/details/67095084

  9. QT编译时出现警告 Warning: Class Node implements the interface QGraphicsItem but does not list it in Q_INTERFACES. qobject_cast to QGraphicsItem will not work!

    1.一定要将public QObject放在public QGraphicsItem的前面,并且在该类的定义中添加Q_OBJECT宏. class XXGraphicsItem : public QO ...

  10. 多重if else和switch case的区别

    int main(void) { int id; scanf_s("%d",&id); switch(id) { case 2: printf("John\n&q ...