18新利最新登入微处理器的工作原理

由:马歇尔的大脑克里斯Pollette|
微处理器"width=
微处理器是所有计算机的核心。Jorg Greuel/Getty Images

您用于阅读此页的计算机使用微处理器去做它的工作。微处理器是任何普通计算机的心脏,无论是一台计算机桌面机,一个服务器或者一个移动PC.微处理器有很多种类型,但它们都以大致相同的方式做大致相同的事情。

微处理器——也称为微处理器CPU或中央处理单元-是一个完整的计算引擎,是在单个芯片上制造的。第一个微处理器是1971年推出的英特尔4004。4004不是很强大——它所能做的就是加减法,而且它只能做那个4一次。但令人惊讶的是,所有的东西都在一个芯片上。在4004之前,工程师们用芯片或分立元件组装计算机。晶体管每次连线一个)。4004驱动了第一个便携式电子计算器。

广告

如果你曾经想知道你的计算机中的微处理器是做什么的,或者如果你曾经想知道不同类型的微处理器之间的区别,那么请继续阅读。在本文中,您将了解到相当简单的数字逻辑技术如何让计算机完成它的工18新利最新登入作,无论是玩游戏还是检查文档的拼写!

微处理器:Intel

英特尔8080年"width=
由英特尔公司于1974年推出的8080微处理器是第一款功能强大到足以制造一台计算机的微处理器。科学与社会图片库/盖蒂图片库

第一个用于家用电脑的微处理器英特尔8080是1974年推出的一款完整的8位芯片计算机。第一个真正在市场上引起轰动的微处理器是1979年推出的英特尔8088,并被集成到IBM个人电脑(大约在1982年首次出现)中。如果你熟悉PC市场及其历史,你就会知道PC市场从8088到80286到80386到80486到奔腾系列到酷睿系列再到至强系列。所有这些微处理器都是由英特尔公司生产的,并且都是在8088的基础设计上进行了改进。

自2004年以来,英特尔推出了多核微处理器和数百万个晶体管。但即使是这些微处理器也遵循着与早期芯片相同的一般规则。

广告

英特尔酷睿i9处理器可以最多8核,每一个都可以执行在最初8088上运行的任何一段代码,只快了大约6700倍!每个核心可以处理多个指令线程,使计算机更有效地管理任务。

自20世纪70年代以来,英特尔的产品范围已经大幅扩大。截至撰写本文时,该公司仍在生产用于计算机的奔腾和酷睿cpu,但性能更高的个人电脑和服务器可能会使用至强芯片。此外,英特尔还提供赛扬和凌动处理器系列。赛扬的目标用户是入门级计算机用户,Atom处理器更适合移动设备和物联网设备。

虽然英特尔仍然占有很大的市场份额,但它的市场份额超过了竞争对手。AMD在个人电脑处理器市场上与英特尔竞争,但在深受PC游戏玩家欢迎的图形处理器芯片上也有很大的业务。以图形芯片闻名的英伟达也生产cpu。2020年,苹果公司推出了m系列芯片,取代了苹果公司用于Macintosh电脑的英特尔芯片。三星也可能起作用在其专有的处理器设计上。更多的公司为汽车和智能家居产品等其他电子产品制造处理器。市场竞争越来越激烈了。

广告

微处理器逻辑

英特尔奔腾4处理器。"width=
奔腾4处理器是英特尔2001年推出时速度最快的处理器。英特尔/新闻人物

要理解微处理器是如何工作的,18新利最新登入查看内部并了解用于创建微处理器的逻辑是有帮助的。在这个过程中你也可以学到汇编语言-微处理器的母语-以及工程师可以做的许多事情来提高处理器的速度。

微处理器执行一组机器指令,告诉处理器该做什么。基于这些指令,微处理器可以做三件基本的事情:

广告

  • 通过ALU(算术/逻辑单元),微处理器可以执行加法、减法、乘法和除法等数学运算。现代微处理器包含完整的浮点处理器,可以对大浮点数执行极其复杂的操作。
  • 微处理器可以从其中移动数据内存位置到另一个位置。
  • 微处理器可以做出决定,并根据这些决定跳转到一组新的指令。

微处理器可能会做一些非常复杂的事情,但这是它的三个基本活动。下图展示了一个极其简单的微处理器,它能够做到这18新利最新登入三件事:

微处理器"width=
这张图显示了一个简单的微处理18新利最新登入器及其组件和功能。
18新利最新登入HowStuffWorks

