计算机考研408专用笔记—–计算机组成原理

第一章 计算机概述

1.1计算机发展历程

1.1.1计算机的产生和发展

发展阶段

时间

硬件技术

速度(次/秒)

特点

第一代

1946-1957

电子管

4万

使用机器语言进行编程;主存用汞

第二代

1958-1964

晶体管

20万

面向过程的程序设计语言;Fortran有了操作系统雏形

第三代

1965-1971

中小规模集成电路

1百万

高级语言迅速发展,开始有了分时操作系统

第四代

1972-1977

大规模集成电路

1千万

产生了微处理器,产生了新的概念:并行,流水线,高速缓存,虚拟储存

第五代

1978-现在

超大规模集成电路

1亿

/

1.1.2微型计算机的出现和发展

微型计算机的发展以微处理器技术为标志

  • 微处理芯片:把控制单元和算术逻辑单元集成在一个芯片上

微处理器

机器字长

年份

晶体管数目

4004

4位

1971

2300个

8080

8位

1974

/

8086

16位

1979

2.9万

80286

16位

1982

13.4万

80386

32位

1985

27.5万

80486

32位

1989

120.0万

Pentium

64位(准)

1993

310.0万

Pentium pro

64位(准)

1995

550.0万

Pentium II

64位(准)

1997

750.0万

Pentium III

64位(准)

1999

950.0万

Pentium IV

64位

1000

3200.0万

  • 机器字长:计算机一次整数运算所能处理的二进制位数
    当前通用微处理器的发展重点
  • 提高复杂度
  • 线程/进程级并行性开发
  • 将存储器集成到处理器芯片内
  • 发展嵌入式处理器

1.1.3软件技术的兴起与发展

各种语言

  • 机器语言:面向机器
  • 汇编语言:面向机器
  • 高级语言:面向问题

系统软件(管理计算机系统,监视服务,调度系统资源高效运行)

  • 语言处理程序:汇编程序,编译程序,解释程序
  • 操作系统:DOS,UNIX,Linux,Windows
  • 服务性程序:装配程序,调试程序,诊断程序,排错程序
  • 数据库管理系统:数据库和数据库管理软件(Oracle,Access)
  • 网络软件:网络协议软件,网络应用系统

应用软件:(按任务需要编制成的各种程序)
财务软件,文字处理和排版软件,电子表格,CAD,网络通信软件

软件发展的特点

  • 开发周期长
  • 制作成本昂贵
  • 检测软件产品质量的特殊性

软件是程序以及开发,使用和维护程序所需要的所有文档

计算机考研408专用笔记-----计算机组成原理_主存

1.1.4计算机的应用

  1. 科学计算和数据处理(航空航天,人口普查)
  2. 工业控制和实时控制(机械制造,导弹发射)
  3. 网络技术的应用
    电子商务(网络营销,网购)
    网络教育(远程教育,虚拟课堂)
    敏捷制造 21世纪制造模式
  4. 虚拟现实(虚拟现实演播室,仿真训练系统)
  5. 办公自动化和管理信息系统(节约资源,提高效率)
  6. CAD/CAM/CIMS
  7. 多媒体技术(声图文的计算机集成)
  8. 人工智能(手写输入,语音输入,智能机器人)

1.1.5计算机的展望

超级智能计算机:类似人脑的一些超级智能功能

  • 自组织,自适应,自联想,自修复等能力
  • 要求计算机的速度达1015/秒,存储容量1013
  • 芯片集成度的限制
    1.芯片集成度受物理极限的制约
    2.按几何级数递增的制作成本
    3.芯片的功耗,散热,线延迟等难题

替代传统的硅芯片

  • 光计算机:利用光子取代电子进行运算和存储
  • DNA生物计算机:通过控制DNA分子间的生化反应完成计算
  • 量子计算机:利用原子具有的量子特性,运算能力比硅芯片为电路基础的计算机块几亿倍

1.2计算机系统层次结构

1.2.1计算机系统基本组成

计算机系统的层次结构
机器语言

  • 0,1代码表示的语言,可以直接被机器运行
  • 必须用二进制代码编写,难度大,易出错

汇编语言

  • 符号式语言,语句与机器语言语句对应,机器可直接识别
  • 需使用机器对应的汇编语言没有通用性

高级语言

  • 描述接近人们习惯,较强通用性,机器不能识别需编译

操作系统

  • 为汇编和高级语言提供所需的基本操作,控制管理软硬件资源

微指令系统:对每一条二进制代码指令分析运行的系统

1.2.2计算机硬件的基本组成

冯诺依曼计算机结构框图

计算机考研408专用笔记-----计算机组成原理_算法_02

  1. 原始数据和处理程序通过输入设备输入计算机并存放于存储器中
  2. 控制器执行程序指挥运算器从内存中取出数据
  3. 进行处理后将结果放入存储器中
  4. 通过输出设备把存储器中的结果输出

冯诺依曼计算机的特点

  1. 计算机由五大部分组成(运算/存储/控制/输入/输出)
  2. 指令和数据以同等地位存放于存储器内,并可按地址寻访
  3. 指令和数据用二进制表示(0,1)
  4. 指令由操作码和地址码组成
  5. 指令在存储器中按顺序存放
  6. 机器以运算器为中心(现代计算机以存储器为中心)

1.2.3计算机软件和硬件的关系

计算机软硬件

  • 软件的发展可以充分发挥机器的硬件性能,提高机器工作效率
  • 软件能局部模拟人类的思维活动
  • 软件已成为评价计算机系统性能好坏的重要标志
  • 软件性能的发挥必须依托硬件的支撑
  • 计算机性能取决于软硬件总和

1.2.4计算机的工作过程

计算机考研408专用笔记-----计算机组成原理_微指令_03

计算机解决实际问题两个步骤:上机前的各种准备,上机运行

  1. 上机前的准备
  • 建立数学模型
  • 确定计算方法(转换成适合计算机的加减乘除四则运算)
  • 编制解题程序
    程序—–运算的全部步骤
    指令—–每一个步骤

示例:

计算 ax^2^+bx+c=(ax+b)+c

主存地址

指令

注释

操作码

地址码

0

000001

0000001000

取数x至ACC

1

000100

0000001001

乘a得ax,存于ACC中

2

000011

0000001010

加b得ax+b,存于ACC中

3

000100

0000001000

乘x得(ax+b)x,存于ACC中

4

000011

0000001011

加c得a(x^2)+bx+c,存于ACC中

5

000010

0000001100

将a(x^2)+bx+c,存于主存单元

6

000101

0000001100

打印

7

000110

停机

8

X

原始数据X

9

a

原始数据a

10

b

原始数据b

11

c

原始数据c

12

存放结果

1.3计算机性能指标

1.3.1机器字长

  • CPU一次能处理数据的位数
  • 与CPU中的寄存器位数有关
  • 字长越长,数的表示范围越大,精度越高
  • 字长可影响机器的运行速度
  • 字长对硬件造价有较大影响
  • 字长直接影响加法器或ALU,数据总线,存储字长的位数

1.3.2存储容量

  • 包括主存容量和辅存容量
  • 存放二进制信息的总位数
  • 主存容量
    MAR反映存储单元个数
    MDR反映存储字节

1.3.3运行速度

影响因素:机器主频,执行的操作,主存速度,早期使用完成一次加法或乘法所需的时间来衡量运算速度
衡量方式
1. 主频 主时钟频率(f),单位MHz,GHz。CPU工作节拍受主时钟控制,主时钟不断产生固定频率的时钟
2.吉普森法 综合考虑每条指令的执行时间及他们在全部操作所占的百分比
3.CPI 执行一条指令所需时钟周期数 CPI=执行某段程序所需的CPU时钟周期数/该程序包含的指令条数
4.MIPS 百万条指令每秒 MIPS=指令条数/(程序执行时间×106)=时钟频率/(CPI×106)
5.FLOPS 浮点操作每秒,MFLOPS百万浮点操作每秒,GFLOPS十亿次浮点操作每秒,TFLOPS万亿次浮点操作每秒,PFLOPS千万亿次浮点操作每秒,EFLOPS1018次浮点操作每秒,ZFLOPS1021次浮点操作每秒
其他衡量方式

  • 吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量,单位字节/秒(B/S)
  • 响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,微秒(10-6s),纳秒(10-9s)
  • CPU时钟周期(T):主频的倒数称为CPU时钟周期,即T=1/f,单位微秒,纳秒
  • CPU执行时间:执行一段程序所占用的CPU时间,CPU执行时间=CPU时钟周期数×CPU时钟周期长

第二章 数据的表示和运算

2.1数制与编码

2.1.1进位计数制及其相互转换

常用数制

  • 十进制(D):日常使用数制
  • 七进制:星期
  • 十二进制:月份,时间中的时
  • 六十进制:时间中的分,秒
  • 二进制(B):数字计算机内部使用数制
  • 十六进制(H):为便于阅读和书写二进制,常采用十六进制(或八进制)

任意进制转换为十进制

对一任意r进制数S,表示为(S)r,转换为十进制的计算方式为:

计算机考研408专用笔记-----计算机组成原理_全文检索_04

其中 0≤Ki<r,r称为进位计数值的基数,Ki为第i位数码,i为位序号,ri为第i位的位权整数部分i从右往左计数(0,1,2,3…),小数部分从左到右(-1,-2,-3…)

十进制转换为任意(X)进制
整数部分:​​​除X余数作为当前位数码,商再次除X,循环直至商为0​​​ 小数部分:​​乘X取整作为当前位数码,小数部分再次乘X,循环直至小数部分为0​

