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

由:马歇尔的大脑&克里斯Pollette|
微处理器”width=
微处理器是所有计算机的核心。格洛伊尔Jorg /盖蒂图片社

您正在使用的计算机阅读这个页面使用微处理器做它的工作。微处理器是任何普通计算机的核心,无论是桌面机,一个服务器或者一个笔记本电脑。有许多类型的微处理器,但他们都做差不多的事情在大约相同的方式。

一个微处理器——也称为CPU或中央处理单元,是一个完整的计算引擎,是在单个芯片上制作的。第一个微处理器是英特尔4004年,在1971年推出。4004不是非常强大——它唯一能做的就是加减,它只能做4在一个时间。但这是惊人的,一切都在一个芯片上。4004年前,工程师建造计算机从集合的芯片或从离散的组件(晶体管连接一次)。4004年的第一个便携式电子计算器。

广告

如果你曾经想知道你电脑的微处理器是做什么,或如果你曾经想知道不同类型的微处理器,那么继续往下读吧。在本文中,您将学习如何相当简单的数字逻辑技术允许一台计算机完成其18新利最新登入工作,无论是玩游戏还是拼写检查文档!

微处理器发展:英特尔

英特尔8080年”width=
8080微处理器,英特尔在1974年引入是第一个微处理器强大到足以建立一个计算机。科学与社会的照片库/盖蒂图片社

第一个微处理器使家用电脑英特尔8080年,一个完整的8位计算机芯片,介绍了1974年。第一微处理器市场真正飞溅是英特尔8088年,1979年引入和整合到IBM PC(第一次出现约1982)。如果您熟悉的个人电脑市场和它的历史,你知道个人电脑市场从8088年到80286年的80386到80486的奔腾系列核心系列的至强系列。所有这些微处理器是由英特尔和他们所有人都是8088年的基本设计的改进。

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

广告

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

英特尔的产品范围已经从1970年代大幅扩大。在撰写本文时,该公司仍让奔腾和核心cpu电脑,但更高性能的个人电脑和服务器芯片可以使用至强。此外,英特尔赛扬处理器和Atom处理器。赛扬处理器是针对入门级电脑用户,和Atom处理器更适合移动设备和物联网设备的一部分。

虽然英特尔仍有很大一部分市场,它已经超过其公平份额的竞争对手。AMD与英特尔在个人电脑处理器市场竞争,但也确实大企业在图形处理器芯片电脑游戏玩家的欢迎。英伟达显卡闻名,也生产cpu。2020年,苹果推出了m系列芯片,取代英特尔芯片苹果Macintosh电脑的使用。三星也可能是工作在自己的专用处理器设计。越来越多的企业为其他电子产品使用构建处理器,如汽车和智能家居产品。市场越来越有竞争力。

广告

微处理器逻辑

英特尔奔腾4处理器。”width=
英特尔奔腾4处理器是英特尔的处理器速度最快时是在2001年被引进的。英特尔/新闻人物

理解一个微处理器是如何工作的18新利最新登入,它有助于观察和了解逻辑用于创建一个。在这个过程中你也可以学习汇编语言——一个微处理器的母语,工程师可以做许多事情来提高处理器的速度。

一个微处理器执行的机器指令的集合告诉处理器做什么。基于微处理器指令,做的三件事:

广告

  • 利用其铝合金(算术/逻辑单元),一个微处理器可以执行数学运算,如加法减法,乘法和除法。现代微处理器包含完成浮点处理器可以执行非常复杂的操作大量的浮点数。
  • 一个微处理器可以将数据从一个内存到另一个位置。
  • 一个微处理器可以做出决定并跳转到一个新的基于这些决定的指令集。

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

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

这是简单的一个微处理器。这种微处理器:

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

假设的地址和数据总线都是8位宽在这个例子。

这里是这个简单的微处理器的组件:

  • 注册一个,B和C只是门闩的人字拖。(见“边沿触发锁存”的部分18新利最新登入布尔逻辑是如何工作的详情)。
  • 地址锁存器就像寄存器A、B和C。
  • 程序计数器是一个门闩的额外能力增加1当被告知,并重置为零当被告知这样做。
  • ALU可能非常简单,比如一个8位加法器(见部分蛇18新利最新登入布尔逻辑是如何工作的),或者它可以添加、减、乘、除8位值。这里我们假设后者。
  • 测试注册是一个特殊的门闩,它可以持有ALU的值进行比较。ALU基因通常可以比较两个数字来确定它们是相等的,如果一个大于其他等。测试寄存器通常也可以举办一个进位位加法器的最后阶段。在人字拖它存储这些值,然后指令解码器可以使用值来做出决定。
  • 有六个框标记“3-State”图。这些都是三态缓冲。三态缓冲器可以通过1、0或它可以断开输出(想象一个开关完全断开输出线的线输出是前往)。三态缓冲允许多个输出连接到电线,但只有其中一个真正开1或0到线。
  • 指令寄存器和指令译码器是负责控制所有的其他组件。

