精华内容
下载资源
问答
  • CPU工作原理

    2014-01-13 14:57:02
    CPU工作原理
  • cpu工作原理

    2017-04-03 21:37:41
    本文介绍了cpu工作原理
  • 单核CPU与多核CPU工作原理

    万次阅读 多人点赞 2018-06-21 16:43:43
    单核CPU与多核CPU工作原理今天要介绍一下单核CPU和单核(超时间轴)CPU以及多核CPU的工作原理 一.单核CPU起源:CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯...

    单核CPU与多核CPU工作原理

    今天要介绍一下单核CPU和单核(超时间轴)CPU以及多核CPU的工作原理

    1. 一.单核CPU

    起源:

    CPU的起源是1971年英特尔公司推出,由此正式宣告计算机的诞生,可以说是世界级的改变,并且严格准守冯诺依曼体系结构,在英特尔推出CPU之前的计算机所使用的处理器工作是非常麻烦的,需要复杂的线路组合才能使其正常工作,当然英特尔推出的CPU也是需要线路组合,但是相比之前的线路英特尔的要较为简洁,并且英特尔将这些线路组合称为总线!

    工作原理:

    单核CPU较为死脑,在通电时该CPU就会执行存储块中的指定地址的指令,如果你想要执行内存块其他地方的代码必须调整总线位置才可以让其执行!

    单核CPU就相当于阻塞程序,在工作期间只能执行某一个程序!

    1. 二.单核(超时间轴)CPU

    显而易见单核CPU并不是长久的,所以英特尔推出了时间轴的工作方式,一个CPU干上两个或两个以上的CPU的活,因为CPU的工作速度取决于晶体管,晶体管(是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。晶体管作为一种可变电流开关,能够基于输入电压控制输出电流。)越多CPU每秒工作率就越大,英特尔就想了一个想法增加CPU的晶体管,让CPU的工作频率赫兹增加,然后并增加北桥芯片用于和内存通讯,在将地址总线与内存对应起来(以次方的方式),这样的话就无需每次执行其他程序要修改一次线路了,最后就需要操作系统的帮忙了,当CPU通电时会一直执行某一块内存的代码,但是无需手动修改线路了,此外CPU中还有时钟电路,该电路用于控制CPU多少毫秒跳转到指定地址,那么操作系统可以利用时钟电路让其CPU跳转到其他地方然后在跳转回来!

    三.多核CPU

    多核CPU即多个CPU组成,这些CPU集成在一个芯片里,可以通过内部总线来交互数据,共享数据,这些CPU中分配出一个独立的核执行操作系统,每个核都有自己的寄存器,alu运算单元等(这些都是封装在cpu内部的),但是一级二级缓存是共享的,这些CPU通过总线来交互数据,并且工作是并行的,资源分配是由操作系统来完成的,操作系统来决定程序cpu的控制权分配,所以一个多核cpu的工作效率大多体现在操作系统的分配上,因为一个CPU基本上可以执行很多个程序,通过PCB进程控制块的方式存储当前代码段,然后来回跳转,所以当你的CPU核过多时,操作系统在分配时可能会导致部分CPU闲置!

    四.多个CPU

    即拥有多个cpu的主机,每个cpu只能用来独立执行不同的程序,这些cpu都是单核的,不用在家用电脑上,只用在特定的机器上,因为单核cpu执行一个程序比来回跳转执行的速度要快很多,但是难以管理,因为每个CPU有自己的总线,一级二级缓存,那么这样需要更大的占用面积,更多的总线,因为这些CPU不是封装在一个芯片里的!

     

    展开全文
  • CPU工作原理动画

    2017-08-28 09:16:24
    CPU工作原理动画,生动形象一看就懂,找了好久终于找到,收藏一下
  • CPU工作原理经典

    2012-04-26 09:30:09
    CPU工作原理经典
  • CPU工作原理经典.pdf

    2018-03-22 17:10:38
    CPU工作原理介绍, 一个 CPU芯片包含上百万个精巧的晶体管。 人们在 一块指甲盖大小的硅片上, 用化学的方法蚀刻或光刻出晶体管。 因此, 从这个意 义上说, CPU 正是由晶体管组合而成的
  • cpu工作原理介绍

    千次阅读 2019-08-19 23:02:35
    1、CPU工作原理: 我们要实现的是一个RISC指令集的CPU,并且我们最后要自己为这个CPU设计指令并且编码。首先我们来听个故事,关于CPU的诞生的故事:日本客户希望英特尔帮助他们设计和生产八种专用集成电路芯片,...

    1、CPU工作原理

    我们要实现的是一个RISC指令集的CPU,并且我们最后要自己为这个CPU设计指令并且编码。
    首先我们来听个故事,关于CPU的诞生的故事:

    日本客户希望英特尔帮助他们设计和生产八种专用集成电路芯片,用于实现桌面计算器。英特尔的工程师发现这样做有两个很大的问题。第一,英特尔已经在全力开发三种内存芯片了,没有人力再设计八种新的芯片。第二,用八种芯片实现计算器,将大大超出预算成本。英特尔的一个名叫特德·霍夫(Ted Hoff)的工程师仔细分析了日本同行的设计,他发现了一个现象。这八块芯片各实现一种特定的功能。当用户使用计算器时,这些功能并不是同时都需要的。比如,如果用户需要计算100个数的和,他会重复地输入一个数,再做一次加法,一共做100次,最后再打印出来。负责输入、加法和打印的电路并不同时工作。这样,当一块芯片在工作时,其他芯片可能是空闲的。
    霍夫有了一个想法:为什么不能用一块通用的芯片加上程序来实现几块芯片的功能呢?当需要某种功能时,只需要把实现该功能的一段程序代码(称为子程序)加载到通用芯片上,其功能与专用芯片会完全一样。
    经过几天的思考后,霍夫画出了计算器的新的体系结构图,其中包含4块芯片:一块通用处理器芯片,实现所有的计算和控制功能;一块可读写内存(RAM)芯片,用来存放数据;一块只读内存(ROM)芯片,用来存放程序;一块输入输出芯片,实现键入数据和操作命令、打印结果等等功能。

    看完这个故事后,可以总结:CPU是一种用来代替专用集成电路的器件

     

    1. CPU保护模式:

    1为什么要使用cpu的保护模式呢?
      经常有不懂的人会问我这个问题,第一次我也被问住了,只是在看cpu是如何实现的,可却从来没有真正的跳出来思考过,cpu的保护模式带给我们什么好处?

    答:我非常总结的说一下。保护模式主要目的保护多任务之间代码访问的完全隔离(使用虚拟地址),单任务的用户代码和系统代码的访问格式(使用cpu的privilege环)。当然虚拟地址也给内存管理带来了其他的好处,更细节的看下面的文章转载。

    2 为什么一定要从实模式切换到保护模式,而不是开机就是保护模式?
      最主要的原因是:兼容以前的软件,不兼容以前的软件就会失去市场,所以intel处理器发展到今天回如此的复杂。

    保护模式

    x86有三种工作方式:实模式,保护模式和虚拟x86模式。尽管实方式下x86的功能要大大超过其先前的处理器(8086/8088,80186,80286),但只有在保护方式下, x86才能真正发挥更大的作用。在保护方式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间;扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持;支持多任务,能够快速地进行任务切换和保护任务环境;4个特权级和完善的特权检查机制,既能实现资源共享又能保证代码和数据的安全和保密及任务的隔离;支持虚拟8086方式,便于执行8086程序。

    3、存储管理机制

    为了对存储器中的程序及数据实现保护和共享提供硬件支持,为了对实现虚拟存储器提供硬件支持,在保护方式下, x86不仅采用扩充的存储器分段管理机制,而且提供可选的存储器分页管理机制。这些存储管理机制由x86存储管理部件MMU实现

    1.目标

    x86有32根地址线,在保护方式下,它们都能发挥作用,所以可寻址的物理地址空间高达4G字节。在以x86及其以上处理器为CPU的PC兼容机系统中,把地址在1M以下的内存称为常规内存,把地址在1M 以上的内存称为扩展内存。

    x86还要对实现虚拟存储器提供支持。虽然与8086可寻址的1M字节物理地址空间相比,x86可寻址的物理地址空间可谓很大,但实际的微机系统不可能安装如此的物理内存。所以,为了运行大型程序和真正实现多任务,必须采用虚拟存储器。虚拟存储器是一种软硬件结合的技术,用于提供比在计算机系统中实际可以使用的物理主存储器大得多的存储空间。这样,程序员在编写程序时不用考虑计算机中物理存储器的实际容量。

    x86还要对存放在存储器中的代码及数据的共享和保护提供支持。任务甲和任务乙并存,任务甲和任务乙必须隔离,以免相互影响。但它们又可能要共享部分代码和数据。所以,80386既要支持任务隔离,又要支持可共享代码和数据的共享,还要支持特权保护。

    4.地址空间和地址转换

    保护方式下的虚拟存储器由大小可变的存储块构成,这样的存储块称为段。x86采用称为描述符的数据来描述段的位置、大小和使用情况。虚拟存储器的地址(逻辑地址)由指示描述符的段选择子和段内偏移两部分构成,这样的地址集合称为虚拟地址空间。程序员编写程序时使用的存储地址空间是虚拟地址空间,所以,他们可认为有足够大的存储空间可供使用。

    显然,只有在物理存储器中的程序才能运行,只有在物理存储器中的数据才能访问。 因此,虚拟地址空间必须映射到物理地址空间,二维的虚拟地址必须转化成一维的物理地址。由于物理地址空间远小于虚拟地址空间,所以只有虚拟地址空间中的部 分可以映射到物理地址空间。由于物理存储器的大小要远小于物理地址空间,所以只有上述部分中的部分才能真正映射到物理存储器。

    每一个任务有一个虚拟地址空间。为了避免多个并行任务的多个虚拟地址空间直接映射到同一个物理地址空间,采用线性地址空间隔离虚拟地址空间和物理地址空间。线性地址空间由一维的线性地址构成,线性地址空间和物理地址空间对等。线性地址32位长,线性地址空间容量为4G字节。

    x86分两步实现虚拟地址空间到物理地址空间到物理地址空间的映射,也就是分两步实现虚拟地址到物理地址的转换,但第二步(分管理机制)是可选的。

    通过段描述符表和段描述符,分段管理机制实现虚拟地址空间到线性地址空间的映射,实现把二维的虚拟地址转换为一维的线性地址。这一步总是存在的(分段管理机制)。

    分页管理机制把线性地址空间和物理地址空间分别划分为大小相同的块,这样的块称为页(一般为4KB)。通过在线性地址空间的页与物理地址空间的页之间建立的映射表,分页管理机制实现线性地址空间到物理地址空间的映射,实现线性地址到物理地址的转换。分页管理机制是可选的,在不采用分页管理机制时,线性地址空间就等同于物理地址空间,线性地址就等于物理地址。

    分段管理机制所使用的可变大小的块,分段管理机制比较适宜处理复杂系统的逻辑分段。存储块的大小可以根据适当的逻辑含义进行定义,而不用考虑固定大小的页 的人为限制。每个段可作为独立的单位进行处理,以简化段的保护及共享。分页机制使用的固定大小的块最适合于管理物理存储器,无论是管理内存还是外存都同样 有效。分页管理机制能够有效地支持实现虚拟存储器。

    段及分页这两种机制是两种不同的转换机制,是整个地址转换函数的不同的转换级。虽然两种机制都利用存储在主存储器中的转换表,但这些表具有独立的结构。事实上,段表存储在线性地址空间,而页表存储在物理地址空间(物 理存储器)。段转换机制把虚拟地址转换为线性地址,并在线性地址中访问段转换机制的表格,而不会觉察分页机制已把线性地址转换为物理地址。类似地,分页管 理机制只是直接地把线性地址转换为物理地址,并且在物理地址中访问转换表格,并不知道虚拟地址空间的存在,甚至不知道段转换机制的存在。

    5.虚拟存储器概念

    虚拟存储器是一种设计技术,用于提供比在计算机系统中实际可以使用的物理主存储器大得多的存储空间。使用者会产生一种错觉,好象在程序中可以使用非常大的物理存储空间。使用虚拟存储器的好处是:一个程序可以很容易地在物理存储器容量大不一样的、配置范围很广的计算机上运行;编程人员使用虚拟存储器可以写出比任何实际配置的物理存储器都大得多的程序。虚 拟存储器由存储管理机制及一个大容量的快速硬盘存储器支持。在程序运行的任何时刻,只把虚拟地址空间的一小部分映射到主存储器,其余部分则存储在磁盘上。 因为只有存储在主存储器中的部分虚拟存储器可由处理器使用,这种虚拟存储技术将依赖程序内部访问存储器的局部化特性,在程序执行中只需整个虚拟存储器中的 少量存储内容在主存储器中驻留。而当访问存储器的范围发生变化时,有必要把虚拟存储器的某些部分从磁盘调入主存储器,虚拟存储器的另外的部分,也能从主存 储器传送回磁盘上。

    地址转换机制以两种方式支持虚拟存储器。

    第一,把实际驻留在主存储器中的那部分虚拟存储器标记为无效,并建立起虚拟存储器驻留部分的虚拟-- 物理映射关系,把驻留部分的相应虚拟存储器地址,转换为对应物理存储器的地址。如果程序访问的虚拟地址对应于虚拟存储器未驻留的部分,将由于无效映射信息而引起异常。操作系统通过把未驻留部分从磁盘上读入到主存储器中,来处理这种异常,并根据需要更新地址转换表。在引起异常的原因排除以后,异常处理程序完成异常事件的处理,并返回原来的程序恢复执行。在后面的文章中将会看到,从异常处理程序返回后,这时要重新执行一次原来引起异常的指令,而该指令在后一次执行时自然会成功地完成。

    第二,地址转换机制通过收集驻留在主存储器中的虚拟存储器部分的使用统计信息来支持虚拟存储器,这些使用统计信息,在主存储器空间紧缺时,帮助操作系统决定可以将哪些部分传送回磁盘。

     

    6、保护模式简介

     

     

    保护机制

    为了支持多任务,对各任务实施保护是必需的。从80286开始,处理器就具备了保护机制。保护机制能有效地实现不同任务之间的保护和同一任务内的保护。

    1.不同任务之间的保护

    保护的一个重要方面是应用程序之间的保护。虚拟地址到物理地址的映射函数在每个任务中进行定义,随着任务切换,映射函数也切换。任务A的虚拟地址空间映射到物理地址空间的某个区域,而任务B的虚拟地址空间映射到物理地址空间的另外区域,彼此独立,互不相干。因此,两个不同的任务,尽管虚拟存储单元地址相同,但实际的物理存储单元地址可以不同。

    每个任务各有一组独立的映射表,即具有不同的地址转换函数。在x86上, 每个任务都有自己的段表及页表。当处理器进行切换并执行新的任务时,这种任务切换的一个重要部分,就是为新任务切换任务的转换表。为了使操作系统与所有的 应用程序相隔离,可以把操作系统存储在一个单一的任务中。然而,我们即将看到,在一个任务内操作的保护机制,更适合于保护操作系统,使其不被应用程序破 坏。这种机制,使操作系统由所有任务共享,并且可在每一任务中对其进行访问,而且仍然保护了操作系统,使其不被应用程序破坏。这种保护操作系统的方法,是 把操作系统存储在虚拟地址空间的一个公共区域,然后,再使每一任务按此区域分配一个同样的虚拟地址空间,并进行同样的虚拟--物理地址映射。各个任务公用的这部分虚拟地址空间,被称为全局地址空间。

    仅由一个任务占有的虚拟地址空间部分,即不被任何其它任务共享的虚拟地址部分,称为局部地址空间。局部地址空间包含的代码和数据,是任务私有的,需要与系统中的其它任务相隔离。

    每个任务中有不同的局部地址空间。因此,两个不同的任务中,对同一虚拟地址的访问,实际上转换为不同的物理地址。这就使操作系统对每个任务的存储器,可以赋予相同的虚拟地址,仍然保证任务的隔离。另一方面,对全局地址空间中同一虚拟地址的访问,在所有任务中都转换为同样的物理地址,从而支持公共的代码及数据的共享,例如对操作系统的共享。

    2.同一任务内的保护

    在一个任务之内,定义有四种执行特权级别,用于限制对任务中的段进行访问。按照包含在段中的数据的重要性和代码的可信程度,给段指定特权级别。把最高的特 权级别分配给最重要的数据段和最可信任的代码段。具有最高特权级别的数据,只能由最可信任的代码访问。给不重要的数据段和一般代码段分配较低的特权级别。 具有最低特权级别的数据,可被具有任何特权级别的代码访问。

    特权级别用数字0、1、2和3表示,数字0表示最高特权级别,而数字3表示最低特权级别,即数字较大的级别具有较低的特权。为了避免模糊和混淆,在比较特权级别时,不使用“大于”或“小于”这样的术语,而使用“里面”或“内层”这样的术语表示较高特权级,级别的数字较小;使用“外面”或“外层”这样的术语表示较低特权级别,级别的数字较大。0级为最内层的特权级别,3级为最外层的特权级别。

    每一特权级都有各自独立的程序堆栈,以避免与共享栈区有关的保护问题。当一个程序从一个特权级切换到另一个特权级执行时,程序使用的堆栈,从原特权级的栈段改变为新特权级的栈段。对于堆栈段寄存器 SS来说,描述符特权级(DPL)必须等于当前代码段的特权级(CPL)。从一个特权级切换到另一特权级的方法将在控制转移方法一文中描述。

    每个存储器段都与一个特权级别相联系。特权级别限制是指,只有足够级别的程序,才可对相应的段进行访问。在任何时候,一个任务总是在四个特权级之一下运行,任务在特定时刻的特权级称为当前特权级 (Current Privilege level),标记为CPL,即当前运行程序的特权级。每当一个程序试图访问一个段时,就把CPL与要访问的段的特权级进行比较,以决定是否允许这一访问。对给定CPL执行的程序,允许访问同一级别或外层级别的数据段。

    虽然应用程序都在最外层,但由于各个不同的应用程序存储在不同的虚拟地址空间中,所以各应用程序被隔离保护。

    展开全文
  • cpu工作原理简析

    千次阅读 2014-06-02 00:27:29
    在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从这...
    在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的方法蚀刻或光刻出晶体管。因此,从这个意义上说,CPU正是由晶体管组合而成的。简单而言,晶体管就是微型电子开关,它们是构建CPU的基石,你可以把一个晶体管当作一个电灯开关,它们有个操作位,分别代表两种状态:ON(开)和OFF(关)。这一开一关就相当于晶体管的连通与断开,而这两种状态正好与二进制中的基础状态“0”和“1”对应!这样,计算机就具备了处理信息的能力。

     

      但你不要以为,只有简单的“0”和“1”两种状态的晶体管的原理很简单,其实它们的发展是经过科学家们多年的辛苦研究得来的。在晶体管之前,计算机依靠速度缓慢、低效率的真空电子管和机械开关来处理信息。后来,科研人员把两个晶体管放置到一个硅晶体中,这样便创作出第一个集成电路,再后来才有了微处理器。

     

      看到这里,你一定想知道,晶体管是如何利用“0”和“1”这两种电子信号来执行指令和处理数据的呢?其实,所有电子设备都有自己的电路和开关,电子在电路中流动或断开,完全由开关来控制,如果你将开关设置为OFF,电子将停止流动,如果你再将其设置为ON,电子又会继续流动。晶体管的这种ON与OFF的切换只由电子信号控制,我们可以将晶体管称之为二进制设备。这样,晶体管的ON状态用“1”来表示,而OFF状态则用“0”来表示,就可以组成最简单的二进制数。众多晶体管产生的多个“1”与“0”的特殊次序和模式能代表不同的情况,将其定义为字母、数字、颜色和图形。举个例子,十进位中的1在二进位模式时也是“1”,2在二进位模式时是“10”,3是“11”,4是“100”,5是“101”,6是“110”等等,依此类推,这就组成了计算机工作采用的二进制语言和数据。成组的晶体管联合起来可以存储数值,也可以进行逻辑运算和数字运算。加上石英时钟的控制,晶体管组就像一部复杂的机器那样同步地执行它们的功能。

     

      CPU的内部结构

     

      现在我们已经大概知道CPU是负责些什么事情,但是具体由哪些部件负责处理数据和执行程序呢?

     

    1.算术逻辑单元ALU(Arithmetic Logic Unit)

      ALU是运算器的核心。它是以全加器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下可完成加、减、乘、除四则运算和各种逻辑运算。就像刚才提到的,这里就相当于工厂中的生产线,负责运算数据。

     

    2.寄存器组 RS(Register Set或Registers)

      RS实质上是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途。通用寄存器的数目因微处理器而异。

     

    3.控制单元(Control Unit)

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

     

    4.总线(Bus)

      就像工厂中各部位之间的联系渠道,总线实际上是一组导线,是各种公共信号线的集合,用于作为电脑中所有各组成部分传输信息共同使用的“公路”。直接和CPU相连的总线可称为局部总线。其中包括: 数据总线DB(Data Bus)、地址总线AB(Address Bus) 、控制总线CB(Control Bus)。其中,数据总线用来传输数据信息;地址总线用于传送CPU发出的地址信息;控制总线用来传送控制信号、时序信号和状态信息等。

     

      CPU的工作流程

     

      由晶体管组成的CPU是作为处理数据和执行程序的核心,其英文全称是:Central Processing Unit,即中央处理器。首先,CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作的结束。

     

      数据与指令在CPU中的运行

     

      刚才已经为大家介绍了CPU的部件及基本原理情况,现在,我们来看看数据是怎样在CPU中运行的。我们知道,数据从输入设备流经内存,等待CPU的处理,这些将要处理的信息是按字节存储的,也就是以8位二进制数或8比特为1个单元存储,这些信息可以是数据或指令。数据可以是二进制表示的字符、数字或颜色等等。而指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。

     

      我们假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。

     

      假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。

     

      基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。主频数值越高,表明CPU的工作速度越快。

     

      如何提高CPU工作效率

     

      既然CPU的主要工作是执行指令和处理数据,那么工作效率将成为CPU的最主要内容,因此,各CPU厂商也尽力使CPU处理数据的速度更快。

     

      根据CPU的内部运算结构,一些制造厂商在CPU内增加了另一个算术逻辑单元(ALU),或者是另外再设置一个处理非常大和非常小的数据浮点运算单元(Floating Point Unit,FPU),这样就大大加快了数据运算的速度。

     

      而在执行效率方面,一些厂商通过流水线方式或以几乎并行工作的方式执行指令的方法来提高指令的执行速度。刚才我们提到,指令的执行需要许多独立的操作,诸如取指令和译码等。最初CPU在执行下一条指令之前必须全部执行完上一条指令,而现在则由分布式的电路各自执行操作。也就是说,当这部分的电路完成了一件工作后,第二件工作立即占据了该电路,这样就大大增加了执行方面的效率。

     

      另外,为了让指令与指令之间的连接更加准确,现在的CPU通常会采用多种预测方式来控制指令更高效率地执行。

    CPU的工作原理浅析

     

          

     

            一个完整的微型计算机系统包括硬件系统和软件系统两大部分。 计算机硬件是指组成一台计算机的各种物理装置, 

     

          它们是由各种实在的器件所组成,是计算机进行工作的物质基础。计算机硬件系统中最重要的组成部分是中央处理器(CPU ) 。 

     

            (一)CPU的基本概念和组成 

     

            中央处理器简称CPU(Central Processing Unit),它是计算机系统的核心,主要包括运算器和控制器两个部件。如果把计算机比作一个人,那么CPU就是心脏,其重要作用由此可见一斑。CPU的内部结构可以分为控制单元、逻辑单元和存储单元三大部分,三个部分相互协调,便可以进行分析,判断、运算并控制计算机各部分协调工作。   

     

          计算机发生的所有动作都是受CPU控制的。其中运算器主要完成各种算术运算(如加、减、乘、除)和逻辑运算( 如逻辑加、逻辑乘和非运算); 

     

          而控制器不具有运算功能,它只是读取各种指令,并对指令进行分析,作出相应的控制。通常,在CPU中还有若干个寄存器,它们可直接参与运算并存放运算的中间结果。

    我们常说的CPU都是X86系列及兼容CPU ,所谓X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU— i8088(i8086简化版)使用的也是X86指令,同时电脑中为提高浮点数据处理能力而增加的X87芯片系列数学协处理器则另外使用X87指令,以后就将X86指令集和X87指令集统称为X86指令集。虽然随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium Ⅲ系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,Intel公司所生产的所有CPU仍然继续使用X86指令集。 

     

          另外除Intel 公司之外,AMD和Cyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为Intel CPU所开发的各种软件,所以电脑业内人士就将这些CPU列为Intel的CPU兼容产品。由于Intel X86系列及其兼容CPU都使用X86指令集,就形成了今天庞大的X86系列及兼容CPU阵容。 

     

             (二)CPU主要技术参数 

     

            CPU品质的高低直接决定了一个计算机系统的档次,而 CPU的主要技术特性可以反映出CPU的大致性能。 

     

            1、位、字节和字长 

     

            CPU可以同时处理的二进制数据的位数是其最重要的一个品质标志。人们通常所说的16位机、32位机就是指该微机中的C 

     

          PU可以同时处理16位、32位的二进制数据。早期有代表性的IBM PC/XT、IBM PC/AT与 

     

          286机是16位机,386机和486机是32位机,586机则是64位的高档微机。 

     

            CPU按照其处理信息的字长可以分为:八位微处理器、十六位微处理器、三十二位微处理器以及六十四位微处理器等。 

     

            位:在数字电路和电脑技术中采用二进制,代码只有“0”和“1”,其中无论是 “0”或是“1”在CPU中都是一“位”。 

     

            字节和字长:电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。所以能处理字长为8位数据的CPU通常就叫8位的CPU。同理32位的CPU就能在单位时间内处理字长为32位的二进制数据。由于常用的英文字符用8位二进制就可以表示,所以通常就将8位称为一个字节。字节的长度是不固定的,对于不同的CPU、字长的长度也不一样。8位的CPU一次只能处理一个宇节,而32位的CPU一次就能处理4个宇节,同理字长为64位的 

     

          C PU一次可以处理8个字节。 

     

            2、CPU外频 

     

            CPU外频也就是常见特性表中所列的CPU总线频率,是由主板为CPU提供的基准时钟频率,而CPU的工作主频则按倍频系数乘以外频而来。在Pentium时代, 

     

          CPU的外频一般是60/66MHz,从Pentium II 

     

          350开始,CPU外频提高到1O0MHz。由于正常情况下CPU总线频率和内存总线频率相同,所以当CPU外频提高后,与内存之间的交换速度也相应得到了提高,对提高电脑整体运行速度影响较大。 

     

     

     

            3、前端总线(FSB)频率 

     

            前端总线也就是以前所说的CPU总线,由于在目前的各种主板上前端总线频率与内存总线频率相同,所以也是 CPU与内存以及L2 

     

          Cache(仅指Socket 

     

          7主板)之间交换数据的工作时钟。由于数据传输最大带宽取决所同时传输的数据位宽度和传输频率,即数据带宽=(总线频率(数据宽度)/8。例如Intel公司的PⅡ 

     

          333使用6 6MHz的前端总线,所以它与内存之间的数据交换带宽为528MB/s =(66×64)/8,而其PⅡ 

     

          350则使用100MHz的前端总线,所以其数据交换峰值带宽为800MB/s=(100×64)/8。由此可见前端总线速率将影响电脑运行时CPU与内存、(L2 

     

          Cache)之间的数据交换速度,实际也就影响了电脑的整体运行速度。因此目前 Intel正开始将其P 

     

          Ⅲ的前端总线频率从100MHz向133MHz过渡。 AMD公司新推出的K7虽然使用20 0MHz的前端总线频率,但有资料表明K7 

     

          CPU内核与内存之间数据交换时钟仍然是100MHz,主频也是以100 MHz为基频倍频的。 

     

            4、CPU主频 

     

            CPU主频也叫工作频率,是CPU内核(整数和浮点运算器)电路的实际运行频率。在486 DX2 

     

          CPU之前。CPU的主频与外频相等。从486DX2开始,基本上所有的CPU主频都等于“外频乘上倍频系数”了。CPU的主要技术特征 

     

          。主频是CPU内核运行时的时钟频率,主频的高低直接影响CPU的运算速度。 

     

            我们知道仅Pentium就可以在一个时钟周期内执行两条运算指令,假如主频为100MHz的Penti 

     

          um可以在1秒钟内执行2亿条指令,那么主频为200MHz的Pentium每秒钟就能执行4亿条指令,因此CPU主频越高,电脑运行速度就越快。 

     

            需要说明的是Cyrix的CPU对主频这项指标是采用PR性能等级参数(Performance Rat 

     

          ing)来标称的,表示此时CPU性能相当于Intel某主频CPU的性能。用PR参数标称的CPU实际运行时钟频率与标称主频并不一致。例如MⅡ-300的实际运行频率为233MHz(66×3.5),但PR参数主频标为300MH 

     

          z,意思就是MⅡ-300相当于Intel的PⅡ-300。不过事实上也仅是MⅡ-300的Business Win 

     

          ston指标(整数性能)能与PⅡ-300相当而已。 

     

            5、L1和L2 Cache的容量和速率 

     

            L1和L2 Cache的容量和工作速率对提高电脑速度起关键作用,尤其是L2 Cache对提高运行2 D图形处理较多的商业软件速度有显著作用。 

     

            设置L2 Cache是486时代开始的,目的是弥补L1 Cache(一级高速缓存)容量的不足,以最大程度地减小主内存对CPU运行造成的延缓。 

     

            CPU的L2 Cache分芯片内部和外部两种。设在CPU芯片内的L2 Cache运行速度与主频相同,而采用PⅡ方式安装在CPU芯片外部的L2 

     

          Cache运行频率一般为主频的二分之一,因此其效率要比芯片内的L2 Cache要低,这就是赛扬只有128KB片内Cache但性能却几乎超过同主频P 

     

          Ⅱ(有512KB但工作时钟为主频一半的片外L2Cache)的重要原因。 

     

            (三)CPU主要技术术语浅析 

     

            1、流水线技术 

     

            流水线(pipeline)是 

     

          InteI首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5~6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5~6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。由于486CP 

     

          U只有一条流水线,通过流水线中取指令、译码、产生地址、执行指令和数据写回五个电路单元分别同时执行那些已经分成五步的指令,因此实现了486CPU设计人员预期的在每个时钟周期中完成一条指令的目的(按笔者看法,CPU实际上应该是从第五个时钟周期才达到每周期能完成一条指令的处理速度)。到了Pentium时代、设计人员在CPU中设置了两条具有各自独立电路单元的流水线,因此这样CPU在工作时就可以通过这两条流水线来同时执行两条指令,因此在理论上可以实现在每一个时钟周期中完成两条指令的目的。 

     

     

     

            2、超流水线和超标量技术 

     

            超流水线是指某些CPU内部的流水线超过通常的5~6步以上,例如Pentium pro的流水线就长达14 

     

          步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。超标量(supe rscalar)是指在 

     

          CPU中有一条以上的流水线,并且每时钟周期内可以完成一条以上的指令,这种设计就叫超标量技术。 

     

            3、乱序执行技术 

     

            乱序执行(out-of-orderexecution)是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。比方说程序某一段有7条指令,此时CPU将根据各单元电路的空闹状态和各指令能否提前执行的具体情况分析后,将能提前执行的指令立即发送给相应电路执行。当然在各单元不按规定顺序执行完指令后还必须由相应电路再将运算结果重新按原来程序指定的指令顺序排列后才能返回程序。这种将各条指令不按顺序拆散后执行的运行方式就叫乱序执行(也有叫错序执行)技术。采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高了CP 

     

          U的运行程序的速度。 

     

            4、分技预溯和推测执行技术 

     

            分枝预测(branch prediction)和推测执行(speculatlon execution) 

     

          是CPU动态执行技术中的主要内容,动态执行是目前CPU主要采用的先进技术之一。采用分枝预测和动态执行的主要目的是为了提高CPU的运算速度。推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的处理也就是推测执行。 

     

     

     

            5、指令特殊扩展技术 

     

            自最简单的计算机开始,指令序列便能取得运算对象,并对它们执行计算。对大多数计算机而言,这些指令同时只能执行一次计算。如需完成一些并行操作,就要连续执行多次计算。此类计算机采用的是“单指令单数据”(SISD)处理器。在介绍CPU性能中还经常提到“扩展指令”或“特殊扩展”一说,这都是指该CPU是否具有对X86指令集进行指令扩展而言。扩展指令中最早出现的是InteI公司自己的“MMX”,其次是AMD公司的“3D 

     

          Now!”,最后是最近的Pentium III中的“SSE”。

     

            MMX和SSE:MMX是英语“多媒体指令集”的缩写。共有57条指令,是Intel公司第一次对自1985 年就定型的 

     

          X86指令集进行的扩展。MMX主要用于增强CPU对多媒体信息的处理,提高CPU处理3D图形、视频和音频信息能力。但由于只对整数运算进行了优化而没有加强浮点方面的运算能力。所以在3D图形日趋广泛,因特网3D网页应用日趋增多的情况下,MMX已心有余而力不足了。MMX指令可对整数执行SIMD运算,比如-40、0、1、469 

     

          或32766等等;SSE指令则增加了对浮点数的SIMD运算能力,比如-40.2337,1.4355或87734 

     

          3226.012等等。利用MMX和SSE,一条指令可对2个以上的数据流执行计算。就前面的例子来说,再也不必每秒执行529000条指令了,只需执行264600条即可。因为同样的指令可同时对左、右声道发生作用。显示时,每秒也不需要70778880条指令,只需23592960条,因为红、绿、蓝通道均可用相同的指令控制。 

     

     

     

            SSE:SSE是英语“因特网数据流单指令序列扩展/Internet Streaming SIMDExt 

     

          ensions”的缩写。它是InteI公司首次应用于 Pentium III中的。实际就是原来传闻的MMX2以后来又叫KNI(Katmai 

     

          NewInstruction), Katmai实际上也就是现在的Pentium III。SSE共有70条指令,不但涵括了原MMX和3D 

     

          Now!指令集中的所有功能,而且特别加强了SIMD浮点处理能力,另外还专门针对目前因特网的日益发展,加强了CPU处理3D网页和其它音、象信息技术处理的能力。CPU具有特殊扩展指令集后还必须在应用程序的相应支持下才能发挥作用,因此,当目前最先进的Penthm 

     

          III 450和 Pentium II 450运行同样没有扩展指令支持的应用程序时,它们之间的速度区别并不大。 

     

            SSE除保持原有的MMX指令外,又新增了70条指令,在加快浮点运算的同时,也改善了内存的使用效率,使内存速度显得更快一些。对游戏性能的改善十分显著,按Intel的说法,SSE对下述几个领域的影响特别明显:3D几何运算及动画处理;图形处理(如Photoshop);视频编辑/压缩/解压(如MPEG和DVD);语音识别;以及声音压缩和合成等。 

     

     

     

            3D 

     

          NOW!:AMD公司开发的多媒体扩展指令集,共有27条指令,针对MMX指令集没有加强浮点处理能力的弱点,重点提高了AMD公司K6系列CPU对3D图形的处理能力,但由于指令有限,该指令集主要应用于3D游戏,而对其他商业图形应用处理支持不足。 

     

     

     

            (四) CPU的生产工艺及产品构架 

     

            1、CPU的生产工艺 

     

            表明CPU性能的参数中常有“工艺技术”一项,其中有“0.35um”或“0.25um”等。一般来说“工艺技术”中的数据越小表明CPU生产技术越先进。目前生产CPU主要采用CMOS技术。CMOS是英语“互补金属氧化物半导体”的缩写。采用这种技术生产CPU时过程中采用“光刀”加工各种电路和元器件,并采用金属铝沉淀在硅材料上后用 

     

          “光刀”刻成导线联接各元器件。现在光刻的精度一般用微米(um)表示,精度越高表示生产工艺越先进。因为精度越高则可以在同样体积上的硅材料上生产出更多的元件,所加工出的联接线也越细,这样生产出的CPU工作主频可以做得很高。正因为如此,在只能使用0.65 

     

          u m工艺时生产的第一代Pentium 

     

          CPU的工作主频只有60/66MHz,在随后生产工艺逐渐发展到0.35um、0.25um时、所以也相应生产出了工作主额高达266MHz的Pentium 

     

          MMX和主频高达500MHz的Pentium II CPU。由于目前科学技术的限制,现在的CPU生产工艺只能达到0.25 u 

     

          m,因此Intel、AMD、 

     

          Cyrix以及其它公司正在向0.18um和铜导线(用金属铜沉淀在硅材料上代替原来的铝)技术努力,估计只要生产工艺达到0.18um后生产出主频为l000MHz的CPU就会是很平常的事了。 

     

     

     

            AMD为了跟Intel继续争夺下个世纪的微处理器发展权,已经跟摩托罗拉(Motorola)达成一项长达七年的技术合作协议。Motorola将把最新开发的铜导线工艺技术(Copper 

     

          Interconnect) 

     

          授权给AMD。AMD准备在2000年之内,制造高达1000MHz(1GHz)的K7微处理器。CPU将向速度更快、64位结构方向前进。CPU的制作工艺将更加精细,将会由现在0.25微米向0.18微米过渡,到2000年中大部分CPU厂商都将采用0.18微米工艺,2001年之后,许多厂商都将转向0.13微米的铜制造工艺,制造工艺的提高,味着体积更小,集成度更高,耗电更少。铜技术的优势非常明显。主要表现在以下方面:铜的导电性能优于现在普遍应用的铝,而且铜的电阻小,发热量小,从而 

     

          可以保证处理器在更大范围内的可靠性;采用0.13微米以下及铜工艺芯片制造技术将有效的提高芯片的工作频率;能减小现有管芯的 

     

          体积。与传统的铝工艺技术相比,铜工艺制造芯片技术将有效地提高芯片的速度,减小芯片的面积,从发展来看铜工艺将最终取代铝工艺。 

     

             

     

                各厂家所生产的每一种CPU都有名称(商标名)、代号(研制代号)和标志(专用图案)。其中In 

     

          tel公司的早期产品以i80x86命名,即以前的286、386、486等,到Intel开发出第5代产品586时由于商标注册上的麻烦改为Pentium并同时为其注册中文商标名“奔腾”,由此也就有了后来的Pentium 

     

          Pr o(高能奔腾)、Pentium Ⅱ(奔腾2代)、Pentium 

     

          Ⅲ(奔腾3代)以及Celeron(赛扬),目前名称并不能反映出同类型中CPU的规格,这点将从Intel正式推出前端总线为133MHz的PⅢ后开始改进,以后只要看见CPU的名称就可以了解这块CPU的大致技术特性。 

     

     

     

            另外厂家对每一种CPU包括同名但技术规格不同的产品都另有一个研制代号,例如Intel公司使用0.3 

     

          5和0.25工艺生产的PⅡ就各有一个代号分别为:Klamath和Destrutes。同时Itel每一种名称的C 

     

          PU都有还一个专用商标图案作为标志。AMD和Cyrix公司的情况与Intel相近,它们的每一种CPU也都有一个名称、代号和标志,但都还没有正式的中文名称。 

     

     

     

            2、CPU的内部结构 

     

            当前我们使用的CPU内部结构实际可分为单总线和双总线两种结构,由于CPU内部结构特征决定CPU的封装形式和安装规范,所以在此作些简单的介绍。 

     

            在Intel公司研制出Pentium Pro之前, 

     

          各种486以上CPU,如经典Pentium内部由主处理器、数学协处理器、控制器、各种寄存器和L1 

     

          Cache组成。至今为止仍然有大量的CPU继续以这种内部结构模式进行生产,例如AMD的K6-2、Cyrix的MⅡ以及IDT-C6等CPU。从P6(Pen-tium 

     

          Pr o的研制代号)起,Intel为进一步提高CPU与L2 Cache间的数据交换速度,将原来设置在电脑主板上的高速缓存控制电路和L2 

     

          Cache(二级高速缓存)采用在同一块硅材料上制作的方法集成到CPU芯片上,这样CPU内核与高速缓存之间的数据交换就无需经过外部总线而直接通过CPU内部的缓存总线进行,由于CPU内核与内存和CPU与高速缓存之间的数据交换通道分离而形成首创的P6双总线架构模式(见图1)。从Pentium 

     

          Pro 的实际应用效果看这一技术措施非常成功,是CPU研制技术上的一次重大改进。由于P6双总线结构的优越性,因此凡是内部具有L2 C ache 

     

          和高速缓存控制器的CPU都由传统的单总线模式过渡到双总线模式,例如Intel公司的P Ⅱ、新赛扬和P Ⅲ;AMD公司的K6-Ⅲ和K7等。 

     

            3、CPU的构架和封装方式 

     

            CPU架构是按CPU的安装插座类型和规格确定的。目前常用的CPU按其安装插座规范可分为Socket x和Slotx两大架构。 

     

            其中Socket x架构CPU中又分Socket 7和Socket 370两种,分别使用321针的So cket 

     

          7和370针的Socket370插座进行安装。Socket 7和Socket 370插座在外形上非常相似尺寸也相同,但Socket 

     

          370插座上比Socket7多了一圈针插孔。在Slot x架构CPU中可分为S lot 1、Slot 2和Slot 

     

          A三种,分别使用对应规格的Slot槽进行安装。其中Slot 1和Slot A都是242线插槽,但在机械和电气标准上都不相同,所以互不兼容。Slot 

     

          2是尺寸较大的插槽,专门用于安装P Ⅱ和P Ⅲ序列中的Xeon。Xeon是一种专用于工作组服务器上的CPU。 

     

            封装是CPU生产过程中的最后一道工序,封装是采用特定的材料将CPU芯片或CPU模块固化在其中以防损坏的保护措施,一般必须在封装后CPU才能交付用户使用。 

     

     

     

            CPU的封装方式取决于CPU安装形式和器件集成设计,通常采用Socket插座进行安装的CPU只能使用PGA(栅格阵列)方式封装,而采用Slot 

     

          x槽安装的CPU则全部采用SEC(单边接插盒)的形式封装。 

     

            目前采用PGA封装的CPU主要有Intel公司的赛扬,AMD的K6-2、K6-Ⅲ和Cyrix公司的MⅡ,以前赛扬曾采用SEC封装,现已逐渐全部改用PGA封装(见图4)。采用SEC封装的CPU有Intel的PⅡ、PⅢ和AM 

     

          D公司的K7。其中Intel的Slot架构CPU实际上分别使用SEPP、SECC和SECC2三种单边接插盒进行封装。 

     

            以上CPU中虽然赛扬和K6-Ⅲ内部分别集成了128KB和256KB的L2 

     

          Cache和高速缓存控制器,但由于它们是采用在同一片硅材料上一次制造出CPU内核和L2 

     

          Cache、高速缓存控制器的方法制造,所以它们的体积较小并能采用PGA方式进行封装。不过赛扬采用PGA封装的主要原因是降低生产成本,而K6-Ⅲ采用PGA封装的主要原因则是因为Intel对其开发的Slot 

     

          1、Slot 2和Socket 370插座进行专利保护,所以A MD只能沿用Socket 7架构和采用PGA封装方式生产K6-Ⅲ。 

     

            目前Slot架构的CPU有两种制造方法,一是将分别制造的CPU内核芯片、高速Cache控制器芯片和 L2 

     

          Cache芯片安装在一块PCB(电路板)上,然后再安装上单边接插盒和风扇以完成CPU的最终制作。采用这类结构和方法制作的CPU有Intel的PⅡ、PⅢ和AMD的K7。二是将完整的CPU(内含CPU内核、高速Cach 

     

          e控制器芯片和L2Cache芯片)芯片安装在电路板上,此时电路板纯粹只起Slot接口的安装作用。最后同样再安装单边接插盒和风扇也就形成完整的CPU。采用这种结构和方法制作的CPU只有Intel公司的部分赛扬。

     

     

     

          Slot与Socket:CPU插槽简介

     

          

     

            Slot1是Intel PⅡ等CPU同主板的接口方式,采用的是SEC(单边接触插槽)接口。

     

            Slot2是近期才出现的专用于PⅡ服务器的一种CPU同主板的接口。

     

             Socket7是目前Pentium、Pentuim MMX、AMD K6、Cyrix 

     

          6x86以及IDT的WinChip等处理器广泛使用的接口方式。

     

            Super7是AMD公司提出的一种新的CPU接口,支持100MHz的总线频率和AGP技术,并与Socket7完全兼容。主要用于配合AMD的K6-2及最新推出的K6-3 

     

          CPU。

     

            Socket370是INTEL专为赛扬配备的具有370条针状引线(与Socket 7插座不兼容)的CPU插槽。

     

            SlotA是AMD一种同Intel PⅡ在尺寸和结构上兼容的接口方式,与AMD推出的K7处理器配合。 

    展开全文
  • CPU工作原理 上接:计算机底层02-计算机指令与指令集 1. CPU发展 服务器:使用intel E系列 服务器CPU E3 E5 E7 Intel :4004—8008 第一代民用CPU Intel i8086 /8087 协处理器(浮点运算) 第二代 8088 实质上就是...

    CPU工作原理

    上接:计算机底层02-计算机指令与指令集

    1. CPU发展

    在这里插入图片描述

    服务器:使用intel E系列 服务器CPU E3 E5 E7

    Intel :4004—8008

    第一代民用CPU Intel i8086 /8087 协处理器(浮点运算)

    第二代 8088 实质上就是8086架构的升级版 真正意义上的第二代是80286后续的CPU接着为80386,80486,|80586|的时候想要注册发现已经被注册了 所以80586开始后起名叫做|Pentium 奔腾1|----pentium4----[奔腾D]–到后续使用酷睿CPU最开始酷睿–>i 直到酷睿i系列 i3->i5->i7->i9

    举例:i7 第一代CPU i7-9xx

    ​ 第二代CPU 2700 2700K(可以超频).。。。

    ​ 第三代CPU 3700.。。。。。。


    下图是Intel的中央处理单元 第一代i7 920

    在这里插入图片描述

    在这里插入图片描述
    CPU插槽 一般PC–只有一个插槽 而服务器至少两个以上 叫路 如果是两路主板就会通常预留两个插槽

    在这里插入图片描述

    在i7 920中大概有7到10亿个晶体管

    2.Central Processiong Unit ---- 时钟/主频

    cpu目前在大规模集成电路里放的是晶体管,而晶体管里面控制0,1是通过电(on,off)电通-电阻,在晶体管之前使用电子管 需要使用机械开关,而晶体管使用电子开关,速度比机械开关快很多。

    cpu通电之后,晶元产生震动就会产生震动频率,cpu在震动频率的上升沿就会进行处理计算,多少赫兹在一秒钟时间Cpu就会通过多少上升沿,意味着主频越高单位时间内处理的次数越多。

    通常情况下在接近主板附近有一个频率发生器,在CPU之外 也就是叫做外频,CPU的内部频率叫做主频,而主频=外频*倍频(CPU控制倍频率)所以4700与4700k的区别在于两者的倍频是不同的 4700的倍频是锁定的 而4700k的倍频不锁定,意味着主频会随着倍频的增长而增长,性能更好,在民用机中分为锁频和不锁频的两种

    睿频:电压大,功耗上升要是将一个CPU持续以最高频率工作,功耗是保持最大功耗,有些笔记本功耗大的话续航就变低了,但是CPU并不是时时刻刻都是以最高频率工作,在某些时刻需要低主频进行工作,而睿频是一种动态的调整频率使cpu进行工作

    频率关系:1HZ=1s震动一次 1KHZ=1000 1MHZ=1000K=1000*1000

    ​ 1GHZ=1000MHZ=1000*1000KHZ=10亿次

    CPU:是不是主频越高,性能越强呢

    ​ 主频决定单位时间内处理的次数,每一次运算性能还有参数,每一次还有处理的性能,与晶体管数量有关系,还要衡量工艺,晶体管越来越小就会越好

    3. 中断系统:interrupt

    在这里插入图片描述

    举例:CPU正在做解题运算,将某个数值输出给打印机,CPU响应,转入管理程序(处理中断)

    ​ 如果发生了中断,现在正在做运算,会有寄存器存储加数被加数,相当于把寄存器转移,|保护现场|在转管之前就要保护现场。中断处理完成后,最后恢复现场。进行上下文切换

    中断由CPU–中断系统|早期在north bridge|

    中断源

    在这里插入图片描述

    程序事故中断:代码结构不清晰,可能导致内存堆栈溢出,导致CPU无法正常工作

    硬件故障中断:比如主板组件短路

    I/O中断 :I/O输入输出,所有的IO设备都是外部设备,比如硬盘。。。

    4. CPU的进程和线程

    CPU早期都是单核的,从奔腾开始就是多核心了,将多个独立的CPU进行封装在一个晶片上,多核的CPU里面是多个核心

    2核和两路,两核是指,一个芯片种封装2个逻辑CPU核心,而两路是指一个主板设置2个CPU插槽,2路*2核=4个逻辑核心。

    在intel的发展中,Hyper Thread 超线程技术:

    将一个逻辑核心,增大5%的晶元面积(超空间)增强单个逻辑核心,将一个逻辑进行并行处理,模拟出两个逻辑核心

    如果2路2核心的使用超线程技术,那么我们看到的是8个核心

    在使用超线程技术后,逻辑核心之间的资源是共享一个物理核心的,性能大约提升30%

    在这里插入图片描述

    CPU:时间

    时间分片 分成多份交给多个程序 就可以实现多个任务,多个进程串行处理

    Cpu的资源是时间,才会有上升沿

    线程:是资源调度的最小单位,一个进程中的所有线程共享该进程的所有资源

    下接:计算机底层04-计算机存储层次架构

    展开全文
  • 006第二章 寄存器(CPU工作原理 )鱼C c语言教程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,630
精华内容 1,852
关键字:

cpu工作原理