2.1.2真值和机器数

计算机中参与运算的数有两大类:

  • 无符号数:没有符号的数,每一位均可存放数值
  • 有符号数:留出位置存放数值的符号(正数,负数)

计算机中对数据符号位的表示
在计算机中对数据进行运算操作时,符号位是否也同数值位一道参加运算,如何参加运 算?
真值:数值数据的实际值,如257,-33,1011b等
把符号位和数字位一起采用二进制编码表示,产生了原码,补码,反码,移码等数据编码方法
机器数(机器码):数值数据在计算机内的编码表示

原码,补码,反码的共性
这几种编码表示中,正数的编码值与真值一样,负数具有不同的编码
编码的最高位为符号位:0表示正,1表示负
原码表示法

  • 符号位:0表示正,1表示负
  • 数值部分:与真值的二进制形式一样

原码的特征:
(1)零有两种表示:+0和-0

[+0]原=0,0000 0.000...0
[-0]原=1,0000 1.000...0

(2)优点:简单直观,便于乘,除法运算
缺点:加减运算不便(符号不能直接参与)

补码表示法

  • 符号位:0表示正,1表示负
  • 数值部分:正数不变,负数通过求补得到(按位取反,末位+1)

补码的特征:
(1)零的表示唯一
(2)计算机数值数据采用补码形式
(3)补码加减法运算中,符号直接参与运算
(4)定点小数表示中,[-1]补=1.00…0
反码表示法

  • 符号位:0表示正,1表示负
  • 数值部分:正数不变,负数真值各位取反

反码的特征:
(1)零有两种表示:+0和-0
[+0]反=0,0000 0.000…0
[-0]反=1,1111 1.111…1
(2)通常用于求补码

移码表示法

  • 移码通常用于表示浮点数的阶码,阶码是个n位的整数
  • 移码的定义是:[X]移=2n+X 其中2n>X≥-2n,n为整数的位数
  • 符号位:1表示正,0表示负
  • 数值部分:与补码数值部分相同

移码的特征

  • 零的表示唯一:100…00
  • 移码只能表示整数(只有整数有移码),用于浮点数阶码表示
  • 移码很直观反映数值大小

2.1.3字符与字符串

字符的表示

采用7位ASCII码表示

计算机考研408专用笔记-----计算机组成原理_主存_05

字符串的表示

连续的一串字符,占用主存连续多个字节,每字节存一个字符

同一主存字中既可按从低向高位字节的顺序,也可反向

汉字的表示方法
内部编码(内码)输入码 显示(打印)码

2.2定点数的表示和运算

2.2.1定点数的表示

计算机的数据表示没有小数点“.”

  • 小数点按约定方式标出(位置固定不变)
  • 通常将数据表示成纯小数或纯整数

两种定点表示

  • 小数定点机
  • 整数定点机

定点整数
最高位为符号位,其后为数值部分,小数点位置隐含约定在数值部分的后面
n+1位定点整数的表示范围是:

原码 -(2^n^-1)≤X≤2^n^-1
补码 -2^n^≤X≤2^n^-1
反码 -(2^n^-1)≤X≤2^n^-1

定点小数
最高位为符号位,小数点位置隐含约定在符号位后,其后为数值部分
n+1位定点小数的表示范围是:

原码 -(1-2-n)≤X≤1-2n
补码 -2n≤X≤1-2n
反码 -(1-2n)≤X≤1-2n

2.2.2定点数的运算

定点数的移位运算
意义:

  • 二进制表示中数据相对约定的小数点位置左移或右移N位,其实质是乘以或除以2N
  • 位移运算和加减法运算配合,能够实现乘除法运算

规则(符号位不变,移位后空出位置如何填充?)

  • 正数:原码,反码,补码,均补充0
  • 负数: 原码 填充0 反码 左移填补0,右移填补1 补码 填补1

算术移位:有符号数的移位
逻辑移位:无符号数的移位

逻辑左移:低位补0,高位移丢
逻辑右移:高位补0,低位移丢

原码定点数的加减运算
用原码做加法时可能出现的情况
补码就是为了简化这种情况
使用一个与负数等价的正数代替负数
减法→加法

要求

数1

数2

实际操作

结果符号

加法

加法

可正可负

加法

可正可负

加法

补码定点数的加减运算

  • 加法
    整数:[A]补+[B]补 = [A+B]补(mod 2n+1)
    小数:[A]补 + [B]补 = [A+B]补(mod 2)
  • 减法 A – B = A + (-B)
    整数:[A-B]补 = [A]补 + [-B]补(mod 2n+1)
    小数:[A-B]补 = [A]补 + [-B]补(mod 2)

连同符号位一起相加,符号位产生进位丢掉
溢出概念和判别方法
溢出概念

假设机器字长为4位(含符号位),则补码所对应的取值范围为-8~+7,运算过程中如果超过这个范围就称为溢出

溢出判别方法
1.一位符号位判溢出
​​​参加操作的两个数符号相同。其结果的符号与原操作数符号不同,即为溢出硬件​

硬件实现:异或电路计算 最高有效位进位,符号位进位

2.两位符号位判溢出
结果双符号位相同未溢出,双符号位不同溢出
最高符号位代表真正符号

定点数的乘除运算
笔算乘法

  • 符号位单独处理
  • 被乘数A的多次位移
  • 多个位积相加

笔算乘法改进(加法及移位)

  1. 被乘数A+0
  2. 右移1位,得到新的部分积
  3. 部分积 + 被乘数 …

定点数的乘运算

  • 计算机乘法运算 通过加和移位实现
  • 加法,移位的次数有乘数的数值位长度决定
  • 乘数的末位决定被乘数是否与原部分积相加,然后右移一位形成新的部分积,同时乘数右移1位(末位移丢),空出高位存放部分积的低位

硬件要求

  • 3个n+1位寄存器:X存被乘数,ACC存乘积高位,MQ存乘数及乘积低位
  • 2个寄存器具备移位功能,1个全加器

原码一位乘运算

  • 乘积符号位:原符号位异或操作
  • 数值部分:绝对值相乘

特点

  • 绝对值运算
  • 用移位的次数判断乘法是否结束
  • 逻辑移位
  • 部分积为n+1位

原码两位乘运算

  • 乘积符号位:原符号位异或操作
  • 部分积符号位取3位,最高符号位为真正符号位
  • 数值部分:绝对值相乘
  • 每次取乘数中的两位来形成新的部分积,每次移位运算的步长为2
  • 可提高运算速度

补码乘法:[x]补 × [y]补
校正法:

  • 当乘数y为正数时,都可按原码乘法的规则运算
  • 当乘数y为负数时,把[y]补去掉符号位,当成正数与[x]补相乘,然后加[-x]补校正
  • 乘积的符号位在运算过程中自然形成,部分积,被乘数取双符号位

比较法:

统一公式:[X × Y]补 = [x]补 × (0.y1y2....yn)- [x]补 × y0
运算规则不受乘数符号约束,控制线路比较简明,计算机中普遍采用

硬件实现:

补码一位乘(n+2位寄存器),补码两位乘

定点数的除运算

笔算除法

  • 商符单独处理
  • 心算上商,上商位置不固定
  • 余数不动低位补0,减右移一位的除数
  • 2倍字长加法器

机器除法

  • 符号位异或形成
  • |x| – |y| > 0 上商1,|x| – |y| <0 上商0,寄存器最末位上商
  • 余数左移1位 低位补0 减 除数
  • 1倍字长加法器

原码除法

  • 商符由两数符号位进行异或运算
  • 商值由两数绝对值相除求得

约束条件

  • 小数定点除法:X* < y*
  • 整数定点除法:X* > y*
  • 被除数不等于0,除数不等于0
  • 商的位数一般和操作数位数相同

恢复余数法:

商值通过比较被除数和除数的绝对值大小确定:[x^*^]补 + [-y^*^]补
当余数为负时,需加上除数,将其恢复成原来的余数

不恢复余数法:加减交替法

当余数Ri>0,商1,做2 × Ri - y*运算
当余数Ri<0,商0,做2 × Ri + y*运算

补码除法:恢复余数法,加减交替法

补码加减交替法规则
比较被除数(余数)和除数的大小
1.两数符号相同,做减法[x]补 - [y]补,若余数与除数同符号,表示够减
2.两数符号不同,做加法[x]补 + [y]补,若余数与除数不同符号,表示够减
商值的确定
1.[x]补与[y]补同号,商为正,够减时商1,不够减商0
2.[x]补与[y]补异号,商为负,够减时商0,不够减商1
商符在运算中自动形成
余数与原码加减交替法相似

2.3浮点数的表示和运算

2.3.1浮点数的表示

定点机的不足

  • 编程困难,程序员调节小数点位置
  • 表示范围小
  • 相差很大的数据需要很长的机器字长
  • 数据存储单元的利用率往往很低

浮点数表示
N = S × rj 其中S尾数,j为阶码,r为基值

  • 尾数采用纯小数表示,S<=1 r可以取2,4,8,16等
  • 基值2时尾数最高位为1的浮点数称为规格化数,规格化数精度最高

浮点数的表示范围

  • 16位字长:设1位表示阶符,4位表示阶码数值,1位表示数符,10位表示尾数数值
  • 最小负数-215 × (1 – 2-10)
  • 最大负数 -2-15 × 2-10
  • 最小正数 2-15 × 2-10
  • 最小正数 215 × 210

规格化表示

