微机原理与接口技术(1)-计算机结构与发展

139 阅读10分钟

“我正在参加「掘金·启航计划」”

主要介绍计算机发展和结构

计算机发展

1946.02.14 现代计算机ENIAC普通用途计算机

不同部分之间重新接线 拥有并行计算能力 1.8w个电子管 7w个电阻器 500w个焊接点 160kW耗电

1945 EDVAC电子离散可变自动计算机

使用中央处理器 可在任意点暂停或继续工作,统一资源 将程序和数据以相同的格式一起存储在存储器中

电子计算机在短短50多年里经过了电子管、晶体管、IC集成电路和VLSI超大规模集成电路、智能化

1. 电子计算机的发展

1.1 1946-1958 电子管数字计算机

  • 逻辑元件:采用电子管
  • 主存储器:采用汞延迟线、磁鼓、磁芯 存储存存储

image.png

  • 辅助存储器:采用磁带
  • 软件:采用机器语言、汇编语言
  • 应用:以科学计算为主

1.2 1958-1964 晶体管数字计算机

  • 逻辑元件:采用晶体管

  • 比前一代的优势:体积大大减小、耗电减少、可靠性提高、性能大大提高

  • 主存储器:磁芯

image.png

  • 辅助存储器:采用更先进的磁盘
  • 软件:采用高级语言及其编译程序、操作系统批:处理为主
  • 应用:以科学计算、事务处理为主、工业控制

1.3 1964-1971 集成电路数字计算机

  • 逻辑元件:采用小、中规模集成电路MSI、SSI
  • 比前一代的优势:体积小、耗电少、可靠性更高、性能大大提高
  • 主存储器:磁芯
  • 软件:采用逐渐完善、分时操作系统、会话式语言等高级语言
  • 应用:以科学计算为主、文字处理、企业管理、自动控制;出现了计算机技术与通信技术相结合的信息管理系统 、用于生产管理、交通管理、情报检索

1.4. 1971 大规模集成电路数字计算机

  • 逻辑元件:采用大规模集成电路LSI、超大规模集成电路VLSI
  • 比前一代的优势:微型化、耗电极少、可靠性很高
  • 主存储器:采用大规模集成电路LSI、超大规模集成电路VLSI
  • 辅助存储器:采用更先进的磁盘
  • 软件:采用逐渐完善、分时操作系统、会话式语言等高级语言
  • 应用:以军事工业、空间技术、原子能技术得到发展
  • 向后发展:巨型机方向发展、超小型机、微型机方向发展

2. 微型计算机的发展四个阶段

2.1 1971-1973

  • 微处理器4004

image.png

  • 微处理器有4040

image.png

  • 微处理器8008

image.png

  • 1971年Intel公司研制的CPU为4040,4位机-MCS-4微型计算机
  • 后来又推出8008为核心的MCS-8型计算机

2.2. 1973-1977

微型计算机的发展和改进阶段

  • 微处理器有8080

image.png

  • 微处理器8085

image.png

  • 微处理器M6800
  • 微处理器Z80

image.png

  • Intel公司研制的CPU为8080,8位机-MCS-80型计算机
  • Z80为核心的TRS-80型计算机
  • 6502为核心APPLE-Ⅱ型

2.3. 1978-1983

16位微型计算机发展阶段

  • 微处理器有8086、8088、80186、80286、M68000、Z8000
  • CPU为8088,IBM-PC
  • 1984-Macintosh-苹果
  • 1984-PC/AT-IBM

2.4. 1983-至今

32位微型计算机的发展阶段

  • 微处理器有80386(386)

image.png

  • 微处理器80486(486)

image.png

  • 微处理器Pentium微型计算机

智能计算机

采集、存储、处理、通信、人工智能

实现高度并行处理突破冯诺依曼机器的概念

计算机结构

3. 计算机结构

image.png 存储器、I/O系统、微处理器按照某种方式通过总线连接

3.1 硬件结构

冯诺依曼存储程序计算机。基本概括为"存储程序"、"程序控制"

image.png

image.png

3.1.1. 存储器

内存/主存

  • 容量小
  • 速度快
  • 存储正在执行的程序和数据
  • 采用半导体存储器 image.png
a. TPA(Transient Program Area)临时程序区
  • 用于系统程序、数据、驱动程序、应用程序
  • 容量640K
b. 系统区
  • 384K
  • 包括:BIOS ROM或Flash存储器中的程序、视频RAM的数据区
c. XMS(eXtended Memory System)扩展内存系统

PC中的微处理器类型决定是否存在扩展内存

  • 8088没有XMS
  • 80286~Pentium Ⅵ有XMS

外存/辅助存储器

  • 容量大

  • 速度慢

  • 存放暂时不参与运行的程序和数据

  • 常用硬磁盘和光盘

3.1.2 I/O系统

  • I/O系统要通过总线与CPU、内存相连
  • IO地址从0000-FFFFH;允许PC访问64K个不同的I/O设备
  • I/O设备允许微处理器和外部设备通信

0000-00FFH用于PC主板上的部件 0100-03FFH用于插卡上的部件

a. 0000-0400H 系统设备区

b. 0400-FFFFH 扩展

Ⅰ. I/O系统的结构分为两大类

  • 微机I/O系统
  • 主机I/O系统

微机I/O系统(总线型)

CPU与内存之间可以直接进行信息交换但是不能与设备直接进行信息交换必须通过设备控制器

主机I/O系统(四级结构)

  • 主机
  • 通道 一个通道可以控制多个设备控制器
  • 控制器 一个设备控制器可以控制多个设备
  • 设备

Ⅱ. I/O设备的分类

传输速率分类

低速 鼠标键盘

中速 打印机

