CPU的基本工作原理
程序 = 指令 + 数据
只有指令,才最终在运行阶段,被运行程序的计算机的CPU去执行
1、CPU的组成
(1)ALU(算术逻辑单元)
算术:加法 减法 乘法 除法 取余
逻辑:与 或 非
需要利用到寄存器完成中间数据的临时保存
注:8位数的加法器 = 7 * 全加器 + 1 * 半加器
(2)CU(控制单元)
主要负责控制memory<——>register数据传递的指令以及驱动ALU工作
3、CPU是计算机的核心,ALU是CPU的核心
所有程序的执行,本质上都是计算+读取+存入
4、(1)取码阶段
CU(控制单元)根据PC寄存器的值,去内存响应位置,把数据(指令)读取到IR寄存器中,正常情况下,PC寄存器中的值自动加一
(2)解码阶段
CU按照预先设定的指令集解读指令数据(opcode+操作数)
例如:0010 1110
人为规定:0010是opcode,查询指令表,知道0010代表的意思:从后边地址指定内存处,将数据读取到A寄存器
(3)执行阶段
LOAD指令应该由CU执行,所以按照规定执行指令:从内存的14处地址,将数据读取到A寄存器中
5、由于硬件中PC在自动加一,所以我们的代码形成的指令才能顺序的往下执行
6、代码中的一条语句,很有可能是需要多条指令才能完成
语句是一组指令的封装抽象
变量是一段内存空间的封装抽象
7、PC寄存器中的值在这个指令周期中很关键,可以控制执行哪里的指令
8、CPU的运算快慢就是看CPU执行指令周期的频率(假定每个指令周期的频率恒定)
CPU的主频可以粗略的看成每秒钟CPU能执行多少个指令周期
9、CPU往往会提供一些指令,这些指令可以去修改PC的值:分支语句(if、else、while、for、break、continue......)
通过CPU中预先规定的指令,可以修改PC中的值(带条件修改),进而影响执行流(execution flow)
我们平时的main方法:我们的程序启动,有“人”把我们的程序翻译出来的指令的第一条地址放到PC中,我们的程序就正常跑起来了
10、CPU的正常工作流程:
取码——>编码——>执行周期
只要你的电脑在开机状态下,CPU就在不停循环这个周期
在硬件CPU的视角中,只有指令的概念,没有指令属于谁的概念,不知道执行是属于哪个程序,哪个类,哪个方法(程序、类、方法等概念不是为了计算机硬件准备的,是为了写程序的人准备的)
11、CPU的中断模型(Interrupt Mode)
正常模式下,CPU可以顺序执行,可以分支执行,但总归只能按照既定顺序去执行,但现实中,很多时候,需要暂时中断CPU 的当前执行流,先让CPU去做点其他工作,再回过头继续执行原来的执行流
CPU硬件中提供了一种机制(中断)让CPU停下
(1)保存当前PC的值到内存的某个位置
(2)修改PC的值,让执行其他执行流
(3)其他执行流执行结束后,通过将刚才保存的PC值恢复到PC寄存器中
(4)继续原来的执行流
12、中断经常用作:
(1)IO设备的处理
当有外部数据到达Input设备时,触发某个终端,让当前正在执行的执行流暂停,切换到Input驱动对应的执行流,把Input设备中读取的数据,放到内存的某个位置,恢复之前的执行流
(2)操作系统中用来作进度调度(线程调度)
CPU的基本工作原理相关推荐
- CPU的cache工作原理
CPU的cache工作原理 博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨询,欢迎大家前来指教共同探讨,谢谢!博主最近的工作是CPU集成设计,所以接下来的篇章将以CPU的学习讲解 ...
- CPU GPU设计工作原理《转》
我知道这非常长,可是,我坚持看完了.希望有幸看到这文章并对图形方面有兴趣的朋友,也能坚持看完.一定大有收获.毕竟知道它们究竟是怎么"私下勾搭"的.会有利于我们用程序来指挥它们... ...
- CPU结构及工作原理
CPU结构 中央处理器(CPU,Central Processing Unit)的功能主要是解释计算机指令以及处理计算机软件中的数据. 图1 CPU主要结构 CPU从逻辑上可以划分成3个模块,分别是控 ...
- CPU GPU设计工作原理
转自:http://blog.csdn.net/claien/article/details/6965135 要说到设计的复杂程度,那还是CPU了!这个不用讨论,很简单的道理你看看显卡芯片的更新速度和 ...
- 计算机组成之cpu组成及工作原理
计算机由五部分组成,分别为存储器,控制器,运算器,输入设备和输出设备. 早期的处理器(CPU)是由控制器和运算器组成,而现代的CPU为了提升性能则在早期CPU的基础上增加了内部寄存器,用来暂时存放参与 ...
- cpu与外设工作原理
总结来说,就是插上外设后,cpu就可以检测和连接到外设上的寄存器,把它当成内存来使用,然后就是对这些寄存器进行读写,写控制寄存器来控制外设,读状态寄存器来检测外设状态(外设会把当前状态信息放到指定寄存 ...
- CPU内部结构及工作原理
本文主要是针对非计算机行业或是计算机小白,主要介绍了计算机是如何工作的,为什么写一下代码,计算机就可以实现我们想要实现的功能. CPU如何运作 CPU内部的算术逻辑单元(Arithmetic and ...
- 计算机cpu的原理,【图片】转一篇老帖,从intel 8086 CPU看待计算机系统工作原理【cpu吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 8086和现在x86的关系 : 现在虽然是什么x86-64,什么推土机,什么i7,至强其最核心的x86指令集完全继承于8086,换句话说,8086的指令集 ...
- 死磕Java多线程(五)---理解CPU高速缓存的工作原理 《JAVA性能优化权威指南》 提到过CPU高速缓存未命中率影响线程切换频率
https://blog.csdn.net/weixin_44046437/article/details/99101180
最新文章
- 个人站长状告Google Ads霸王条款
- adb devices指令实例讲解
- Python爬虫开发:post请求(用户登录)
- 【MFC】类的层次结构图
- HTML5按钮的点击态问题
- 1-1 顺序表操作集 (20 分)
- Kubernetes-ReplicaSet(RS)(五)
- C# 8.0 预览特性
- java web环境配置_JAVA Web开发环境配置
- 2014-07-24 .NET实现微信公众号的消息回复与自定义菜单
- Math详解大全,数学类
- Qt 之 QEvent
- 网络安全技能大赛D模块常规漏洞加固详解
- 大秦帝国部:黑色裂变(上卷)读后感
- 以计算机为主题的想象作文,以想象为话题的作文(通用13篇)
- 29Flutter Sliver家族
- contiki之list头文件
- flv实现视频实时监控
- matlab读ascii的dat,[转载]MATLAB读取和调用各种数据(txt,dat,ma
- iTRON新闻大集合