为提高数据的表示精度,当尾数的值不为0时,其绝对值应≥0.5,即尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式
如:101.1101 = 0.1011101 × 2^0010 = 0.010111010 × 2^0100

机器零(计算机都把该浮点数看成零值)

  • 浮点数尾数为0,不论其阶码为何值
  • 阶码的值遇到比它能表示的最小值还小时,不管其尾数为何值

IEEE 754标准

  • 数符放置在前面
  • 尾数必须用规格化表示
  • 短实数,长实数尾数的最高位1隐藏掉

总位数

符号位

阶码

尾数

短实数

32

1

8

23

长实数

64

1

11

52

临时实数

80

1

15

64

2.3.2浮点数的加/减运算

x = Sx × rjx ,y = Sy × rjy
两种情况

  • 阶码相同时,尾数小数点固定在第一数值位之前,尾数加减法与定点数完全相同
  • 阶码不同时,阶码决定真正的小数点位置,尾数不能直接相加减

运算步骤

  • 对阶:使两数小数点位置对齐
  • 尾数求和:对阶后的尾数按定点数运算规则进行加减
  • 规格化:将运算后的尾数进行规格化
  • 舍入:尾数右移时丢失的数值位处理
  • 溢出判断:判断结果是否溢出

舍入

  • 场景:在对阶和右规中,可能会将尾数的低位丢失,引起误差影响精度
  • 目的:采用舍入法提高尾数精度
  • 处理方式
  1. 0舍1入法:类似于十进制的四舍五入,移去的最高位为1则在末尾+1
  2. 恒置1法:右移后尾数末位恒置1

溢出判断

  • 场景:与定点加减法一样,浮点加减法最后一步也需判断溢出
  • 说明
    双符号位情况下,尾数之和出现01.xxxx或者10.xxxx在浮点运算中不代表溢出
    右规后根据阶码判断是否溢出
  • 判断方式(由阶码符号决定)
    阶码 补码形式01,xxxx 上溢出,停止运算做中断处理
    阶码 补码形式10,xxxx 下溢出,按机器零处理

2.4算术逻辑单元ALU

  • 计算机中的运算器执行各种算数和逻辑运算
  • 运算器由算术逻辑单元(Arithmetic Logic Unit,ALU),累加器。状态寄存器和通用寄存器等组成
  • ALU的基本功能包括加减乘除四则运算,与或非,异或等逻辑运算,以及移位,求补等操作。
  • 运算器的操作和操作类型由控制器决定,运算器处理的数据来自存储器,处理后的结果送回存储器或者暂存运算器中

2.4.1串行加法器和并行加法器

加法器

  • 加法器由全加器以及逻辑电路组成
  • 单个全加器组成的加法器称为串行加法器
  • 多个全加器组成的加法器称为并行加法器

一位全加器

  • 全加器FA,最基本的加法单元
  • 输入A,B加数。低位运算传递的进位C(i-1)
  • 输出本位计算和S(i),向高位的进位C(i)

串行加法器

  • 只有一个全加器
  • 数据逐位送入加法器进行运算
  • 操作数长n位,加法分n进行
  • 每次产生一位和,逐位送回寄存器
  • 进位触发器寄存进位信号
  • 优点:器件少,设计简单,成本低
  • 缺点:运算速度慢

并行加法器

  • 有多个全加器,数量与机器字长相同
  • 各位数据同时运算
  • 每位的进位输出是高一位全加器的进位输入
  • 最长运算时间由进位信号的传递时间决定
  • 提升速度关键:加快进位产生与传递速度
  • 进位链:传递进位信号的逻辑线路连接起来构成的进位链路,通常采用串行,并行两种
  • 串行进位链:1.并行加法器中的进位信号采用串行传递 2.也称行波进位,位数越多计算延迟时间越长
  • 并行进位链:1.并行加法器中的进位信号同时产生 2.又称先行进位,跳跃进位,分为单重分组(单重分组跳跃进位,组内并行,组间串行)和双重分组(双重分组跳跃进位,组内并行,组间并行,大组串行)

2.4.2算术逻辑单元ALU的功能和结构

  • 功能:1.进行多种算数运算和逻辑运算。2.其中加减乘除归结为加法运算
  • ALU基本结构:1.一种功能较强的组合逻辑电路,A,B,输入变量,K控制信号,F输出函数。2.最简单的ALU是4位,典型代表74181芯片
  • 74181ALU电路:1.两种工作方式正逻辑,负逻辑。2.16种算数运算(M=0)和16种逻辑运算(M=1)如在负逻辑下,M=1,S3-S0=1001做逻辑运算A⊕B

第三章 存储器层次结构

3.1 存储器的分类

3.1.1按存储介质分类

存储介质是指能存放0,1两种代码并能区别两种状态的物质或元器件

  1. 半导体存储器 TTL(双极型),MOS
  2. 磁表面存储器 磁盘,磁带,磁鼓
  3. 磁芯存储器 硬磁材料,环状元件
  4. 光盘存储器 激光,磁光材料

3.1.2按存取方式分类

  1. 存取时间与物理地址无关(随机访问存储器)
    随机存储器RAM 在程序的执行过程中可读可写
    只读存储器ROM 在程序的执行过程中只读
  2. 存取时间与物理地址有光(串行访问存储器)
    顺序存取存储器 磁带
    直接存取存储器 磁盘 先定位某个小区域,再在小区域顺序查找

3.1.3按在计算机中的作用分类

计算机考研408专用笔记-----计算机组成原理_微指令_06

3.2 存储器层次化结构

3.2.1 存储器主要特性的关系

速度,容量,每位价格(位价)

  • 速度越快,价位越高
  • 容量越大,速度越低
  • 容量越大,位价越低

3.2.2 多级存储系统

计算机考研408专用笔记-----计算机组成原理_全文检索_07

3.3 半导体随机存取存储器

  • 半导体存储芯片的基本结构

计算机考研408专用笔记-----计算机组成原理_数据_08

  • 存储芯片片选线的作用

用16K × 1位的存储芯片组成64K × 8位的存储器

计算机考研408专用笔记-----计算机组成原理_全文检索_09

半导体存储芯片的译码驱动方式

(1)线选法

计算机考研408专用笔记-----计算机组成原理_数据_10

(2)重合法

计算机考研408专用笔记-----计算机组成原理_算法_11

3.3.1 SRAM存储器

SRAM静态随机存储器

存储元:存放一个二进制的物理器件,存储器的基本单元电路

存储单元:地址码相同的多个存储元

存储体:若干存储单元的集合

静态RAM原理

双稳态触发器(6管MOS)存储信息

非破坏性读出,断电丢失

存取速度快,集成度低,功耗大

计算机考研408专用笔记-----计算机组成原理_数据_12

静态RAM基本电路的读操作

计算机考研408专用笔记-----计算机组成原理_数据_13

静态RAM基本电路的写操作

计算机考研408专用笔记-----计算机组成原理_主存_14

Intel2114外特性

1K×4位,4096个存储电路

64×64矩阵

A3-A8行译码,A0-A2 A9列

计算机考研408专用笔记-----计算机组成原理_微指令_15

lntel2114RAM矩阵(64×64)读

计算机考研408专用笔记-----计算机组成原理_算法_16

静态RAM读时序

计算机考研408专用笔记-----计算机组成原理_微指令_17

静态RAM写时序

计算机考研408专用笔记-----计算机组成原理_全文检索_18

3.3.2 DRAM存储器

三管动态RAM芯片(lntel1103)

计算机考研408专用笔记-----计算机组成原理_微指令_19

单管动态RAM4116(16K×1位)

计算机考研408专用笔记-----计算机组成原理_微指令_20

计算机考研408专用笔记-----计算机组成原理_数据_21

动态RAM刷新(行地址相关)

电容只能维持1-2ms

①集中刷新

“死区”:0.5μs × 128 = 64μs;“死时间率”:128/4000 × 100% = 3.2%

计算机考研408专用笔记-----计算机组成原理_微指令_22

②分散刷新

“死区”:无 t© =t(M) + t®

计算机考研408专用笔记-----计算机组成原理_主存_23

③异步刷新(存取周期为0.5μs)

分散刷新与集中刷新相结合

“死区”:0.5μs每15.6μs 每行每隔2ms刷新一次

将刷新安排在指令译码阶段,不会出现“死区”

计算机考研408专用笔记-----计算机组成原理_数据_24

动态RAM和静态RAM的比较

DRAM

SRAM

存储原理

电容

触发器

集成度

芯片引脚

功耗

价格

速度

刷新

3.3.3 只读存储器

ROM中信息即使掉电也不会丢失,只供读出信息的存储器。
结构简单,位密度高;非易失性,可靠性高
根据发展过程及制作工艺划分

  • 掩模ROM(MROM) 早期只读存储器,在厂家写好内容
  • 一次可编程只读存储器(PROM) 用户可进行一次写操作
  • 可擦除可编程只读存储器(EPROM) 多次写,编程次数有限,写入时间长。紫外线擦除(UVEPROM),电擦除(EPROM)

3.3.4 Flash存储器

从ROM发展而来,目前应用非常广泛,U盘就是一种闪存
计算机电擦除,价格便宜,集成度高,擦除速度快

EPROM

价格便宜,集成度高

EPROM

电可擦洗重写,编程次数有限,写入时间长

闪存

比EEPROM快,具备RAM功能

固态硬盘(Solid State Drivers SSD)

基于闪存使用电子存储芯片阵列制成的硬盘,包括控制单元,存储单元(Flash芯片)
长期保存信息,快速擦除及重写,对比传统硬盘读写速度快,功耗低,位价高