这和微处理器一样简单。这个微处理器有:

  • 一个地址总线(可能是8,16,32或64位宽),将地址发送到内存
  • 一个数据总线(可以是8位、16位、32位或64位宽),可以向内存发送数据或从内存接收数据
  • 一个理查德·道金斯(读),或者说是(写)行,告诉内存它是否应该设置或获取寻址位置
  • 一个时钟线这让时钟脉冲对处理器进行排序
  • 一个复位线这将程序计数器重置为零(或其他值)并重新执行

在这个例子中,让我们假设地址总线和数据总线都是8位宽。

下面是这个简单的微处理器的组成部分:

  • 寄存器A、B和C只是由人字拖制成的锁存器。(参见中“边缘触发锁存器”一节18新利最新登入布尔逻辑的工作原理详情)。
  • 地址锁存器就像寄存器A、B和C一样。
  • 程序计数器是一个具有额外能力的锁存器,当被告知这样做时,它可以加1,当被告知这样做时,它可以重置为0。
  • ALU可以像8位加法器一样简单(参见中关于加法器的部分)18新利最新登入布尔逻辑的工作原理详细信息),或者它可能能够加,减,乘和除8位值。我们假设是后者。
  • 测试寄存器是一个特殊的锁存器,可以保存在ALU中执行的比较值。ALU通常可以比较两个数字,以确定它们是否相等,其中一个是否大于另一个,等等。测试寄存器通常也可以保存加法器最后阶段的进位。它将这些值存储在触发器中,然后指令解码器可以使用这些值来做出决定。
  • 图中有六个标记为“3-State”的方框。这些都是三态缓冲.三态缓冲区可以传递1、0,也可以本质上断开输出(想象一个开关完全断开输出线与输出线的连接)。三态缓冲区允许将多个输出连接到线路上,但只有其中一个实际将1或0驱动到线路上。
  • 指令寄存器和指令解码器负责控制所有其他组件。

尽管它们没有在图中显示出来,但是来自指令解码器18新利最新登入的控制线将:

  • 告诉A寄存器锁住当前数据总线上的值
  • 告诉B寄存器锁存当前数据总线上的值
  • 告诉C寄存器锁存ALU当前输出的值
  • 告诉程序计数器寄存器锁住当前数据总线上的值
  • 告诉地址寄存器锁存当前数据总线上的值
  • 告诉指令寄存器锁住当前数据总线上的值
  • 告诉程序计数器递增
  • 告诉程序计数器重置为零
  • 激活六个三状态缓冲区中的任何一个(六个独立的行)
  • 告诉ALU执行什么操作
  • 告诉测试寄存器锁住ALU的测试位
  • 激活RD线路
  • 激活WR线路

进入指令解码器的是来自测试寄存器和时钟线的比特,以及来自指令寄存器的比特。

广告

微处理器的内存

上一节讨论了地址总线和数据总线,以及RD和WR线。这些总线和线路要么连接到RAM,要么连接到ROM——通常两者都连接。在我们的微处理器样本中,我们有一个8位宽的地址总线和一个8位宽的数据总线。这意味着微处理器可以寻址256字节的内存,并且一次可以读取或写入8位内存。让我们假设这个简单的微处理器有128字节的ROM,从地址0开始,128字节的RAM从地址128开始。

表示只读内存。ROM芯片是用预先设定的永久字节集合编程的。地址总线告诉ROM芯片要获取哪个字节并将其放在数据总线上。当RD线改变状态时,ROM芯片将选择的字节显示到数据总线上。

广告

内存代表随机存取存储器。RAM包含信息字节,微处理器可以根据RD或W18luck手机登录R线是否有信号来读取或写入这些字节。现在的随机存储器芯片有一个问题,那就是一旦出错,它们就会忘记一切权力离开。这就是为什么计算机需要ROM。

顺便说一下,几乎所有的计算机都包含一定数量的ROM(可以创建一个不包含RAM的简单计算机-很多微控制器通过在处理器芯片上放置少量RAM字节来实现这一点——但通常不可能创建一个不包含ROM的RAM字节)。在一个个人电脑时,该ROM称为光盘BIOS(基本输入输出系统)。当微处理器启动时,它开始执行它在BIOS中找到的指令。BIOS指令会做一些事情,比如测试机器中的硬件,然后它会去硬盘上获取引导扇区(见18新利最新登入硬盘工作原理详情)。这个引导扇区是另一个小程序,BIOS从磁盘读取后将其存储在RAM中。然后微处理器开始从RAM执行引导扇区的指令。引导扇区程序将告诉微处理器从硬盘中取出其他内容到RAM中,然后微处理器执行,以此类推。这就是微处理器如18新利最新登入何加载和执行整个操作系统

