跳转至

Intel系列CPU简介

8位微处理器

1971年,Intel发布第一代微处理器4004,它是一个4位的微处理器,自身含有计算和逻辑功能
它由2250个MOS晶体管构成,每秒内部能执行5万次操作
它还有一个累加器,16个暂存数据的寄存器
可寻址640字节的内存。指令集含有45条指令

1972年,推出第块8位微处理器8008
它由3300个MOS晶体管构成,每秒内部能执行超过8万次,
指令执行的数据,译码数据,操作数都能按8位处理
它含有7个8位寄存器
可寻址16K内存,指令集含有48条指令

1974年,推出第二代微处理器8080
它由6000多个MOS晶体管构成,每秒内部能执行60万次操作
可寻址16K内存,指令集含有68条指令

1976年,推出8080升级版8080A.

16位微处理器

8086

1978年,推出第三代微处理器,16位微处理器8086. 包含两个关键概念: * 存储器分段 * 指令译码表

组成

8086

总线接口部件(BIU)

包含: * 一组段寄存器 * 一个指令指示器 * 指令队列(长6个字节) * 地址产生器 * 总线控制器 * 等 BIU根据执行部件EU的请求,完成CPU与存储器IO设备之间的数据传输。
在EU执行指令的过程中,BIU根据需要从存储器中预先读取一些指令,保持到指令队列中
如果EU执行一条转移指令,使程序发生转移,那么BIU将根据EU的指示从新的地址开始读取指令

执行单元(EU)

包含: * 一个算数逻辑单元(ALU) * 一组通用寄存器 * 标志寄存器 * 等 EU负责指令的执行,并进行算术逻辑运算等。
EU从BIU中的指令队列中取得指令,
当指令要求将数据存放到存储器或输出到外部设备,或要从存储区或外部设备读取数据时,
EU就向BIU发出请求,BIU根据EU发来的请求完成这些操作

功能

由于EU和BIU分开,8086的取指过程和执行指令的过程可以并行工作。
大大减少了EU取指令等待时间,提高了CPU效率
增加了包含乘数法等多条指令
与先前的8080,8085相比,8086的这种结构一方面可以提高整体的执行速度;
另一方面又降低了对与之匹配的储存器的存取速度的要求。

8086有20条地址线,寻址范围达到1M.
16条数据线,能在一个总线周期内存取在偶地址开始的字操作数。

8088

在8086之前,8位机已经使用一段时间,
为了方便与8位外部接口或设备相连,1979年Intel又推出8088
8088内部结构与8086一样,但对外只有8条数据线,按字节读取内存。

80186

1981年Intel推出80186,除了具有8086所具有的特性外,
还集成若干通用系统所需的部件。
包括:
* 一个片选逻辑部件 * 一个时钟发生器 * 两个独立的高速直连存储器访问通道 * 三个可编程时钟 * 一个可编程终端控制器 * 新增10余条指令

80286

1982年推出一个超级16位微处理器,即80286
它具有24跟地址线,寻址空间达16M
它具有大批量数据处理,存储保护和多道程序处理能力

部件

  • 执行部件
  • 总线部件
  • 指令部件
  • 地址部件

运行模式

  • 实方式,相当于一个快速的8086

  • 保护方式

    只有保护模式下80286才能发挥其全部功能 实现寻址16M字节的物理地址空间 存储保护实现操作兄哦那个和任务的分离 支持每个任务多大1024M字节的虚拟存储空间 提供多条仅供操作系统使用的特权指令

32位微处理器

第四代微处理器是32位微处理器

80386

1985年推出32位微处理器80386
80386全面支持32位数据类型和32位操作,在保护模式下可寻址的物理地址空间高达4G
提供分页机制

在保护模式下支持称为虚拟8086方式的运行模式。

组成部件

80386

总线接口部件

为80386和它的环境之间 提供接口
它接受来自执行部件和代码预取部件的存取传递请求,并按优先级选择这些请求
同时,它产生或完成当前总线周期的信号(包括:访问存储器和IO地址,数据和控制输出)

代码预取部件

执行代码预取功能
当BIU不占用总线周期来执行一条指令时,它指示BIU顺着指令字节流顺序提取代码

指令译码部件

从预取

执行部件
分段部件

把逻辑地址(虚拟地址)转换为线性地址,并有效的实现多种存储器保护措施

分页部件

把线性地址转换成物理地址,并更搞笑的支持虚拟存储器的实现
分页是可选的
当不启动分页部件时,线性地址就直接作为物理地址

分段和分页部件构成存储器管理部件MMU

执行部件

80486

1989年推出80486,在80386的基础上集成浮点运算部件和超高速缓存。 采用流水线方式执行指令。 流水线:把指令处理分隔成若干个阶段,每个阶段都有孤立的部件来处理,当一条指令的某个处理阶段完成后,它就进入到下一处理阶段,而独立的处理部件就可以立即处理下一条指令

Pentium