3.4 主存储器与CPU的连接

3.4.1 连接原理

  1. 主存储器通过数据总线,地址总线和控制总线与CPU连接
  2. 数据总线的位数与工作频率的乘积正比于数据传输率
  3. 地址总线的位数决定了可寻址的最大内存空间
  4. 读写命令控制线的连接
  5. 片选线的连接
  6. 合理选择存储芯片(RAM,ROM)
  7. 时序,负载等

3.4.2 主存容量的扩展

单个存储芯片容量有限
在字数,字长方面都与实际需求有差距
扩展主存容量:

  • 位扩展法
  • 字扩展法
  • 字位同时扩展法

位扩展法(增加存储字长)
用多个存储器件对字长进行扩充
数据位数与CPU数据线数相等
地址,片选,读写控制并联
数据端分别引出

字扩展法(增加存储字的数量)
位数不变
地址,数据,读写控制并联
片选区分各芯片地址范围
同一时刻只有部分芯片选中

字位同时扩展法
同时增加字数量和存储字长
地址线并联
数据线与片选结合

3.4.3 存储芯片的地址分配和片选

3.4.4 存储器与CPU的连接

3.5 双口RAM和多模块存储器

3.6 高速缓冲存储器(cache)

3.6.1 Cache的基本工作原理

3.6.2 Cache和主存之间映射方式

3.6.3 Cache中主存块的替换算法

3.6.4 Cache写策略

3.7 虚拟存储器

3.7.1 虚拟存储器的基本概念

3.7.2 页式虚拟存储器

3.7.3 段式虚拟存储器

3.7.4 段页式虚拟存储器

3.7.5 TLB(快表)

第四章 指令系统

计算机的程序是由一系列的指令组成的,指令就是要计算机执行某种操作的命令
从计算机组成的层次结构来说,计算机的指令有微指令,机器指令和宏指令之分
微指令:微程序级的命令,它属于硬件;
宏指令:有若干条机器指令组成的软件指令,它属于软件;
机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算,是CPU唯一能接收的命令。
指令系统:一台计算机中所有机器指令的集合,它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围

4.1 指令格式

4.1.1 指令的基本格式

指令:

  • 一条指令是一组有意义的二进制代码
  • 机器语言的一个语句

操作码:

  • 每一条指令都有一个操作码,表示该指令应进行什么性质的操作
  • 不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令

地址码:

  • 给出被操作的信息(指令或数据)的地址,包括参加运算的一个或多个操作数所需的地址,运算结果保存地址,程序转移地址,被调用的子程序入口地址等

指令长度(指令字长):

  • 一条指令所包含的二进制代码的位数
  • 取决于操作码长度,操作数地址码长度,操作数地址个数
  • 根据和机器字长的大小关系,可分为单字长指令,半字长指令,双字长指令
  • 根据指令系统每条指令的长度是否固定,分为定长指令系统,变长指令系统
    定长指令系统
  • 执行速度快,控制简单

变长指令系统

  • 指令长度随指令功能而异,多为字节的整数倍

操作数地址码数目划分:

  • 四地址指令
  • 三地址指令
  • 二地址指令
  • 一地址指令
    加1,减一,求反或双操作数
  • 零地址指令
    不需要操作数的指令:空操作,停机,关中断等
    堆栈计算机的零地址运算类指令:栈顶,次栈顶运算

4.1.2定长操作码指令格式

  • 在指令字的最高位部分分配固定的若干位(定长)表示操作码
  • n位操作码字符的指令系统最大能够表示2^n条指令

优点

  • 简化计算机硬件设计
  • 提高指令译码和识别速度
  • 一般计算机字长在32位或更长时采用定长操作码指令格式,IBM370 8位操作码

4.1.3扩展操作码指令格式

可变长操作码

  • 指令字长有限仍保持比较丰富的指令种类
  • 操作码长度不固定,分散在不同位置
  • 指令译码变难,控制器复杂

扩展操作码指令格式

  • 最常见的可变长操作码方法
  • 不同的地址数的指令操作码长度不一样
  • 短操作码不能是长码的前缀
  • 操作码不能重复(高频短码)

4.2指令的寻址方式

4.2.1有效地址的概念

形式地址(A)

  • 指令中的地址字段,并不代表操作数的真实地址

有效地址(EA)

  • 操作数在存储器中的真实地址,需要用形式地址并结合寻址方式可以计算得出

寻址方式

  • 寻找指令或操作数有效地址的方式
  • 确定本条指令的数据地址以及下一条将要执行的指令地址的方法
  • 分为指令地址,数据地址

4.2.2数据寻址和指令寻址

指令寻址

  • 寻找下一条将要执行的指令地址,分为顺序寻址,跳跃寻址两种方式

顺序寻址方式

  • 程序是由指令序列构成的,大多数指令是顺序存放在存储器中的
  • 执行程序时,通常是一条指令接一条指令的顺序执行
  • 这种程序顺序执行的过程,我们称为指令的顺序寻址方式。
  • 为实现指令的顺序寻址,计算机中使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,并通过自动增量方式实现顺序寻址

跳跃寻址方式

  • 当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。
  • 跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。
  • 程序跳跃后,按新的指令地址开始顺序执行。
  • 当程序中出现转移,子程序调用,子程序返回,中断等指令时,会产生跳跃。
  • 跳跃是通过直接对程序计数器的内容进行设置而实现的。

数据寻址

  • 如何在指令中表示一个操作数的地址
  • 如何用这种表示得到操作数或怎样计算出操作数的地址
  • 数据寻址方式很多,指令字中增加一个字段区分哪种寻址方式
  • 立即寻址,直接寻址,隐含寻址,间接寻址,寄存器寻址,寄存器间接寻址,相对寻址,基址寻址,变址寻址,堆栈寻址

4.2.3常见数据寻址方式

(1)立即寻址

指令的地址字段指出的不是操作数的地址,而是操作数本身

(2)直接寻址

在指令格式的地址字段中直接指出操作数在内存的地址D

(3)隐含寻址

操作数地址隐含在操作码中

(4)间接寻址 (有效地址由形式地址间接提供EA=(A))

形式地址不是操作数的真正地址,而是操作数地址的指示器
间接寻址分为寄存器间接寻址和存储器间接寻址

(5)寄存器寻址

操作数在CPU的通用寄存器中
有效地址即为寄存器编号
执行阶段不访存,只访问寄存器,执行速度快
寄存器个数有限,可缩短指令字长

(6)寄存器间接寻址

操作数在CPU的通用寄存器中
有效地址即为寄存器编号
有效地址在寄存器中,操作数在存储器中,执行阶段访存
便于编制循环程序

(7)堆栈寻址

堆栈特点:
堆栈:硬堆栈 多个寄存器
软堆栈 指定的存储空间

(8)相对寻址

程序计数器PC的内容加上指令格式中的形式地址而形成操作数的有效地址
其中形式地址通常称为偏移量,其值可正可负,相对于当前指定地址进行浮动“相对”寻址,就是相对于当前的指令地址而言

(9)基址寻址

将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址
基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址

(10)变址寻址

把CPU中某个变址寄存器的内容与偏移量相加来形成操作数有效地址

(11)块寻址

在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)
指令中划出字段指出长度;指令中指出数据块的首,末地址;块结束字符指出数据块长度
可用于数据块搬家,输入输出指令等,实现外存储器或外围设备同内存之间的数据块传送

(12)段寻址方式

段寄存器作为基地址加上某寄存器提供的16位偏移量来形成实际的20位物理地址
微型机中采用了段寻址方式

4.3 CISC和RISC的基本概念

指令系统的发展方向

  • 增强指令功能,设置更为复杂的新指令实现软件功能的硬化→CISC复杂指令系统计算机Complex Instruction Set Computer,典型代表X86架构的计算机
  • 减少指令种类和简化指令功能,提高指令执行速度→RISC精简指令系统计算机Reduced Instruction Set Computer,典型代表ARM,MIPS架构计算机

4.3.1.复杂指令系统计算机CISC
背景:

硬件成本不断下降,软件成本不断上升,促使人们在指令系统增加更多复杂的指令

CISC特点:

  • 系统指令复杂庞大(200条以上),各种指令使用频度相差大
  • 指令长度不固定,指令格式种类多,寻址方式多
  • 访存指令不受限制,CPU中设有专用寄存器
  • 各指令执行时间相差很大,大多数指令需要多个时钟周期执行完毕
  • 控制器多采用微程序控制器
  • 难以用优化编译生成高效的目的代码,设计复杂研制周期长

2.精简指令系统计算机RISC
背景:

  • 程序中80%的语句仅使用20%的指令,高频的简单指令因复杂指令的存在而无法提速
  • 能否用20%的简单指令组合不常用的80%的指令功能?

RISC特点:

  • 选用使用频度最高的一些简单指令,复杂指令的功能由简单指令来组合
  • 指令长度固定,格式种类少,寻址方式少,采用流水技术一个时钟周期内完成一条指令
  • 只有LOAD/STORE 指令访存,CPU中有多个通用寄存器,其余操作都在寄存器间进行
  • 采用组合逻辑实现控制器,以硬布线控制为主,不用或少用微程序控制,
  • 采用优化的编译程序,减少程序的执行时间

CISC和RISC对比

  • RISC能充分利用VISL芯片的面积
  • RISC更能提高计算机的运算速度
  • RISC便于实现指令流水
  • RISC便于设计,可降低成本,提高可靠性
  • RISC有利于编译程序代码优化
  • RISC不易实现指令系统的兼容

第五章 中央处理器 1