高速 磁带机、磁盘机、光盘机

按信息交换单位分类

块设备 磁盘

字符设备 打印机

按设备的共享属性分类

独占设备 打印机

共享设备 磁盘 允许多个进程共同访问

虚拟设备 通过虚拟技术把一台物理设备变成若干逻辑设备

3.1.3 微处理器

由运算器和控制器组成的中央处理运算,执行存储在存储器上的程序指令控制存储器和I/O系统的控制

  • 微处理器与存储器或I/O系统之间传送数据
  • 通过简单的判定控制程序的流向
  • 算术和逻辑运算

a. 执行单元_运算器_算术逻辑运算部件ALU

核心是加法器,运算器还有若干个通用寄存器、累加寄存器,用来暂存操作数并存放运算结果

  • 信息加工
  • 信息运算
  • 执行算术运算
  • 逻辑运算

a.1 数据存取单元

  • Load Data 负责从缓存子系统中载入数据
  • Store Data 负责把计算结果写回去缓存子系统

a.2 计算单元

  • 整数算数逻辑单元
  • 整数乘法器

专门负责整数乘法的

  • 整数除法器

专门负责整数除法

  • 分支处理(Branch)

负责各种跳转指令

  • 地址生成器(AGU)

  • 整数向量(ALU Int Vect ALU)

  • 浮点向量加乘融合单元FP FMA

  • 浮点除法单元(FP DIV)

算浮点除法的,和一些常用函数例如开方、对数等。

  • 其它

加密AES、Vect String字符串处理、bit Scan位查找

a.3 调度器

b. 前端_控制器

CPU的前端负责对指令进行预处理:取值、预编码、融合、解码、分支预测、重排等操作。 从主存储器中逐条地取出指令进行分析、根据指令的不同来安排操作顺序,向各部件发出相应的操作信号,控制它们执行规定的任务

b.1 取值(Fetch) 把指令载入进来

b.2 预编码(Precode)

  • 一整批的指令拆分
  • 可能还需要对指令进行分类标志
  • 预编码后的指令放在指令队列(Instruction Queue)里面

b.3 解码(Decode)/译码

  • 原始的指令称为宏操作
  • 分解后的指令称为微操作

b.4 指令融合

某些指令可以融合执行

b.5 分支预测

b.6 指令重排

ps缓存子系统

3.2 计算机的总线结构

总线结构是小微型计算机的典型结构,以较小的硬件代价组成具有较强功能的系统

总线只能分时工作,在同一时刻只允许一对设备/部件传送信息

  • 单总线结构 单总线/系统总线,分为:

a. 地址总线(Address Bus)

  • 单方向
  • 多根信号线
  • cpu向存储器、外设传输地址信息

b. 数据总线(Data Bus)

  • 双方向
  • 多根信号线
  • CPU从存储器、外设读取数据
  • CPU向存储器和外设发送数据

c. 控制总线(Control Bus)

  • 双方向
  • 多根信号线
  • CPU向存储器、外设发送控制命令
  • 存储器、外设读取反馈信息

3.3 存储器设计思想

现代计算机,常见的有两种架构,其中一种是冯诺依曼架构,和哈佛架构。 根据程序/指令序列和数据存放形式不同,分为冯诺依曼结构和哈佛结构。

目前现代微型计算机中的高速缓冲存储器(Cache)采用哈佛结构分为指令Cache和数据Cache。

通过CPU-Z看到4个核心,每个核心由32K的一级指令缓存、48K的一级数据缓存、1.25M的二级缓存、12M的三级缓存 image.png

如果将冯诺依曼结构和哈佛结构结合起来,不仅可以提高存储器的利用率,而且可以提高程序执行的效率,缩短指令执行的时钟周期。 通过 冯诺依曼结构指令和数据混合存储在同一个存储器中,指令和数据的宽度相同。

a. 冯诺依曼结构/普林斯顿结构

            CPU(中央处理器)
                控制单元
                运算单元
                 ⬆⬇
输入设备 ->      内存       -> 输出设备
  • 指令和数据存放在同一存储器中
  • 不能同时取指令和取操作数
  • 存储器存取速度远远低于CPU运算速度,计算机运算速度受到很大限制
  • CPU与共享存储器间的信息交换成了影响高速计算机和系统性能的"瓶颈"。
  • 使用冯诺依曼结构的中央处理器Intel的8086CPU、ARM的ARM7、MIPS的MIPS
  • 面对高速、实时处理时,不可避免造成总线拥挤

b. 哈佛结构

                数据内存
                  ⬆⬇
            CPU(中央处理器)
输入设备 ->      控制单元    -> 输出设备
                运算单元
                  ⬆⬇      
                指令内存
  • 内存分为独立的指令内存和数据内存,指令和数据完全分开
  • 至少两组总线:程序存储器(PM)的数据总线和地址总线和数据存储器(DM)的数据总线和地址总线
  • 分离的程序总线和数据总线可允许同时获取指令字(PM)和操作数(DM)互不干扰,一定程度上可以保证指令的连续性
  • 一个机器周期内可以同时准备好指令和操作数,本条指令执行时可预先取下一条指令
  • 哈佛结构的CPU具有较高的执行效率
  • 因为指令和数据分开存储,可以使指令和数据有不同的数据宽度
  • 使用哈佛结构的中央处理器,如Motorola的MC68系列,ARM的ARM9、ARM10、ARM11
  • 大多数数字信号处理器DSP

4. 计算机的主要性能指标

机器字长

由加法器、寄存器的位数决定

如Intel8086系列,1字等于16位

数据通道宽度

数据总线一次所能并行传送信息的位数

存储器容量

一个存储器所能存储的全部信息量。处理能力强

运算速度