广告

微处理器指令

即使是前面示例中显示的极其简单的微处理器也有相当大的指令集可以执行。18新利最新登入指令集合被实现为位模式,当加载到指令寄存器中时,每一个位模式都有不同的含义。人类不是特别擅长记忆位模式,所以定义了一组简短的单词来表示不同的位模式。这个单词的集合被称为汇编语言处理器的。一个汇编程序可以很容易地将字转换为它们的位模式,然后将汇编器的输出放在内存中供微处理器执行。

下面是设计人员在我们的例子中为简单的微处理器创建的一组汇编语言指令:

广告

  • LOADA mem-从内存地址加载寄存器A
  • LOADB mem-从内存地址加载寄存器B
  • CONB反对-加载一个常数值到寄存器B
  • SAVEB mem—将寄存器B保存到内存地址
  • SAVEC mem—将寄存器C保存到内存地址
  • 添加—将A和B相加,并将结果存储在C中
  • -减去A和B并将结果存储在C中
  • MUL将A和B相乘,并将结果存储在C中
  • DIV—将A和B相除,将结果存储在C中
  • COM-比较A和B,并将结果存储在test中
  • 跳addr-跳转到地址
  • JEQ addr-如果相等,跳转到地址
  • JNEQaddr -如果不相等,跳转到地址
  • 詹addr-如果大于,则跳转到地址
  • JGE addr—如果大于或等于,则跳转到寻址
  • JL addr-如果小于,跳转到地址
  • JLE addr-如果小于或等于,则跳转到地址
  • 停止-停止执行

如果你读过18新利最新登入C语言编程原理,那么你就知道这段简单的C代码将计算5的阶乘(其中5的阶乘= 5!= 5 * 4 * 3 * 2 * 1 = 120):

A =1;f=1;while (A <= 5){f= f * A;A = A + 1;}

在程序执行结束时,变量f包含5的阶乘。

汇编语言

一个C编译器把这段C代码翻译成汇编语言。假设在这个处理器中RAM从地址128开始,ROM(包含汇编语言程序)从地址0开始,那么对于我们简单的微处理器,汇编语言可能是这样的:

//假设a在地址128//假设F在地址1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // F =1;3 SAVEB 1294 LOADA 128//如果一个> 5跳转到175 CONB 56 COM7 JG 178 LOADA 129 // F = F *a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128// a=a+1;13 CONB 114 ADD15 SAVEC 12816跳转4 //循环回if17 STOP

那么现在的问题是,“所有这些指令在ROM中看起来如18新利最新登入何?”这些汇编语言指令中的每一条都必须用二进制数表示。为了简单起见,让我们假设每条汇编语言指令都有一个唯一的编号,如下所示:

  • 负载- 1
  • Loadb - 2
  • Conb - 3
  • 萨维布- 4
  • SAVEC mem - 5
  • 加- 6
  • Sub - 7
  • 穆尔- 8
  • Div - 9
  • Com - 10
  • 跳转地址- 11
  • JEQ地址- 12
  • JNEQ addr - 13
  • JG addr - 14
  • JGE地址- 15
  • JL addr - 16
  • JLE地址- 17
  • Stop - 18

这些数字被称为操作码.在ROM中,我们的小程序看起来是这样的:

/ /假设地址128 / /假设F是地址129 addr操作码/ value0 3 / / CONB 11 12 1283 1284 3 / / / / SAVEB CONB 15 16 4 / / / / LOADA SAVEB 1297 1298 1289 12810 511 512 10 / / / / CONB COM13 14 / / / / LOADA詹1714 3115 12916 12917 12818 12819 8 / / / / LOADB MUL20 5 / / / / LOADA SAVEC 12921 12922 12823 12824 125 126 6 / / / / CONB ADD27 5 / / SAVEC 12828 12829 430 831 18 / / /跳/停止

你可以看到,7行C代码变成了18行汇编语言,在ROM中变成了32字节。

解码

指令解码器需要将每个操作码转换成一组信号,驱动微处理器内部的不同组件。让我们以ADD指令为例,看看它需要做什么:

  1. 在第一个时钟周期中,我们需要加载指令。因此,指令解码器需要:
  2. 激活程序计数器的三状态缓冲区
  3. 激活RD线
  4. 激活data-in三状态缓冲区
  5. 把指令锁入指令寄存器
  6. 在第二个时钟周期中,ADD指令被解码。它需要做的很少:
  7. 设置ALU的运算为加法
  8. 将ALU的输出锁存到C寄存器中
  9. 在第三个时钟周期中,程序计数器增加(理论上这可以重叠到第二个时钟周期中)。