5.1CPU的功能和基本结构

5.1.1CPU的功能
中央处理器

  • 当用计算机解决某个问题时,我们首先必须为它编写程序
  • 程序是一个指令序列,它告诉计算机应该执行什么操作,在什么地方找用来操作的数据
  • 一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务
  • 专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU
  • CPU对整个计算机系统的核心

CPU基本功能

  • 指令控制:完成取指令,分析指令和执行指令的操作,即程序的顺序控制
  • 操作控制:CPU管理并产生由内存取出的每条指令的操作指令,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行操作
  • 时间控制:对各种操作实施时间上的控制,为每条指令顺序提供应有的控制信号
  • 中断处理:对计算机运行过程中出现的异常情况和特殊情况进行处理
  • 数据加工:对数据进行算术运算和逻辑运算处理

5.1.2CPU的基本结构
运算器:接受控制器的命令而进行动作,执行部件,负责数据的加工和处理

  • 算术逻辑单元(ALU):进行算术,逻辑运算
  • 暂存寄存器:暂存从主存读取的数据(不能放于通用寄存器),对应用程序员透明
  • 累加寄存器:是一个通用寄存器,暂存ALU运算的结果,可作为加法的一个输入端
  • 通用寄存器组:如AX,BX,CX,DX,SP等,存放操作数和各种地址信息,SP指示栈顶地址
  • 程序状态条件寄存器(PSW):如溢出标志(OP),符号标志(SF),零标志(CF),保留算术逻辑运算指令或测试指令的结果而建立的各种状态信息
  • 移位器:对操作数或运算结果进行移位运算
  • 计数器(CT):控制乘除运算的操作步数

控制器:

  • 系统的指挥中枢,控制运算器,存储器,IO构成有机整体,全机协调完成指令
  • 基本功能:执行指令,每条指令的执行是由控制器发出的一组微操作实现
  • 两种类型:硬布线控制器和微程序控制器
  • 工作原理:
    (1)从内存中取出一条指令,并指出下一条指令在内存中的位置
    (2)对指令进行译码和测试,根据指令操作码,指令的执行步骤(微命令系列)和条件信号来形成当前计算机各部件要用到的控制信号
    (3)指挥整机各硬件系统在这些控制信号的控制下协同运行,产生预期的执行结果

基本组成部件:

  1. 程序计数器(PC):指出下条指令在主存中的存放地址,有自增功能
  2. 指令寄存器(IR):保存当前正在执行的那条指令
  3. 指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号
  4. 存储器地址寄存器:存放要访问的主存单元的地址
  5. 存储器数据寄存器:存放向主存写入的信息或从主存中读出的信息
  6. 时序系统:产生各种时序信号,由统一时钟分频得到
  7. 微操作信号发生器:根据IR的内容(指令),PSW的内容(状态信息),时序信号产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑型和存储逻辑型两种

5.2指令执行过程

5.2.1指令周期

CPU从主存取出并执行一条指令所需时间称为指令周期,也就是CPU完成一条指令的时间
常常用若干机器周期(CPU周期)来表示,机器周期又包含若干时钟周期,
时钟周期,又称节拍或T周期,是CPU操作的基本单位
每个指令周期内机器周期数可以不等
每个机器周期内节拍数可以不等
定长的机器周期,不定长的机器周期

5.2.2指令周期的数据流

数据流是根据指令要求依次访问的数据序列,不同指令,指令的不同阶段数据流不同

取指周期的数据流

计算机考研408专用笔记-----计算机组成原理_算法_25

间址周期的数据流

计算机考研408专用笔记-----计算机组成原理_算法_26

执行周期的数据流

不同指令的执行周期数据流不同
根据IR中指令字的操作码和操作数通过ALU操作产生执行结果

中断周期的数据流

处理中断请求,假设程序断点存入堆栈
假设SP栈顶地址,先修改指针后存数据
CU控制SP-1 SP→MAR→地址总线→主存CU写命令→控制总线→主存PC→MDR→数据总线→主存(程序断点存入主存)CU(中断服务程序的入口地址)→PC

5.2.3指令执行方案

一个执行周期中通常有多个执行步骤,从性能和成本出发有三种方案来安排这些执行步骤

单指令周期:会降低系统运行速度

所有指令都选用相同的执行时间来完成,指令在固定的时钟周期内完成,指令间串行执行

多指令周期

不同类型的指令选用不同的执行步骤来完成,指令所需时钟周期不固定,指令间串行执行

流水线方案

指令间可以并行执行(处于不同执行步骤中),一个时钟周期启动一条指令,力争在每个时钟脉冲周期内完成一条指令的执行过程

5.3数据通路的功能和基本结构

5.3.1数据通路的功能

数据通路

数据在功能部件间传送的路径
运算器和寄存器之间的传送路径就是中央处理器内部数据通路
描述了信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器
建立数据通路的任务是由“操作控制部件”来完成的

数据通路的功能:

实现CPU内部的运算器与寄存器以及寄存器之间的数据交换

5.3.2数据通路的基本结构

CPU内部单总线方式

将所有寄存器的输入端,输出端都连接到一条公共的通道上
结构简单,容易冲突性能较低

CPU内部多总线方式

将所有寄存器的输入端,输出端都连接到多条公共的通道上(双总线,多总线)
同时在多个总线传送不同数据,效率比但总线高

专用通道方式

根据指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享的总线
性能较高,硬件量大复杂

寄存器之间的数据传送

例如如把PC寄存器内容送入MAR
PC→Bus PC(out)有效
Bus→MAR MAR(in)有效

主存与CPU间数据传送

例如CPU从主存读取指令
PC→Bus→MAR,1→R(CU发读命令),MEM(MAR)→MDR,MDR→Bus→IR

算术逻辑运算的数据传送(加法)

Ad(IR)→Bus→MAR,1→R,MEM→数据线→MDR,MDR→Bus→Y,(ACC)+(Y)→Z,Z→ACC
数据通路结构直接影响CPU内信息的传送路径以及微操作信号形成部件的设计

计算机考研408专用笔记-----计算机组成原理_数据_27

5.4控制器的功能和工作原理

控制器部件从数据总线接受指令信息,从运算器部件接受指令转移地址
送出指令地址到地址总线,向系统中的部件提供他们运行所需的控制信号
根据产生微操作控制信号的方式分为:
硬布线控制器
微程序控制器
确定和表示指令执行步骤的方法不同
给出控制个部件控制信号的方案不同
PC,IR相同

计算机考研408专用笔记-----计算机组成原理_主存_28

5.4.1硬布线控制器

基本思想:

硬布线控制器是早期设计计算机的一种方法,根据指令要求,当前时序和内部状态,按时间顺序发送一系列操作控制信号,把控制部件看作产生专门固定时序控制信号的逻辑电路,也称组合逻辑控制器

核心部分是微操作产生部件,是一种由门电路和触发器构成的复杂树形逻辑网络

设计目标:以使用最少元件和取得最高操作速度

制成后很难增加新控制功能,除非重新设计或重新布线

硬布线控制单元图

计算机考研408专用笔记-----计算机组成原理_数据_29

指令的操作码是决定控制信号的关键

为简化逻辑将操作码译码,节拍发生器从CU分离

CU的输入信号来源

经指令译码器译码产生的指令信息
时序系统产生的机器周期信号和节拍信号
执行单元的反馈信息即标志
来自系统总线的控制信号,如中断请求,DMA请求

硬布线控制器的时序系统

时钟周期:时钟信号控制节拍发生器产生节拍,每个节拍的宽度正好对应一个时钟周期,在每个节拍内机器可完成一个或几个需同时执行的操作

机器周期:通常以内存中读取一个指令字的最短时间作为机器周期,所有指令执行过程的一个基准时间

当存储字长等于指令字长时取指周期可以看作机器周期

在一个机器周期可完成若干微操作,使用时钟信号控制产生每一个微操作命令

微操作命令:

控制单元具有发出各种操作命令(控制信号)序列的功能,这些命令与指令有关,必须按一定次序发出机器才能有序工作,对于不同的指令,控制单元需发出各种不同的微操作命令

取指周期微操作命令分析

间址周期微操作命令分析

PC→MAR

AD(IR)→MAR

1→R

1→R

M(MAR)→MDR

M(MAR)→MDR

MDR→IR

/

OP(IR)→CU

/

(PC)+1→PC

/

执行周期微操作命令分析(非访存指令)

CLA

清ACC

0→ACC

COM

取反

AAC→ACC

SHR

算术右移

L(ACC)→R(ACC),ACC0→ACC0

CSL

循环左移

R(ACC)→L(ACC),ACC0→ACCn

STP

停机指令

0→G

执行周期微操作命令分析(访存指令)

ADDX

加法指令

Ad(IR)→MAR

1→R

M(MAR)→MDR

(ACC)+(MDR)→ACC

STA X

存数指令

Ad(IR)→MAR

1→W 写

ACC→MDR

MDR→M(MAR)

LDA X

取数指令

Ad(IR)→MAR

1→R

M(MAR)→MDR

MDR→ACC

执行周期微操作命令分析(转移指令)

JMP X

无条件转移

Ad(IR)→PC

BAN X

条件转移

A0*Ad(IR)+A0*(PC)→PC

负则转

CPU控制方式:

每条指令和每个操作所需的执行时间不同,控制一条指令执行的方式有3种

同步控制方式:

控制电路简单,运行速度慢
系统有一个统一时钟,所有控制信号均来自在这个统一的时钟信号
通常以最长的微操作序列和最繁琐的微操作作为标准,采取完全统一的,具有相同时间间隔和相同数目的节拍作为机器周期来运行不同指令

