纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

CPU是如何工作的?

1月21日 血海塔投稿
  CPU(中央处理器),也被称为微处理器,是计算机的心脏和或大脑。本文让我们一起深入了解计算机的核心,以帮助我们高效地编写计算机程序。
  作者MilapNeupane
  译者苏本如,责编屠敏
  出品CSDN(ID:CSDNnews)
  以下为译文:
  “工具通常比机器简单,通常用手来使用,而机器通常由动物或蒸汽动力驱动。”
  查尔斯巴贝奇
  计算机是一种机器,主要由电力驱动,但其灵活性和可编程性帮助实现了其作为一种工具的简单性。
  CPU是计算机的心脏和或大脑。负责执行提供给它们的指令。它的主要任务是执行算术和逻辑运算,并将指令协调在一起。在深入到本文的主要部分之前,让我们先看看CPU的主要组成部分,以及它们的作用分别是什么。
  CPU的两个主要组成部分
  控制单元CU
  控制单元(CU)是CPU的一部分,它帮助协调指令的执行。它告诉CPU应该做什么。它的主要职责是根据指令,帮助激活连接CPU和计算机其他不同部件(包括ALU)的线路。控制单元是CPU的第一个接收处理指令的部件。
  控制单元有两种类型:
  硬接线控制单元。
  微型可编程(微编程)控制单元。
  硬接线控制单元是一种硬件,它需要在硬件上进行更改以实现对其工作方式的修改,而微型可编程控制单元则可以进行编程以更改其工作方式。硬接线控制单元在处理指令方面更快,而微型可编程控制单元则更灵活。
  算术逻辑单元ALU
  算术逻辑单元(ALU),顾名思义,就是负责所有的算术和逻辑运算。算术逻辑单元执行加法运算,减法运算等操作。算术逻辑单元是由执行这些操作的逻辑电路或逻辑门组成。
  大多数逻辑门接受两个输入并产生一个输出。
  下面是一个半加法器电路的例子,它接受两个输入并输出结果。这里A和B是输入,S是输出,C是进位。
  半加法器电路图
  存储寄存器和存储器
  CPU的主要任务是执行提供给它的指令。在大多数情况下,为了处理这些指令,它需要数据。有些数据是中间数据,有些是输入,另一些是输出。这些数据连同指令一起存储在下列存储器中:
  寄存器
  寄存器是一组可以存储数据的小地方。寄存器是锁存器(Latches)的组合。锁存器也称为触发器(flipflops),是存储1位信息的逻辑门的组合。
  锁存器有一条输入线,一条写入和输入线,和一条输出线。我们可以启用写入线对存储的数据进行更改。当写入线被禁用时,输出始终保持不变。
  SR锁存器,由一对交叉耦合的或非门(NORGates)构成。
  CPU由寄存器来存储输出数据。由于是中间数据,它们被发送到主存储器(RAM)的速度会慢。这些数据被发送到由总线连接的其它寄存器。寄存器可以存储指令、输出数据、存储地址或任何类型的数据。
  存储器(RAM)
  RAM随机存取存储器是寄存器的集合,它们以优化的方式排列和压缩在一起,以便存储更多的数据。随机存取存储器(RAM)是易失性的,当我们关闭电源时,它存储的数据会丢失。由于RAM是用于读写数据的寄存器的集合,因此RAM可以用于存储8位地址的输入、用于存储实际数据的数据输入,和用于储存最后的和锁存器一样工作的读写启用码。
  什么是指令
  指令是计算机可以执行的最小粒度运算。CPU可以处理各种类型的指令
  指令类型包括:
  算术运算指令,如加法和减法运算
  逻辑运算指令,如逻辑与(AND)、逻辑或(OR)和逻辑非(NOT)运算
  数据传送指令,如数据移动、输入、输出、加载和存储
  程序控制指令,如条件无条件转移指令(ifgoto,goto),转子指令和转移指令(call,return)
  通知CPU程序已结束的Halt指令
  指令通过以下方式提供给计算机:使用汇编语言直接提供,或由编译器生成,或用某些高级语言解释给出。
  这些指令在CPU内部是硬连线的。算术和逻辑运算指令包括在ALU(算术逻辑单元)中,而程序控制指令由CU(控制单元)管理。
  通常在一个时钟周期(clockcycle)内,计算机可以执行一个指令,但是现代的计算机可以同时执行多个指令。
  计算机可以执行的一组指令称为指令集。
  CPU时钟
  时钟周期
  计算机的速度由其时钟周期(Clockcycle)衡量。它是指计算机每秒工作的时钟周期数。单个时钟周期非常小,大约25010(12)秒。每秒时钟周期数越高,处理器速度越快。
  CPU时钟频率(clockrate)的测量单位为GHz(千兆赫兹)。1Ghz等于10Hz(赫兹)。一赫兹意味着一秒钟。所以一千兆赫兹意味着每秒10个时钟周期。
  时钟周期越小,CPU可以执行的指令数量越多。时钟周期等于时钟频率的倒数,而CPU时间时钟周期数时钟频率
  这意味着为了改进(减少)CPU时间,我们可以通过提高时钟频率,或优化我们提供给CPU的指令来减少指令需要的时钟周期的数量。一些处理器提供了提高时钟频率的能力,但由于这是一个物理变化,可能会出现过热,甚至冒烟起火。
  指令是如何执行的
  指令按顺序存储在随机存取存储器(RAM)上。对于一个假设的CPU指令,它由操作码(OPcode)和存储器或寄存器地址组成。
  控制单元(CU)内有两个寄存器:用于加载指令操作码的指令寄存器(IR),和用于加载当前正在执行的指令地址的指令地址寄存器。CPU中还有其他寄存器,用于存储一个指令的最后4位的地址中存储的值。
  让我们以一组实现两个数字相加操作的指令为例。下面是这些指令及其说明:
  第一步LOADA8:
  该指令最初保存在RAM中,比如说指令11001000。它的前4位是操作码。这决定了这个指令要做什么。然后该指令被读取到控制单元的指令寄存器(IR)中。指令被译码为loadA,这意味着它需要加载地址1000中的数据,地址1000是存储在寄存器A中的指令的后4位。
  第二步LOADB2:
  与上面类似,它将内存地址2(0010)中的数据加载到CPU的寄存器B中。
  第三步ADDBA
  接下来的这条指令是把这两个数字相加。在这里,控制单元(CU)告诉算术逻辑单元(ALU)执行加法操作并将结果保存回寄存器A中。
  第4步STOREA23
  将结果保存回寄存器A中。
  这是一组非常简单的指令,实现了两个数字的相加操作。
  现在,我们成功地得到了两个数字相加的和值!
  总线
  CPU,寄存器,存储器和IO设备之间的所有数据都通过总线传输。要将刚才两数相加得到的和数保存到存储器中,CPU将存储器地址放入地址总线,将得到的结果(和数)放入数据总线,然后在控制总线中启用正确的信号。这样,数据在总线的帮助下被保存到存储器中。
  计算机系统总线
  缓存
  CPU还具有将指令预取到其缓存中的机制。我们知道,一个处理器可以在一秒钟内完成数百万条指令。这意味着从存储器(RAM)中获取指令所花费的时间比执行指令所花费的时间要多。所以CPU会预取一些指令和数据到其缓存中,以加快执行速度。
  如果缓存中的数据和操作内存中的数据不同,则将数据标记为脏位(dirtybit)。
  指令流水线
  现代CPU在指令执行中采用指令流水线技术实现取指(FI)、译码(DI)、执行(EI)的并行化。当一条指令完成“取指”后进入“译码”的同时,下一条指令就可以进行“取指”了,这样就提高了指令的执行效率。
  指令流水线技术
  然而,当一条指令和另一条指令有依赖关系时,这种技术会产生问题。所以,指令流水线技术只能够让处理器以不同的顺序执行相互之间没有依赖关系的指令。
  多核计算机
  它基本上是有不同的CPU,但是有一些共享资源,比如缓存等。
  性能
  CPU的性能取决于它的执行时间。性能1执行时间
  假设一个程序执行需要20毫秒。CPU性能为1200。05ms。相对性能执行时间1执行时间2
  影响CPU性能的因素是指令执行时间和CPU的时钟速度(时钟频率)。因此,为了提高程序的性能,我们要么提高CPU的时钟速度(时钟频率),要么减少程序中的指令数量。处理器的速度有限,现代多核计算机每秒可以支持数百万条指令。但是,如果我们编写的程序有太多的指令,就将导致整体性能的降低。
  大O符号(BigOnotation)计算方法可以用来确定在给定输入的情况下CPU的性能将如何受到影响。
  为了尽可能地提高CPU的速度,很多优化工作已经在CPU中进行。而我们在编写任何程序时,都需要考虑如何尽可能地减少我们提供给CPU的指令数量,以提高计算机程序的性能。