虽然他们不是这个图所示,会有控制线路的指令译码18新利最新登入器:

  • 告诉一个寄存器锁存器的价值目前在数据总线上
  • 告诉基址寄存器锁存器的价值目前在数据总线上
  • 告诉C寄存器门闩ALU目前产出的价值
  • 告诉程序计数器寄存器锁存器的价值目前在数据总线上
  • 告诉地址寄存器锁存器的价值目前在数据总线上
  • 告诉指令寄存器锁存器的价值目前在数据总线上
  • 告诉程序计数器递增
  • 告诉程序计数器重置为零
  • 激活的六个三态缓冲器(六个单独的线)
  • 告诉ALU操作执行
  • 告诉测试寄存器门闩ALU的测试位
  • 激活RD线
  • 激活或者说是行

进入指令译码器的位测试寄存器和时钟线,以及指令寄存器的位。

广告

微处理器的内存

前一节中讨论了地址和数据总线,RD和WR线。这些公共汽车和线连接到RAM或罗——一般。在我们的样例微处理器中,我们有一个地址总线8位宽,数据总线8位宽。这意味着微处理器可以处理256字节的内存,它可以读或写8位的内存。假设这个简单的微处理器有128字节的罗从地址0和128字节的RAM地址128年开始。

代表只读存储器。ROM芯片编程的永久藏品预置字节。字节的地址总线告诉ROM芯片,并将在数据总线上。当RD线变化状态,ROM芯片提出了选择字节到数据总线上。

广告

内存代表的随机访问存储器。内存包含字节的信息,微处理器可以读或写的字节18luck手机登录数取决于RD或WR线表示。今天的RAM芯片的一个问题是,他们一旦忘记一切权力了。这就是为什么电脑需要罗。

顺便说一下,几乎所有的计算机包含一定数量的ROM(可以创建一个简单的电脑,不包含内存——许多微控制器这样做将少量的内存字节处理器芯片本身,但一般不可能创建一个不包含罗)。在一个个人电脑罗被称为BIOS(基本输入/输出系统)。当微处理器启动时,它发现它开始执行指令在BIOS。BIOS指令做事情像测试机的硬件,然后获取硬盘引导扇区(见18新利最新登入硬盘的工作原理详情)。这引导扇区是另一个小程序,BIOS将其存储在RAM磁盘在阅读。然后微处理器开始执行引导扇区的指令从RAM。引导扇区程序将告诉微处理器去拿别的东西从硬盘到RAM中,然后微处理器执行时,等等。这是微处理器加载18新利最新登入并执行整个操作系统

广告

微处理器指令

即使前面的示例中所示的非常简单的微处理器有一个相当大的,它可以执行的指令集。18新利最新登入指令被实现为二进制模式的集合,其中每一个都有不同的意义,当加载到指令寄存器中。人类并不是特别擅长于记忆模式,因此定义的一组短词来表示不同的二进制模式。这组词叫做汇编语言的处理器。一个汇编程序可以把这句话翻译成二进制模式很容易,然后汇编程序的输出是放置在内存中微处理器执行。

这里的汇编语言指令集的设计师可以创建简单的微处理器在我们的例子中:

广告

  • LOADA mem——从内存加载注册一个地址
  • LOADB mem——从内存地址加载寄存器B
  • CONB反对——一个常数值加载到寄存器B
  • SAVEB mem- B寄存器保存到内存地址
  • SAVEC mem- C寄存器保存到内存地址
  • 添加A和B -添加并将结果存储在C
  • A和B -减去并将结果存储在C
  • MUL——用A和B并将结果存储在C
  • DIVA和B -分裂并将结果存储在C
  • COM——比较A和B并将结果存储在测试
  • 跳addr——跳转到一个地址
  • JEQ addr——跳,如果相等,地址
  • JNEQaddr——跳,如果不相等,地址
  • 詹addr——跳,如果大于,地址
  • JGE addr——跳,如果大于或等于,地址
  • JL addr——跳,如果不到,去解决
  • JLE addr——跳,如果小于或等于,地址
  • 停止——停止执行

如果你读过18新利最新登入C编程是如何工作的,那么你知道这简单的C代码将计算5的阶乘(5 = 5的阶乘!= 5 * 4 * 3 * 2 * 1 = 120):

= 1,f = 1;而(< = 5){f = f *;= + 1;}

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