异步控制方式:

不存在基准时标信号,各部件按自身固有速度工作,通过应答方式进行联络

联合控制方式:

介于同步,异步之间,大部分采用同步控制,小部分采用异步控制

硬布线控制单元设计步骤:

1.列出微操作命令的操作时间表
先根据微操作节拍安排,列出微操作命令的操作时间表,包括各个机器周期,节拍下每条指令完成的微操作控制信号
2.进行微操作信号综合
在列出操作时间表后即可对他们进行综合分析,归类,写出各位操作控制信号的逻辑表达式并进行适当简化,包含机器周期,节拍,脉冲,操作码,机器状态条件
3.画出微操作命令的逻辑图
根据逻辑表达式画出对应一个微操作信号的逻辑电路图,并用逻辑门电路实现

工作周期标记

节拍

状态条件

微操作命令信号

CLA

COM

ADD

STA

LDA

JMP

FE取指

T0

PC→MAR

1

1

1

1

1

1

1→R

1

1

1

1

1

1

T1

M(MAR)→MDR

1

1

1

1

1

1

(PC)+1→PC

1

1

1

1

1

1

T2

MDR→IR

1

1

1

1

1

1

OP(IR)→ID

1

1

1

1

1

1

I

l→IND

1

1

1

1

l

l→EX

1

1

1

1

1

1

IND间址

T0

Ad(IR)→MAR

1

1

1

1

l→R

1

1

1

1

T1

M(MAR)→MDR

1

1

1

1

T2

MDR→Ad(IR)

1

1

1

1

IND

1→EX

5.4.2微程序控制器

核心思想:

采用存储逻辑实现,把微操作信号代码化,每一条机器指令编成一个微程序存入控制存储器中,每个微程序包含若干条微指令,通过寻址获取微程序中的微指令,每一条微指令对应一个或几个微操作,微操作控制信号由微指令产生。目前计算机广泛采用。

微程序控制的基本概念
微操作:

计算机中最基本的,不可再分解的操作,一条机器指令可分解为一个微操作序列

微命令:

控制部件向执行部件发出的控制命令,是构成控制序列的最小单位

微命令与微操作一一对应,微命令是微操作的控制信号,微操作是微命令的执行过程,相容性微命令可以同时产生,共同完成某一些微操作,互斥性微命令不允许同时出现

微程序控制的基本概念
微指令:

若干微命令的集合

微指令基本格式:

一条微指令至少包含两部分
微操作码字段(操作控制字段):产生某一操作所需的各种操作控制信号
微地址码字段(顺序控制字段):产生下一条要执行的微指令地址

微地址:

存放微指令的控制存储器的单元地址

微周期:

从控制存储器读取一条微指令并执行相应的操作所需的时间

主存储器:

用于存放程序和数据,在CPU外部,用RAM实现

控制存储器CM:

用于存放微程序,在CPU内部,用ROM实现

程序:

指令的有序集合,用于完成特定功能,由软件设计人员事先编制好存放在存储器中

微程序:

微指令的有序集合,一条指令的功能有一段微程序来实现,机器指令的实时解释器,由计算机设计者事先编制好存放在控制存储器中,对程序员透明

地址寄存器MAR:

存放主存的读/写地址

微地址寄存器CMAR:

存放控制存储器的读/写微指令的地址

指令寄存器IR:

存放从主存读出的指令

微指令寄存器CMDR或uIR:

存放从控制存储器(控存)中读取的微指令

微程序控制器基本框图

控制存储器CM:

核心部件,用于存放微程序,使用ROM构成

微指令寄存器CMDR:

存放CM取出的微指令,位数与微指令字长相等

微地址形成部件:

产生初始和后继微地址,以保证微指令的连续执行

微地址寄存器CMAR:

接收微地址形成部件送来的微地址,为在CM中读微指令做准备

计算机考研408专用笔记-----计算机组成原理_主存_30

微程序控制器工作过程

  1. 执行取指公共操作
    ​将取指微程序的入口地址送入CMAR,从CM读取相应的微指令送入CMDR。当取指微程序执行完后,从主存中取出的机器指令就已存入IR中了​
  2. 由机器指令操作码字段通过微地址形成部件产生该指令对应的微程序入口地址,送入CMAR,从CM中逐条取出对应的微指令并执行
  3. 执行完一个微程序后回到微程序的入口地址,继续第一步完成取下一条机器指令的公共操作

微指令的编码方式
也称微指令的控制方式,指微指令的控制字段如何编码形成控制信号
目标是保证速度的前提下尽量缩短微指令字长

  1. 直接编码(直接控制)方式
    微命令字段每一位代表一个微命令,无需译码。每个微命令对应并控制数据通路中的一个微操作
  2. 字段直接编码方式
    将微指令的微命令字段分成若干段,每段经译码后发出控制信号,互斥性微命令在同一段中,相容性微命令在不同的段中。每段信息位不能过多,否则译码线路复杂,每段留出一个状态表示不发出微命令。
  3. 字段间接编码方式(隐式编码)
    一个字段的某些微命令需由另一个字段中的某些微命令来解释,一种辅助手段
  4. 混合编码
    直接编码,字段编码混合使用

微指令的地址形成方式

  1. 由微指令的下地址字段指出,也称断定方式
  2. 由机器指令的操作码经微地址形成部件形成
  3. 增量计数器法 (CMAR)+1👉CMAR
  4. 根据各种标志决定微指令分支转移地址
  5. 通过测试网络

微指令格式
与微指令编码方式有关

  1. 水平型微指令
    一条微指令定义并执行多个并行操作,微程序短,执行快,效率高,微指令长,编写麻烦,直接编码,字段直接编码,字段间接编码,混合编码都属于水平型微指令
  2. 垂直型微指令
    由微操作码字段规定微指令的功能,采用微操作编译法,一条微指令只定义一种基本操作指令短,简单,规整,便于编写,微程序长,执行慢,效率低
  3. 混合型微指令
    垂直型微指令增加简单并行操作

微指令格式对比

  1. 水平型微指令比垂直型微指令并行操作能力强,灵活性强
  2. 水平型微指令执行一条机器指令所要的微指令数目少,速度快
  3. 水平型微指令用较短的微程序结构换取较长的微指令结构
  4. 水平型微指令与机器指令差别大

微程序控制单元的设计步骤
主要任务:编写各条机器指令所对应的微程序

  1. 写出对应机器指令的微操作命令及节拍安排
    一个节拍T内的操作安排在一条微指令中完成需要根据微地址在控存中取出这些微指令微指令要给出下地址,并送至CMAR,最后一条微指令的后继由微地址形成部件生成执行阶段的微操作命令与节拍安排,分配类似
  2. 确定微指令格式
    包括微指令的编码方式,后继微指令地址的形成方式,微指令字长等根据微操作各位决定采用何种编码方式,以确定微指令的操作控制字段的位数。微指令数确定微指令的顺序控制字段的位数,按操作控制字段位数,顺序控制字段位数确定微指令字长。
  3. 编写微指令码点
    根据操作控制字段每一位代表的微操作命令,编写每一条微指令的码点

动态微程序设计

  • 静态:微程序无需改变,采用ROM
  • 动态:通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM

毫微程序设计

  • 微程序设计:用微程序解释机器指令
  • 毫微程序设计:用毫微程序解释微程序
  • 毫微指令与微指令的关系好比微指令与机器指令的关系

硬布线和微程序控制的特点

微程序控制器

硬布线控制器

工作原理

微程序控制信号以微程序形式存放在控制存储器中,执行指令时读出即可

微操作控制信号由组合逻辑电路根据当前的指令码,状态和时序,即时产生

执行速度

规整性

较规整

繁琐,不规整

应用场合

CISC CPU

RISC CPU

易扩充性

易扩充修改

困难

5.5指令流水线

5.5.1指令流水线的基本概念

核心思想

  • 计算机的流水处理过程同工厂中的流水装配线类似。
  • 计算机流水线是把一个计算过程分解为若干子过程,每个子过程与其他子过程并行执行,只需增加少量硬件就能将计算机运算速度提升几倍,是一种普遍使用的并行处理技术。

指令流水方式 多条指令在CPU中的执行方式

  • 顺序执行方式
  • 一次重叠执行方式
  • 二次重叠执行方式(指令如果有四个阶段,则可继续分三次重叠执行方式…)

流水线方式的特点

  1. 每一个任务(指令或操作)分解为有联系的子任务,每个子任务由一个专门功能部件来执行,依靠多个功能部件并行工作来缩短程序的执行时间
  2. 每一个功能部件后面都有一个缓冲寄存器(锁存器),保存本流水段的执行结果,供下一流水段使用
  3. 流水线中各功能段的时间尽量相等,否则引起堵塞,断流
  4. 只有连续不断的提供同一种任务时才能发挥流水线的效率,所以流水线中处理的必须是连续任务,要通过软硬件多方面配合为流水线提供连续任务
  5. 流水线需要装入时间(第一个任务进入流水线到输出流水线的时间)和排空时间(最后一个任务进入流水线到输出流水线的时间)

5.5.2指令流水线的基本实现

  1. 顺序执行方式

指令按顺序执行,串行执行方式,T=3nt
控制简单成本低,速度慢,利用率低

  1. 一次重叠执行方式

取指令2

分析指令2

执行指令2

取指令2

分析指令2

执行指令2

取指令1

分析指令1

执行指令1