每条指令都可以分解为一组像这样按适当顺序操作微处理器组件的有序操作。有些指令,比如ADD指令,可能需要2到3个时钟周期。其他的可能需要5到6个时钟周期。

广告

微处理器性能和趋势

的数量晶体管可用性对处理器的性能有很大的影响。如前所述,在像8088这样的处理器中,一条典型的指令需要15个时钟周期来执行。由于乘法器的设计,仅在8088上进行一次16位乘法就需要大约80个循环。随着越来越多的晶体管,更强大的乘数能够单周期速度成为可能。

更多的晶体管也允许一种叫做流水线.在流水线架构中,指令执行是重叠的。因此,尽管执行每条指令可能需要5个时钟周期,但可以同时有5条指令处于不同的执行阶段。这样看起来就像一个指令完成了每个时钟周期。

广告

许多现代处理器都有多个指令解码器,每个都有自己的管道。这允许多个指令流,这意味着在每个时钟周期内可以完成多条指令。这种技术实现起来相当复杂,所以需要很多晶体管。

趋势

如今,处理器似乎无处不在,而且这一趋势似乎并没有放缓。研究人员已经找到了方法使微处理器灵活,启用诸如智能服装.研究人员一直在研究使用方法光,而不是电,以操作处理器。可能即将出现的最大变化是量子计算机的发展,它不再局限于使用1和0来解决问题。而这些计算机可以处理更困难的问题更有效地说,你不太可能很快在你的桌面上看到量子计算机。

广告

64位微处理器

微处理器"width=
了解64位处理器的18新利最新登入工作原理以及为什么它们可以处理几乎无限的RAM。AMD

自1992年以来,64位处理器一直伴随着我们,在21世纪,它们已经成为主流。这些处理器有64位alu、64位寄存器、64位总线等等。

世界需要64位处理器的一个原因是它们扩大地址空间.32位芯片通常限制在最大2gb或4gb的内存内存访问.当大多数家用电脑只使用256 MB到512 MB的RAM时,这似乎很多了。但是21世纪的家用电脑可以更快地处理数据(包含大量实数的非常复杂的数据)。人做的视频编辑对大型图像进行摄影编辑的人受益于这种计算能力。高端玩家也会从更精细的高分辨率游戏中受益。

广告

64位芯片提供了更多的选择,因为在可预见的未来,64位RAM地址空间基本上是无限的——2^64字节的RAM相当于10亿gb的RAM。具有64位地址总线和宽、高速数据总线主板在美国,64位机器还提供了更快的I/O(输入/输出)速度硬盘驱动器而且视频卡.这些特性可以极大地提高系统性能。

有关微处理器和相关18luck手机登录主题的更多信息,请查看以下链接。

广告

最初发表于2000年4月1日

常见问题解答

微处理器是用来做什么的?
微处理器是计算机执行算术和逻辑运算的一部分,这些运算通常包括加、减、将数字从一个区域转移到另一个区域,以及比较两个数字。
微处理器又称为什么?
微处理器也被称为中央处理器。

更多信息18luck手机登录

相关文章

更多优质链接

  • 科罗拉多大学博尔德分校今天。“基于微处理器芯片的突破可能会导致更强大的计算机、网络基础设施。”2015年12月23日(2021年9月22日)https://www.colorado.edu/today/2015/12/23/breakthrough-light-based-microprocessor-chip-could-lead-more-powerful-computers-network
  • 微软。“理解量子计算。”2021年2月。https://docs.microsoft.com/en-us/azure/quantum/overview-understanding-quantum-computing
  • 帕特尔布勒。发行的。研究人员报告了迄今为止最复杂的柔性微处理器芯片在塑料薄膜上封装了超过39000个晶体管2021年7月26日。https://cen.acs.org/materials/electronic-materials/Researchers-report-complex-flexible-microprocessor/99/web/2021/07
  • 萨尔曼,阿里。wccftech.com。2021年6月18日。“三星可能会设计自己的定制CPU,因为它寻求前苹果和AMD工程师”https://wccftech.com/samsung-might-design-its-own-custom-cpu-as-it-seeks-former-apple-and-amd-engineers/
  • 斯坦福大学。“18新利最新登入流水线是如何工作的。”(2021年9月22日)https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/pipelining/index.html
特色

广告

加载……
Baidu