汇编语言

一个C编译器这个C代码转换为汇编语言。假设内存地址开始128处理器,和罗(包含汇编语言程序)从地址0开始,然后为我们简单的微处理器的汇编语言可能会看起来像这样:

/ /假设地址128 / /假设F是地址1290 CONB 1 / / = 1; 1 SAVEB 1282 CONB 1 / / F = 1; 3 SAVEB 1294 LOADA 128 / /如果> 5跃升至175 CONB 56 COM7詹178 LOADA 129 / / F = F *; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 / / = + 1; 13 CONB 114 ADD15 SAVEC 12816跳/ /循环回到if17停止

现在的问题是,“所有这些指令如何看罗?”18新利最新登入Each of these assembly language instructions must be represented by a binary number. For the sake of simplicity, let's assume each assembly language instruction is given a unique number, like this:

  • LOADA - 1
  • LOADB - 2
  • CONB - 3
  • SAVEB - 4
  • SAVEC mem - 5
  • 添加- 6
  • 子- 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • 跳addr - 11
  • JEQ addr - 12
  • JNEQ addr - 13
  • 詹addr - 14
  • JGE addr - 15
  • JL addr - 16
  • JLE addr - 17
  • 停止- 18

数字被称为操作码。罗,我们的小程序是这样的:

/ /假设地址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行汇编语言,这在罗成为32字节。

解码

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

  1. 在第一个时钟周期,我们需要加载指令。因此,指令译码器需要:
  2. 激活程序计数器的三态缓冲
  3. 激活RD线
  4. 激活数据输入三态缓冲
  5. 门闩指令到指令寄存器
  6. 在第二个时钟周期,加法指令解码。它很少需要做:
  7. ALU的设置操作
  8. 门闩ALU到C寄存器的输出
  9. 在第三时钟周期,程序计数器递增(理论上可以重叠到第二个时钟周期)。

每个指令都可以分解为一组这样的排序操作,操作组件的微处理器以正确的顺序。这样的一些指令,加法指令,可能需要两个或三个时钟周期。其他人可能需要5 - 6个时钟周期。

广告

微处理器的性能和发展趋势

的数量晶体管可用处理器的性能有着巨大的影响。正如前面看到的,一个典型的指令在一个处理器像8088 15个时钟周期执行。因为乘法器的设计,花了大约80个周期做一个16位乘法在8088。随着越来越多的晶体管更强大的乘数能够单循环速度成为可能。

更多的晶体管技术也允许流水线。管线式架构,指令执行重叠。所以即使它可能需要五时钟周期执行每条指令,可以有五个指令同时执行的不同阶段。这样它看起来像一条指令完成每一个时钟周期。

广告

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

趋势

这些天似乎到处都是处理器,这一趋势似乎并没有放缓。研究人员发现方法使微处理器灵活,支持等项目智能服装。研究人员一直在研究使用的方法光,而不是电操作处理器。可能在地平线上的最大变化是量子计算机的发展,这并不局限于使用0和1来解决问题。虽然这些电脑可以过程更加困难的问题更有效率,您将会看到一个不太可能很快量子计算机在你的桌面。

广告

64位微处理器

微处理器”width=
找出64位处理器工18新利最新登入作和为什么他们可以处理几乎无限量的RAM。AMD

六十四位处理器已经与我们自1992年以来,他们在21世纪已经成为主流。这些处理器64位alu家族,64位寄存器,64位公交车等等。

世界需要64位处理器的一个原因是因为他们的大的地址空间。Thirty-two-bit芯片往往限制最多2 GB或4 GB的内存访问。似乎很多当大多数家用电脑使用只有256 MB到512 MB的RAM。但是21世纪的家用电脑可以处理数据(非常复杂的数据特性很多实数)快。人做的视频编辑人们在非常大的图像做摄影编辑受益于这种计算能力。高端玩家也受益于更详细的高分辨率的游戏。

广告

64位芯片提供了更多的选择,因为64位内存地址空间本质上是在可预见的未来无限- 2 ^ 64字节的内存是十亿gb的RAM。64位地址总线和宽,高速数据总线主板,64位机器也提供更快的I / O(输入/输出)速度之类的东西硬盘驱动器视频卡。这些特性可以极大地提高系统性能。

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

广告

经常回答问题

什么是微处理器用于?
微处理器是计算机的一部分执行算术和逻辑运算,一般包括:添加、减法,将数据从一个领域转移到另一个,比较两个数字。
什么是微处理器也称为?
一个微处理器也被称为一个中央处理单元。

更多的信息18luck手机登录

相关文章

更大的链接

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

广告

加载……
Baidu