把第k条指令执行阶段和k+1条指令取指阶段同时进行,T=(1+2n)*t
执行时间缩短,利用率提高,硬件代价大,控制复杂

  1. 二次重叠执行方式

取指令2

分析指令2

执行指令2

取指令2

分析指令2

执行指令2

取指令1

分析指令1

执行指令1

在上一条指令的分析阶段同时进行下一条指令的取指操作,T=(2+n)t
处理机同时有3条指令在执行,进一步缩短时间,复杂度提升

流水线的表示方法——时空图法

  • 横坐标表示时间
  • 纵坐标表示空间,每一个流水段

流水线的分类(多种分类标准)
使用级别划分

  1. 处理机级流水线:一条指令解释过程分成多个子过程
  2. 部件功能级:将复杂的算术逻辑运算组成流水线工作方式,如浮点加法分成求阶差,对阶,尾数相加,规格化四个子过程
  3. 处理机间级:宏流水,每处理机完成某一专门任务,结果放存储器共享给下一处理机

流水线可完成功能划分

  1. 单功能流水线:只实现一种固定的专门功能的流水线
  2. 多功能流水线:通过各段间的不同连接方式可以同时或不同时实现多种功能的流水线

同一时间内各段的连接方式划分

  1. 动态流水线:同一时间内某段正在实现某种运算,另一些段可进行另一些运算
  2. 静态流水线:同一时间内流水线各段只能按同一种功能的连接方式工作

各个功能段之间是否有反馈信号划分

  • 线性流水线:没有反馈回路,每个功能段只允许经过一次
  • 非线性流水线:存在反馈回路,某些功能段将数次通过流水线 (递归运算)

影响流水线的因素 某些相关的情况导致下一条指令无法在设计的时钟周期内完成
结构相关(资源冲突) 多条指令在同一时刻争用同一资源而形成的冲突

  • 停顿:前一指令访存时,使后一条相关指令暂停一个时钟周期
  • 指令存储器与数据存储器分开:两项操作在不同的存储器进行
  • 指令预取:适合访存周期短的指令

数据相关(数据冲突) 存在必须等前一条指令执行完才能执行后一条指令的情况

  • 后推法:硬件阻塞stall和软件插入NOP指令两种方式,相关指令暂停1到多个时钟周期
  • 数据旁路技术:设置相关专用通道直接把前一条指令ALU计算结果作为自己的输入
  • 编译优化:通过编译器对数据相关的指令进行编译优化,调整指令顺序解决冲突

控制相关(控制冲突) 流水线遇到转移指令和其他改变PC值的指令而造成断流

  • 分支预测:对转移指令进行分支预测,尽早生成转移目标,分简单(静态)预测动态预测。静态预测总是预测条件不满足而继续执行后续指令;动态预测根据执行的历史情况,进行动态预测调整,有较高的预测准确率
  • 预取两个指令:预取转移成功和不成功两个控制流方向的目标指令。加快和提前形成条件码,提高转移方向的猜准率

流水线性能指标
效率

  • 流水线的设备利用率
  • 完成n个任务占用的时空有效面积与n个任务所用的时间及k个流水段所围成的时空总面积之比

吞吐率

单位时间内流水线所完成指令或输出结果的数量

计算机考研408专用笔记-----计算机组成原理_微指令_31

加速比

完成同一批任务,不使用流水线所用时间与使用流水线所用时间之比

完成n条指令在k段流水线上共需 T=k△t+(n-1)△t

完成n条指令在等效的非流水线上共需 T=nk△t

计算机考研408专用笔记-----计算机组成原理_数据_32

5.5.3超标量和动态流水线的基本概念

超标量流水线技术

  • 每个时钟周期内可并发多条独立指令 配置多个功能部件
  • 不能调整指令的执行顺序 通过编译优化技术,把可并行执行的指令搭配起来
  • 在一个时钟周期内再分段 在一个时钟周期内一个功能部件使用多次
  • 不能调整指令的执行阶段 靠编译程序解决优化问题

超长指令字

  • 由编译程序挖掘出指令间潜在的并行性,将多条能并行操作的指令组合成一条具有多个操作码字段的超长指令字(可达几百位)
  • 采用多个处理部件

动态流水线

同一时间内某段正在实现某种运算,另一些段可进行另一些运算

静态流水线

同一时间内流水线各段只能按同一种功能的连接方式工作

计算机考研408专用笔记-----计算机组成原理_数据_33

第六章 总线

6.1总线概述

部件间需要信息交换:(CPU—-主存,CPU—I/O模块,I/O模块—-主存)

在部件之间架设通信线路,把连接各部件的通路的集合称为互连结构,分为分散结构总线结构

冯机:运算器为中心分散连接,I/O与存储器交换信息需经过运算器,严重影响CPU工作效率

现代计算机:存储器为中心分散连接,I/O与存储器交换信息可以不经过运算器,但I/O设备与主机连接灵活性差,线路多分散复杂,出现了总线连接方式

计算机考研408专用笔记-----计算机组成原理_微指令_34

6.1.1总线的基本概念

总线定义

总线时连接各个部件的信息传送线路,是各个部件分时共享的传输介质

如果多部件连接总线,两个以上部件同时发送信息,信号冲突,传输无效

分时:

一个时刻只允许一个部件向总线发送信息,多个部件只能分时的向总线发送信息,但多个部件可同时接受信息

共享:

总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组线路分时共享

计算机考研408专用笔记-----计算机组成原理_微指令_35

CPU,主存,I/O插板通过插头与水平方向总线插槽连接。

奔腾|||以上的微型计算机已将CPU芯片直接集成在主板上,插卡做成了芯片。

6.1.2总线的分类

按照总线功能划分为3类:

片内总线
芯片内部的总线,CPU芯片内部寄存器与寄存器之间,寄存器与ALU之间的公共连接线
系统总线
计算机系统内各功能部件之间相互连接的总线
通信总线
用于计算机系统之间或者计算机系统与其他系统(远程通信设备,测试设备)之间信息传送的总线,也称为外部总线

系统总线根据传输信息内容划分为三种:

数据总线
传输各功能部件之间的数据信息,双向传输,位数与机器字长,存储字长有关,各个功能部件通过总线连接形成的数据传输路径称为数据通路,表示的是数据流经的途径,数据总线是承载的媒介
地址总线
指出数据总线上的源数据或者目的数据所在的主存单元或IO端口地址,单向传输,位数与主存地址空间的大小有关
控制总线
传输控制信息,包括CPU发出的控制命令和主存(或外设)返回给CPU的反馈信号

按照总线时序控制方式划分

  • 同步总线
  • 异步总线

按照总线数据传输格式划分

  • 并行传输总线
  • 串行传输总线

按照总线使用范围划分
计算机总线,测控总线,网络通信总线

6.1.3总线的组成及性能指标(⭐)

面向CPU的双总线结构框图

计算机考研408专用笔记-----计算机组成原理_数据_36

M总线(存储总线):用于连接CPU和主存的通道

I/O总线(输入输出总线):用于建立CPU和各I/O设备之间交换信息的通道,I/O设备通过接口挂到I/O总线上,便于增删设备,I/O设备与主存交换信息时会占用CPU,影响CPU的效率

单总线结构框图

CPU,主存和I/O设备挂到一组总线上,便形成了单总线结构的计算机(细分数据,地址,控制线)

计算机考研408专用笔记-----计算机组成原理_主存_37

I/O设备与主存交换信息时原则上不影响CPU工作,CPU仍可处理不访问主存或I/O设备的操作,可提高CPU效率,若某时刻多部件需用总线会冲突,必须设置总线判优逻辑,按优先级使用。小型计算机,微型计算机多采用此结构以存储器为中心的双总线结构框图

计算机考研408专用笔记-----计算机组成原理_微指令_38

在单总线基础上又开辟出一条存储总线(CPU与主存之间的总线),存储总线速度高,只供主存与CPU之间传输信息(专道),提高了传输效率,减轻了系统总线负担,I/O设备与存储器交换信息也不需要经过CPU

带通道的双总线结构框图

计算机考研408专用笔记-----计算机组成原理_数据_39

主存,CPU速度高,I/O设备速度低,主存总线与I/O总线分开。CPU将一部分功能下放由通道对I/O统一管理完成外设和主存间传送。大,中型计算机系统多采用此结构三总线结构框图

计算机考研408专用笔记-----计算机组成原理_主存_40

DMA总线:用于高速I/O设备(磁盘,磁带)与主存之间直接交换信息。

在三总线结构中,任一时刻只能使用一种总线,主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时候才能用到。

另一形式三总线结构框图

计算机考研408专用笔记-----计算机组成原理_算法_41

局部总线:用于处理器与高速缓存或更多局部设备之间直接交换信息

扩展总线:用于连接局域网,串行接口(I/O)等,通过扩展总线接口与系统总线相连四总线结构框图

计算机考研408专用笔记-----计算机组成原理_微指令_42

优点

缺点

单总线结构

结构简单,成本低,便于扩充新设备

带宽低,负载

双总线结构

将速度较低的I/O设备从单总线上分离出来,提高系统的吞吐能力

需增加通道等硬件设备,不同I/O设备速度相差很大

三总线结构

提高I/O设备性能,使其更快地响应命令,提高系统吞吐量

系统工作效率较低