投诉 评论 转载

自学编程不再是梦编程语言都是想通的,只是有些门槛比较低,有些门槛比较高,所以我们应该采用曲线救国的方式去学习,比如你想从事C语言,一开始就去学C语言,估计你花的时间和努力是成倍的,既然这样,我……手把手教你零编程一天快速制作自己的教育APP。。。教育APP开发的意义教育APP开发公司哪家好?教育APP定制开发费用怎么算?随着儿童消费的领域从线上到线下,包含的领域众多。目前在线上市场,全国做家园互动的移动教育类AP……养成编程思维,可以从python开始,今天说说p。。。程序分割代码块,python采用代码缩进和冒号“:”。这样程序的代码层次就分开了!一般的情况下,我们要关注两点:1、键,作为一个缩进量。2、空格键4个,作为一个缩进量。想了解缩……刻录软件哪个好用6款免费的刻录app推荐光盘仍旧是一种很不错的存储媒介,把资料刻录到光盘里不失为一种保存数据的可选方式。既然选择了光盘刻录数据,那就需要选择一款好用的光盘刻录软件,下面的六款刻录软件提供了最基本的功能……科普:如何免费生成生活服务小程序?随着移动互联网发展,生活服务行业也开始使用小程序来连接品牌与客户,尤其是家政服务、摄影、美业、课程学习小程序依托于微信十亿流量的平台,方便快捷、不占内存的特点,让它给生活服务行……抖音怎么涨粉?新手抖音怎么涨粉?教你从0做。。。问题:最近有很多人在讨论,到底要不要入局抖音?毕竟“两微一抖”的说法已经出街。其实该不该入局?这一点不用多讲,毕竟在互联网时代,流量就是金钱,没有放着如此巨大的流量而不去争取的……编码RNA与非编码RNA(三)环状RNA(circRNA)是闭合环状的RNA分子,不受核酸外切酶降解,因而比线性RNA更稳定。最初认为circRNA是异常剪接的产物,最近由于生物信息学和深度测序技术的应用,……win10录屏功能怎么开启win10录屏功能怎么开启?不管是录制教程还是游戏,很多时候我们喜欢使用第三方的软件达到效果,很多小伙伴升级win10系统后发现自带录屏功能,那么下面小白系统带你看下如何开启w……CPU是如何工作的?CPU(中央处理器),也被称为微处理器,是计算机的心脏和或大脑。本文让我们一起深入了解计算机的核心,以帮助我们高效地编写计算机程序。作者MilapNeupane……怎么把地址、电话等信息生成二维码?有哪些。。。想把地址、电话等内容类信息生成二维码其实非常简单。方法见下:1。草料二维码PC端百度“草料二维码”,进入草料官网。把你想要输入的文本信息输入进去,点击生……LabVIEW编程:以实例学子面板控件的使用方法子面板控件介绍子面板控件是LabVIEW中的一种容器类型控件,借助于这个控件可以在当前VI前面板上动态加载并运行另一个子VI前面板程序。它同选项卡类似,但又不同于选……第二课:菜鸟必备命令(中)1、Copy命令将一个或多个文件从一个位置复制到其他位置命令格式:C:0hack。D:(将c:0hack。tx……
这6个学习网站,到底有何过人之处?居然能获。。。你还在用百度搜索资源吗?分享个资源网站。。。私密分享神器,全网文库下载器,非常宝贵七个超强大的网站,介绍给你六个要私底下分享的绝妙网站,绝对能够满足你老司机珍藏的5个资源网站,建议收藏一份!9个顶级的自学网站,每天学习15分钟,坚持30。。。80万网友强推的免费自学网站,瞬间省掉上万。。。一生受用的七大免费电子书籍网站!忍不住。。还是给了你们这五个神站,禁止外传几个强大到没朋友的资源网站个个都是精品这5个资源丰富的电影网站,什么片都能看,务。。。
更要造句用更要造句大全高阳台庚寅重阳夜淮关对月作业大战作文600字培训考试的通知西平乐稚柳苏晴文明过春节倡议书史湘云为什么不被喜欢教你如何顺理成章的带女生回家,只需要一招!热传聚热点网 乾隆帝死时,他还遗留下9个妃子,嘉庆帝是如何对待她们的?祛眼袋效果好的平价眼霜有哪些去眼袋眼霜推荐win7纯净版出现系统资源不足的原因解决方法沉香搁置久了会不会腐烂沉香怎么保存才能放的久

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形