X86架构CPU的逻辑原理

电子说

1.2w人已加入

描述

X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。

x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, 586,奔腾(pentium)。由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾,P2,P4,赛扬系列都是支持X86指令系统的,所以都属于X86家族 。

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

另外除Intel公司之外,AMD和Cyrix等厂家也相继生产出能使用X86指令集的CPU,由于这些CPU能运行所有的为Intel CPU所开发的各种软件,所以电脑业内人士就将这些CPU列为Intel的CPU兼容产品。由于Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天庞大的X86系列及兼容CPU阵容。当然在台式(便携式)电脑中并不都是使用X86系列CPU,部分服务器和苹果(Macintosh)机中还使用美国DIGITAL(数字)公司的Alpha 61164和PowerPC 604e系列CPU。

Intel从8086开始,286、386、486、586、P1、P2、P3、P4都用的同一种CPU架构,统称X86。

  X86架构CPU的逻辑原理

  一、冯洛伊曼体系的运作过程:

1、CPU的历史就不扯了,有兴趣的朋友可以网上搜一下。

2、X86CPU是基于冯洛伊曼架构体系,所以大致上无非就这几点:

①、指令集和数据都用二进制来表示,且混在一个存储器。

②、计算机由运算器、控制器、存储器(cache)、输入设备、输出设备所组成。PS:cache不同于寄存器,寄存器是分布在控制器和运算器里面的。

③、指令是一条接着一条顺序的执行。

如下图所示:

X86架构

  二、下面分别讨论几个主要组件:

寄存器:处于CPU存储金字塔的最顶层,容量最小,速度最快(1-10个指令周期)。主要作用是用来存储数据供运算器运算的。各自都有不同的功能。

控制器:数据寄存器,指令寄存器,程序计数器,指令译码器,时序产生器,操作控制器所组成。

运算器:运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成。

  三、执行过程:

当执行一条指令时,程序计数器先记录当前的地址,把他放到地址记录器,程序计数器再加一(指向下一条指令的地址),

然后就从内存读取指令放到指令寄存器(IR)。然后在传到指令译码器,具体功能如下:

  指令译码器:

(1)译码分析。确定指令应完成的操作,产生相应操作的控制电位。去参与形成该指令功能所需要的全部控制命令(微操作控制信号)。

(2)根据寻址方式(8086是采用段地址+偏移地址合成一个20bit的寻址范围,从32bit开始淘汰)的分析和指令功能要求,形成操作数的有效地址,并按此地址取出操作数(运算型指令)或形成转移地址(转移类指令),以实现程序转移。

指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

时序发生器: 时序信号发生器是产生指令周期控制时序信号的部件,当CPU开始取指令并执行指令时,操作控制器利用时序信号发生器产生的定时脉冲的顺序和不同的脉冲间隔,提供计算机各部分工作时所需的各种微操作定时控制信号,有条理、有节奏地指挥机器各个部件按规定时间动作。(区分数据和指令的一种方法。详细可看我CPU架构的区别一文)

然后把指令传到运算器。寄存器得到译码后的结果,通过数据总线,去数据cache获取数据。然后根据需求进行逻辑运算(与或非)算术运算,然后在通过数据缓冲寄存器通往IO端口传输到外界。

操作控制器:常用的控制方式有同步控制、异步控制、联合控制。

1.同步控制方式:任何指令的运行或指令中各个微操作的执行,均由确定的,具有统一基准时标的时序信号所控制。即所有的操作均由统一的时钟控制,在标准时间内完成。(在同步控制下,每个时序信号的结束就意味着安排完成的工作已经完成,随即开始执行后续的微操作或自动转向下条指令的运行。)

2.异步控制方式:没有统一的同步信号,采用问答方式进行时序协调,将前一操作的回答作为下一操作的启动信号。

3.联合控制方式:将同步控制和异步控制相结合。其通常设计思想为:在功能部件内部采用同步方式或以同步方式为主的控制方式;在功能部件间采用异步方式。

而运算器又大致上分为逻辑运算(与或非)和数值运算(用加法的形式转变成加减乘除)。

如下图所示:

X86架构

X86架构

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分