总线的性能指标

  • 传输周期(总线周期):一次总线操作所需的时间,包括申请阶段,寻址阶段,传输阶段,结束阶段,由若干个总线时钟周期构成
  • 总线的时钟周期:即机器的时钟周期,计算机统一的时钟控制各个部件(包括总线)
  • 总线的时钟频率:即机器的时钟频率,为时钟周期的倒数
  • 工作频率:总线上各种操作的频率,总线周期的倒数,一秒内传输几次数据,总线周期为N个时钟周期,则总线的工作频率=时钟频率/N
  • 总线宽度(总线位宽):总线上同时能传输的数据位数,通常指数据总线的根数
  • 总线带宽:总线本身所能达到的最高数据传输速率,即单位时间内总线上可传输数据的位数,衡量总线性能的重要指标,通常用每秒传送信息的字节数衡量,总线带宽=总线工作频率×总线宽度/8,单位B/s。
  • 总线复用:一种信号线在不同的时间传输不同的信息,较少的线传输更多的信息,节省空间和成本
  • 信号线数:地址总线,数据总线,控制总线3种总线数的总和称为信号线数
  • 总线控制方式:并发,自动,仲裁,逻辑,计数
  • 其他指标:负载能力,电源电压等

6.2总线操作和定时(⭐)

总线传输的四个阶段(总线的一次信息传送过程)

  • 申请分配阶段:由使用总线的主模块或主设备提出申请,经总线仲裁机构决定将下一个传输周期的总线使用权授予某一申请者,可细分为请求总线,总线仲裁两个阶段
  • 寻址阶段:取得使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块
  • 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传输
  • 结束阶段:主模块的有关信息从系统总线上撤除,让出总线使用权

总线定时(总线通信控制)
通信双方如何获知传输开始,传输结束的时间,如何进行协调配合?
总线在双方交换数据的过程中需要对主方,从方的操作进行有序控制必须制订定时协议进行时间上配合关系的控制,这种控制称为总线定时,也就是事件出现在总线上的时序关系。
实质是一种协议或规则,主要有同步,异步两种基本定时方式。

6.2.1同步定时方式(同步通信)

通信双方由统一时标控制数据传输称为同步通信。
时标通常有CPU的总线控制部件发出送到总线上的所有部件,也可由各个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对他们进行同步,每个部件或设备发送或接收信息都在固定的总线传输周期中,一个总线传送周期结束下一个总线传送周期开始

同步数据输入

  1. CPU在T1上升沿发地址信息,T2上升沿发读命令
  2. 输入设备执行内部操作,并在T3上升沿到来之前将数据送到数据总线上
  3. CPU在T3时钟周期内读数据到内部寄存器中
  4. CPU在T4的上升沿撤销读命令,输入设备,撤销对数据总线的驱动,不再上传数据

同步数据输出

  1. T1主模块发地址
  2. T1.5主模块提供数据
  3. T2主模块发出写命令
  4. 从模块接收到命令后,在规定的时间内将数据写入地址总线指定的单元中
  5. T4主模块撤销写命令和数据等信号

优点
传输速度快,具有较高的传输速率
总线控制逻辑简单
缺点
主从设备强制性同步,必须在限定时间完成规定要求
对于速度各不相同的设备必须按最慢速度的部件来设计公共时钟,影响工作效率
设计具有局限性,缺乏灵活性
适用场景
使用于总线长度较短,各功能模块存取时间比较接近的情况

6.2.2异步定时方式

没有公共时钟标准,不要求所有部件严格的统一操作时间,采用应答方式(握手方式):

  • 当主模块发出请求信号时,一直等待从模块反馈回来响应信号后才开始通信
  • 主从模块间增加两条应答线(握手交互信号线Handshaking)

根据请求,应答信号的撤销是否互锁分为不互锁,半互锁,全互锁三种类型

计算机考研408专用笔记-----计算机组成原理_算法_43

优点

  • 总线周期长度可变
  • 两个工作速度相差很大的部件或设备之间可靠地进行信息交换
  • 自动适应时间的配合

缺点

  • 比同步通信方式控制复杂
  • 速度比同步通信慢

6.3总线标准

总线标准是国际上公布或推荐的各个模块的互联标准,是把各种不同模块组成计算机系统时必须遵守的规范,按总线标准设计的接口可看作通用接口,接口两端任一方只需根据总线标准的要求完成自身方面的功能要求,而无需了解对方接口的要求

计算机考研408专用笔记-----计算机组成原理_数据_44

常见的总线标准有:ISA,EISA,VESA,PCI,PCI-Express,AGP,RS-232C,USB等

主要区别在于总线宽度,带宽,时钟频率,寻址能力,是否支持突发传送等

6.3.1ISA总线

industry Standard Architecture工业标准体系结构总线,最早出现的微型计算机总线标准IBM公司1984年推出PC/AT机而建立的系统总线标准,也叫AT总线
主要特点

  1. 使用独立于CPU的总线时钟,频率为8MHz,共有98根信号线
  2. 数据线和地址线分离,数据线16位,地址线24位,最大数据传输率为16MB/s
  3. 不支持多台主设备系统,ISA上的所有数据传送必须通过CPU或DMA接口来管理
  4. 支持64K I/O地址空间,16M主存地址空间的寻址,支持15级硬中断,7级DMA通道
  5. 支持8种总线事务类型:存储器读,存储器写,I/O读,I/O写,中断响应,DMA响应,存储器刷新,总线仲裁

6.3.2EISA总线

Extended Industrial Standard Architecture扩展的ISA总线
在ISA总线基础扩充开放的总线标准,为配合32位CPU而设计

主要特点

  1. 完全兼容ISA标准
  2. 从CPU分离出总线控制权,是一种具有智能化的总线
  3. 支持多总线主控和突发方式(总线上可进行成块的数据传送)
  4. 总线时钟频率为8.33MHz,在ISA总线基础上扩充了100根信号线,共198根信号线
  5. 数据线32位,地址线32位,最大数据传输率为33MB/s,寻址范围4G

6.3.3VESA总线

由Video Electronic Standard Association视频电子标准协会提出的局部总线标准,又称VL-BUS(Video Local-BUS)
局部总线(local-BUS):指在系统外为两个以上模块提供的高速传输信息通道

主要特点

  • VL-BUS由CPU总线演化而来,采用CPU时钟频率33MHz,数据线32位可扩展到64位,配有局部控制器,最大传输率133MB/s
  • 通过局部总线控制器将高速I/O设备直接挂在CPU上,实现CPU与高速I/O设备之间的高速数据交换
  • 针对多媒体PC要求高速传送大量活动图像数据的场景

6.3.4PCI总线

Peripheral Component Interconnect外围部件互连总线
Intel公司于1991年底提出PCI总线概念,并联合IBM,Compaq,Apple等成立PCI集团PCISIG(PCI Special Interest Group PCI专门权益组织),已成为现代计算机最常用的总线之一

主要特点

  • 高性能:不依附于某个具体处理器的局部总线,采用33MHz和66MHz总线时钟,数据线32位可扩充到64位,传输速率132MB/s~528MB/s,支持无限突发传输
  • 良好的兼容性:总线部件和插件接口相对处理器是独立的,支持所有目前的和将来不同结构的处理器,可兼容ISA,EISA,也可转换为标准的ISA,EISA
  • 支持即插即用(Plug and Play):任何扩展卡只要插入系统即可工作,PCI设备配有存放设备具体信息的寄存器,可供BIOS和操作系统层的软件自动配置PCI总线部件和插件
  • 支持多主设备能力:允许主设备和从设备之间实现点对点对等存取,接纳设备高度灵活
  • 具有与处理器和存储器子系统完全并行操作的能力:PCI总线为CPU与外设之间的一个中间层,通过PCI桥路(PCI控制器)与CPU相连,PCI桥路多级缓冲
  • 提供数据与地址奇偶校验功能:保证数据的完整和准确性
  • 支持两种电压标准:5V和3.3V(便携式微型计算机)
  • 可扩充性好:可采用多层结构扩充PCI总线驱动能力
  • 软件兼容性好:完全兼容现有的驱动程序和应用程序,设备驱动程序可被移植到各类平台
  • 采用多路复用技术:减少总线引脚个数
  • 常用的PCI适配器有显卡,声卡,网卡等

6.3.5PCI-Express总线

Peripheral Component Interconnect Express (PCI-E)
随着网络发展以及其他周边设备的技术革新,诸如千兆网卡等设备对PCI总线提出了更高的要求
Intel公司近年来推出了PCI-Express总线
采用类似网络传输TCP/IP协议的分层结构和数据帧逐层传递的模式
是最新的总线和接口标准,将全面取代现行的PCI和AGP,最终实现总线标准的统一

6.3.6AGP总线

随着多媒体计算机的普及,对三维技术的应用越来越广泛:640✖480像素的分辨率,每秒75次画面更新率,要求数据带宽达370MB/s;800✖600分辨率,带宽达580MB/s
Intel 1996年推出Accelerated Graphics Port加速图形接口,显卡专用局部总线
主要特点

  • 基于PCI2.1版本进行扩充修改而成,采用点对点通道方式,以66.7MHz的频率与主存联系,以主存作为帧缓冲器,实现了高速存取,数据带宽32位,最大数据传输率为266MB/s
  • 双激励(Double Pumping)传输技术:在一个时钟的上,下沿双向传递数据,传输频率达133MHz,最大数据传输率533MB/s,后来推出AGP2X,AGP4X,AGP8X多个版本,数据传输速率达2.1GB/s
  • AGP技术为传输视频,三维图形数据提供了切实可行的解决方案

6.3.7RS-232C总线

6.3.8USB总线

第七章 输入输出(IO)系统 1

第七章 输入输出(IO)系统 2

原文链接:https://blog.51cto.com/u_15291838/5948324

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享