计算机组成与结构
Computer Organization
and Architecture
顾 浩 赵宝华
一.我系的三个专业的介绍
共同点:三个专业都是以计算机和信息技术为支撑,其中计算机是现代化的信息处理工具。
1.本科专业:信息管理与信息系统(110102)是管理学科大类管理科学与工程下的一个二级学科专业。
专科:经济信息管理与计算机应用
2.本科专业:计算机科学与技术(0812),是工科类电气信息下一个二级学科专业.
专科:计算机技术与应用
3.电子商务(专科)
二、关于本课程
1.性质:核心的专业基础课.
2.内容:以计算机系统结构为主线,以计算机原理为重点. 通过本课程的教学,使学生掌握计算机系统的组织和结构;计算机的基本工作原理。计算机各部分的组成、原理、新技术和新方法;进一步培养学生的逻辑思维和推理能力;启迪学生的创新意识;锻炼学生的动手能力,促使学生全面素质的提高。
3.特点:
知识面广,内容多,更新快且难度较大。
三、对计算机组成与结构的解释
1.组成:是指计算机硬件的具体实现,涉及硬件部件的构造及如何把它们连接在一起,组成一个计算机系统.是硬件设计人员所关心的问题.
2.结构:是指计算机体系结构,可定义为系统程序员所见到的计算机的硬件特性,如指令系统及其格式,程序可访问的寄存器,数据类型及格式等.
计算机结构是计算机硬件与软件的接口(I/F),同一个计算机系统结构可用不同的计算机组成来实现.
3.两者的关系
(1)计算机组成涉及硬件结构,包括硬件部件的构造和如何连接这些部件组成一个计算机系统.例有三台计算机:
无CACHE
有L1无L2 组成不同,但系统结构可能同
有L1和L2
关于cache
Cache高速缓冲存储器,它在高速的CPU与慢速的RAM(主存MM)起缓冲的作用。它先将主存MM中的一部分内容复制到CACHE中,CPU在读写数据时,先访问CACHE.
CPU
CACHE
L1
CACHE
L2
MM
(主存)
AM
(外存)
(2)系统结构:
是指从程序员角度所看到的计算机系统的属性,即概念性的结构与功能特性,大都是抽象的.如两台机器的组成不同而系统体系结构同,那么在第一台上编译后目标程序拿到第二台上能运行,但运行时间可能不同(例PⅢ和K7).
(3)总结:
①只知结构,不知其组成,可能选不好性价比最合适的计算机.
②一种机器的体系结构可能维持多年,但其组成随计算机技术不断变化.保持结构不变可使用户减少软件投资.
三.学习方法
(1)课堂教学:从学会 会学,学思路.
(2)认真做习题(含实验):会做.
(3)找参考资料:会找,会看.
(4)密切注意计算机发展动态:多听,多看
四.本课程与先导课,后续课的关系:
数字逻辑电路
汇编语言 本课程 OS 网络
计算机文化基础
本课程在计算机专业教学中的地位
数字逻辑
C语言程序设计
计算机组成
原理
数据结构
操作系统
数据库原理及应用
软件工程
微机接口技术
计算机网络
计算机系统结构
计算机组成原理课在计算机专业教学中
处于核心地址
具有专业基础和专业课双重性质
本课程的教学内容跨越专
业基础和专业课两个层次.
因此, 它具有专业基础和
专业课双重性质.
基础课
计
算
机
组
成
原
理
专业基础课
专业课
本课程在计算机专业层次结构中的位置
章节目录
第一章计算机系统结构概述
第二章存储系统
第三章 输入输出及其控制
第四章总线系统
第五章处理器
第六章 计算机系统的发展
第一章 计算机系统结构概述
本章重点:
1.开关逻辑—元件级的计算机结构
2.功能模块级的计算机组成
3.指令系统级的CPU界面
4.操作系统级的计算机系统界面
5.计算机系统评价与发展
返回
第一章 计算机系统结构概述
本章思路: 分4个层次讲
从元器件级 功能模块级 指令系统级 操作系统级
元器件级计算机结构——开关逻辑
数据的开关表示
开关的二个状态 用符号“0”和“1”表示
1.数值数据的0,1编码
数值数据:是表示数量多少, 数值大小的数据.
两个概念:数值范围—能表示的最大与最小值
数值精度—用实数表示的有效数字位数
元器件级计算机结构
——开关逻辑
十进制记数法—“逢十进一”
●采用0,1,2,3,……9这十个符号表示数字。
●十进制的位权是10的幂, 即
10i, 10i-1,…102 103,102 ,101 ,100,10-1,10-2,10-3 ,…
处于不同位置的数符代表的值不同,与所在位置的权值有关.位权是位置本身具有的数量级别。
二进制记数法—“逢二进一”
●采用0,1这两个符号表示数字。
●二进制的位权是2的幂, 即
2i, 2i-1,…22, 23, 22 , 21 , 20, 2-1, 2-2, 2-3 ,…
(1)二—十(B D)进制转换(略)
(2)整数十-二进制转换(略) 自学
(3)小数十-二进制转换(略)
2.二进制运算法则
(1)加法法则:“逢二进一”.
(2)减法法则:“借1当2”,即从高位借1,当2用.
(3)乘法法则:移位(左)+加法
特点是乘数的每位只有二种可能:0和1.
当乘数位=1,被乘数本身
当乘数位=0, 为0
当乘数位=1, 加被乘数
当乘数位=0, 加0
(4)除法法则:移位(右)+减法
结论:完成四则运算,只需具有双向移位功能的加法器.
3.八进制、十六进制和二-十进制
(1)八进制(octal)和十六进制(hexadecimal)
●八进制:0,1,2,3,4,5,6,7 逢八进一
●十六进制:0,1,….,9,A,B,C,D,E,F逢十六进一
四种数制的对照表
十进制 二进制 八进制 十六进制 十进制 二进制 八进制 十六进制
(D) (B) (Q) (H) (D) (B) (Q) (H)
0 0 0 0 8 1000 10 8
1 1 1 1 9 1001 11 9
2 10 2 2 10 1010 12 A
3 11 3 3 11 1011 13 B
4 100 4 4 12 1100 14 C
5 101 5 5 13 1101 15 D
6 110 6 6 14 1110 16 E
7 111 7 7 15 1111 17 F
3.八进制、十六进制和二-十进制
●分组及转换方法:从小数点起, 将二进制数向二侧分别以每3位一组(最高或最低位不足3位,以0补足)或4位一组(最高或最低位不足4位,以0补足),每一组就是一个八进制或十六进制数.
例:10110 =? H
00010110
(2)二-十进制码(BCD-Binary Coded Decmal)
又称二进制编码的十进制.用于二-十进制转换.
●定义:用4位二进制码表示一位十进制码.最简单的是8-4-2-1码.也叫压缩(或组合)的BCD码.
1 6 E . F
补零
BCD码
8,4,2,1为每位的权(weight)
【例 】 3579D=?BCD码
3 5 7 9 0011010101111001BCD
0011 0101 0111 1001
●BCD码的运算规则:
8-4-2-1的BCD码只用0-15中的前10种状态0-9,后6种是非法码.所以,当和超过9时,要作+6修正操作.
例:4+9=13 0100 上述的15和9,实际是两者之差6.
+1001
二进制的13 1101
+6修正 +0110
二进制的13 10011
1 3
两种格式的BCD码
●压缩(组合)与非压缩(非组合)的BCD码
压缩(组合)BCD码:
用8位二进制码表示2位十进制码.
例89D 1000 1001BCD,只占1个字节.
非压缩(非组合)BCD码:
用8位二进制码表示2位十进制码.高4位无意义.
例89D 00001000 00001001BCD,占2个字节.
4.机器数
(1)机器数及真值:
符号数, 用其最左边一位MSB(Most Significant Bit)表示数的正负.
MSB=0,表示正数,如+1011,表示01011
MSB=1,表示负数,如-1011,表示11011
带符号位的数又叫原码,即:[X]原=符号位+|X|
●机器数:即数在机器内的表示形式,是符号也被数值化的数.
例01011和11011分别是+1011和-1011的机器数.
●真值:是数值数据代表的实际值,即用±表示符号,再加上数的绝对值.
即符号被编码了
01011 真值+1011
11011 真值-1011
无符号数与符号数
(2)无符号数:即没有符号的数,同字长的无符号数表示的最大值可比符号数大一倍.
无符号数Nmax=1111=15
符号数 Nmax =0111=7
(3)用1位符号位(0,1)表示正负,给运算带来的问题
●正,正相加:符号位0+0=0,仍为正,不影响结果.
●正,负相加:0+1=1,不一定对,要看哪个绝对值大,和的符号位由大数定.
●负,负相加:1+1=10,和的符号与实际值不符.
(4)结论:用上述方法表示符号数,负数的符号位不能与数值部分一起参加运算,为解决机器内负数的符号位参与运算的问题,要引入补码与反码.
当字长为4位时
(1)反码
反码:[X]反=[X]原 , X 0
[X]反=X符. Xn Xn-1…. X1 X0 , X <0
反码运算要注意以下三个问题:
(1)符号位与数值位一起参加运算.
(2)符号位相加后,如有进位,则要把它送到最低位去相加,叫循环进位.
(3)运算性质:[X]反+[Y]反= [X+Y]反; [ [X]反]反=[X]原
【例 】已知X=- ,Y=- ,求X+Y
解 :[X]反=
+[Y]反=
+循环进位 1
[X+Y]反= 机器数 X+Y= 真值
求反码的规则是符号位数值化
数值位逐位变反
例X [X]原 [X]反
+1101 01101 01101
-1101 11101 10010
取反
(2)补码
补码:[X]补= [X]原, X 0
[X]补= [X]反+1(末位), X<0
手摇计算机的齿轮数字轮如图所示.
0
5
2 3
1
4
6
7
8
9
观察孔
手摇计算机齿轮
如做加法,5+3=?,只需把5转到观察
孔位置,再顺时钟转3格,从观察孔
看到和8.如要算8-4=?,有二种方法:
将8逆时钟转动4格,结果为4
从8顺时钟转动6格,结果也为4.
实际是8+6=14,但“1”是进位,齿轮
只有10格,进位自动丢失.
分析:减4与加6等价,6是-4对10的补码
数学表示式:8-4=8+6 mod 10
(2)补码
同理,79-38=41 79+(100-38)=141,即62是-38对模100的补码.这里100叫模数,简称模.
●补码的定义:
对任一个数X的补码,等于该数加上其模数,模数m为正整数
当X>0, [X]补=m+x=x (mod m)
当X<0, [X]补=m+x=m-|x| (mod m)
例:X1=+110, X2=-110,n=4(含符号位)
解: n=4,m=24=10000
[X1]补=m+x=10000+110=0110
[X2]补=m+x=10000-110=1010
62
(2)补码
●纯小数的补码:
在计算机中,纯小数常用补码表示.即:
[X]原, 0X<1
2+X, -1X0
例:X= , 求[X]补
解: [X]补 = 2+X==
●补码的简单求法
正数:[X]补 = [X]原
负数:[X]补 =XS. Xn-1. Xn-2. ... X0+ ….1,即数值位逐位变反,未位加1.
●性质:[ [X]反]反= [X]原 , [ [X]补]补= [X]原
[X]补 =
(mod2)
原码、补码性质的举例
X [X]原 [X]反 [X]补 [ [X]反]反 [ [X]补]补
+1101 01101 01101 01101 01101 01101
-1101 11101 10010 10011 11101 11101
从上例可见,不论对正数还是负数,反码和补码有相似性质
[ [X]反]反= [X]原
[ [X]补]补= [X]原
[ [X]反]反
X [X]原 [X]反 [X]补 [ [X]补]反 [ [X]补]补
+1101 01101 01101 01101 01101 01101
-1101 11101 10010 10011 11100 11101
取反
加1
变反
变反
加1
变反
加1
(2)补码
补码运算要注意以下三个问题:
(1)符号位与数值位一起参加运算.
(2)如有进位出现,舍去不要.
(3)运算性质:[X]补+[Y]补= [X+Y]补
【例 】已知X=,Y=,求X+Y
解: :[X]补=
+ [Y]补=
[X+Y]反= X+Y= 真值
舍去不要
结论:采用反、补码可基本解决负数在机器内部数值位连
同符号位一起参加运算的问题。
求补码的规则是符号位数值化
数值位逐位变反,未位加1
(3)移码
移码:是在补码的最高位加1,又叫增码,一般用于整数.
●定义:在补码最高位加1, 即[X]移=2n+X, - 2n X< 2n
例 真值 补码 移码
+3 0011 1011
0 0000 1000 补码与移码的符号位相反
-3 1101 0101 数值位相同
【例 】几个典型数的原、反、补码的表示(字长为8位)
结论:1.原码的表示范围为+127~-127,补码为+127~-128,两者差1. 因负数的补码是在反码上加1的原因.
2.原, 反码有+0和-0之分,使用不便.
3.只有移码可直接比较大小.
5.机器数的浮点与定点表示
(1)机器数的浮点表示法(Floating point)
十进制数N1==*101=*102
二进制数N2==*2-1= *21
式中,E为数N的阶码(exponent)
M为尾数,是数N的有效数字(mantissa)
当E变化时,数N的尾数M中的小数点位置也随之向左或向右浮动,称数的浮点表示法.
阶符 阶码 数符 尾 数
N=
Ef
E
S
M
注意:E为整数
M为纯小数
5.机器数的浮点与定点表示
IEEE754标准
31 30 8 23 22 23 0
S:尾数符号位
M:尾数,23位,用纯小数,其绝对值,称规格化数
E:阶码,8位,其中阶符用隐含方式,即用移码表示正,负指数
浮点数运算规则:
(1)加减:先对阶(使两者阶码相同),再尾数+.-
(2)乘除:阶码+(乘) 尾数乘
阶码-(除) 尾数除
S
E
M
S=0,正
S=1,负
5.机器数的浮点与定点表示
举例:
符号 偏移的阶码 有效值
0 00000111+
01111111=
10000110 隐含
短实数
表示
×2111
二进制浮点表示
二进制数
十进制数
数 值
实数表示
(2)机器数的定点表示法
●定点表示法:
定点数是小数点固定在某一位置的数.可看成所有的数都采用同样的阶码aj( 如 j=0, a0=1 ), aj可略去不表示,也叫比例因子.因此,定点数可简化为: Sf (数符)和S(尾数)
理论上讲,比例因子可任意选择,但一般把尾数表示成纯小数.比例因子的选择有以下要求:
●比例因子的选择:
不能太大:会丢失有效数字,影响运算精度.
当比例因子为21时,S=
当比例因子为22时,S=,损失1位
当比例因子为23时,S=,损失2位
不能太小:可能使数超过机器允许的范围.
如:0111+0101=1100,正数相加,变成了负数.
若数N=
浮点数与定点数的比较
(1)当字长一定时,浮点表示的数值范围比定点大,且阶码部分占的位数越多,表示数的范围越大.
举例:8位机(含符号位) 阶码 尾数
定点: Sf .XXXXXXX 浮点: Sf J fXX XXXX
定点:~ 0~127/128小
浮点:2-11*~ 211 * 1/128~ 大
(2)浮点数运算分阶码和尾数两部分,步骤复杂,速度较慢.
(3)浮点数判溢出比定点容易,只要判断规格化尾数的阶码,而定点数要判数值本身.
(4)高档微机同时用定、浮点,单片机中多采用定点.
3.浮点运算协处理器
(1)在8/16位微处理器中,配置专用于浮点数运算的协处理器 (co-processor).
8088/8086+8087 80286+80287
80386+80287(80387) 80487以上都内置协处理器
(2)80287可处理7种不同类型的存储器操作数
字符:16位 长实数:64位
短整数:32位 临时实数:80位
长整数:64位 (*10-4932~*104932 )
压缩十进制数:80位 短实数:32位
(3)协处理器本身不能独立使用,要配合主CPU用.
6.非数值数据编码
数值数据:是表示数量多少,数值大小的数据.
非数值数据:指不能进行算术运算的数据,如字符,汉字,声音等.
(1) ASCII (American Standard Code for Information Interchange)字符编码
1.字符数: 128
英文字母(52)+专用符号(34) +十进制数(10)+控制字符(32)
位数——基本代码位7位+1位校验位
所有小型和微型计算机都用ASCII码.
EBCDIC(Extended Binary Coded Decimal Interchange Code—扩充二-十进制交换代码)是8位码,共256个,主要用于IBM公司的系列计算机.
补充:汉字编码
计算机能否处理汉字是能否在我国推广计算机应用的关键.
1981年我国公布“通信用汉字字符集及交换码标准GB2312-80”: 一级汉字: 3775
规定7445个字符 二级汉字: 3008
西文字母,数字,图形符号:682
大汉字集ISO/IEC 10646 中,日,韩汉字,共20902个.
1.汉字输入的4种方法
(1)整字大键盘输入:用于中文打字机, 不用.
(2)手写输入:书写板
(3)语音输入:正在研究开发.
(4)小键盘输入:用标准英文键盘输入,共2000多种方法.常用的有:
拼音输入码:如全拼,双拼等.
字形编码:五笔字型等.
音形编码:以字音属性为让,字形属性为辅.
数字编码:如区位码,电报码等.
6763
补充:汉字编码
2.汉字内码:是用于汉字信息的存储,交换,检索等操作的机内代码.以GB2312-80编码(又叫国标码)为好,其特点是:
(1)占2个字节,其最高位都是“1”.
例:“啊”的国标码是3021H,其内码是3021H +8080H=B0A1H
3.汉字交换码:用于实现不同汉字内码间系统间的汉字信息转换.主要有:
(1)国标码: GB2312-80编码,又叫国标码,规定:
1个汉字用2个字节组成,其高位是0.如:“啊”的国标码是3021H,即低字节00110000,高字节00100001.
(2)区位码:是数字编码,无重码.把GB2312-80全部字符集组成94*94方阵,每1行称1个区,编号从01-94,区号在前
每1列称1个位,编号从01-94,位号在后
每个汉字1个区号,1个位号,均用10进制表示,“啊”的区位码是1601
补充:汉字编码
(3) 区位码与国标码的关系
把区位码的区号,位号变成十六进制数,再分别加上(20)16.
例:“粗”的区位码是2054,求其国标码.
解: 区号——(20)10= (14)16, (14)16+ (20)16= (34)16
位号——(54)10= (36)16 (36)16+ (20)16= (56)16
4.汉字输出码:
汉字输出通常使用点阵表示的字模码.一个汉字有多种字体、字形,用不同的字模码表示.不同的字体有不同的字库.
内码 字库地址 选字体 字模码
汉字字库:点阵字库,矢量字库.
输入设备 代码转换软件 加汉字标识 字模库 输出设备
区位,国标码 双1码
—国标码为3456H
汉字
输入码
汉字
交换码
汉字
内码
汉字
字形库
汉字
汉字
2字节
7.数据传输中的差错检验
(1)干扰成因:
脉冲噪音,串音,传输质量等原因 出错
提高硬件质量
采用抗干扰码
(2)抗干扰码的思路
按一定规律在有用信息上附加冗余信息(编码)
K(信息位)+r(校验码)=n(抗干扰码字)
(3)检错码:能自动发现差错的码.
(4)纠错码:不仅能检错,也能纠错的码.
(5)编码原则:在不增加硬件开销情况下,用最小的校检码组,发现,纠正更多的错.
形成,存取,传送
改错
检错
纠错
线路
奇偶校验码—parity check code
奇偶校验码是最简单的校验码.
(1)原理:以字符为单位进行分组.
若信息位为7位,C7C6C5C4C3C2C1C0(可在最高或最低位)
偶校验(Even Parity):
满足C7C6 C5 C4 C3 C2 C1 C0=0时,为合法码
奇校验(Odd Parity): 注: 为模2加法
满足C7C6 C5 C4 C3 C2 C1 C0=1时,为合法码
校验方程: Ci C0=0 偶校; Ci C0=1 奇校
校验效果:只能检验奇数个错,不能检测偶数个错.
n
i=1
n
i=1
2)汉明码
由Richard Hanming于1950年提出的一种纠错码.其指导思想是,在被校验的数据中,增加几位校验位,当某一数据位出错时,引起几位校验位的值改变,不同代码位出错,得到不同的校验结果(即非法编码).这样,不仅可发现错误,还能知道错误的位置,进而达到纠正错误的目的.
(1)码距:即一编码系统中,两个任意合法码之间的最少二进制位数的差异.ASCII的码距为1,奇偶校验码的码距为2,它能检测代码中的1位错.
(2)码距公式: L-1=D+C
式中L为码距, D是可检测的错误位数,C为可纠正的错误位数.若能在数据码中增加几个校验位,将数据代码的码距均匀拉开,把每一二进制位分配在几个奇偶校验组中,当某位出错后,会引起几个校验位的值的变化,这样不仅能查错还能纠错.
2)汉明码
(3)有效信息位与校验位的关系
校验的位数与有效信息位的位数有关.若被校数据是k位,校验位是r位,校验位共有2r个状态. 2r个状态中,应有k个状态表示k个数据位中是哪位出错;考虑到校验位本身也可能出错,因此有r个状态分别表示不同校验位出错,另外还有一个状态表示被校数据位和校验位都不出错.因此,为查出每位错,必须满足 2r k+r+1
例:r=3时, 23 k+3+1,即8k+ 4,k最大为4;
r=4时, 24 k+4+1,即16k+ 5,k最大为11;最小为5.
r=5, 25k+5+1,即32k+ 6,k最大为22;最小为6.
结论:当被校数据为8位时,r取4;被校数据为16位时,r取5.
(4)编码规则
若被校数据为 D8D7 D6D5D4D3D2D1 ,校验位取4位P1P2P3P4,形成汉明码H12H11H10H9H8H7H6H5H4H3H2H1
2)汉明码
(1)校验位的分布(规则1): H12H11H10H9H8H7H6H5H4H3H2H1
规定校验位Pi 放在汉明位号为2i-1的位置上.因此
P1的汉明位号为21-1= 20=1,即H1为P1;
P2的汉明位号为22-1= 21=2,即H2为P2;
P3的汉明位号为23-1= 22=4,即H4为P3;
P4的汉明位号为24-1= 23=8,即H8为P4;
(2)数据位的分布
数据位按原顺序,插空排列.如,
H12H11H10H9H8H7H6H5H4H3H2H1
D8 D7 D6 D5 P4 D4D3D2 P3 D1 P2 P1
(3)校验关系(规则2):每个数据位用几个校验位进行校验,但要满足被校数据位的汉明位号等于校验该数据位的各校验位汉明位号之和,另外校验位不需再被校验.
P4 P3 P2 P1
2)汉明码
各数据位与校验位的关系:
D1放在H3上,由P2 P1校验, 满足3=2+1
D2放在H5上,由P3P1校验, 满足5=4+1(P3的汉明位号是4)
D3放在H6上,由P3P2校验, 满足6=4+2
D4放在H7上,由P3 P2 P1校验, 满足7=4+2+1
D5放在H9上,由P4P1校验, 满足9=8+1
D6放在H10上,由P4P2校验, 满足10=8+2
D7放在H11上,由P4P2P1校验, 满足11=8+2+1
D8放在H12上,由P4P3校验, 满足12=8+4
注意:上述安排的目的是为了希望校验的结果能正确反映出错位的位号.
H12H11H10H9H8H7H6H5H4H3H2H1
D8 D7 D6 D5 P4 D4D3D2 P3 D1 P2 P1
2)汉明码
汉明码 下 标 校验组位 关系P4P3P2P1
H1(P1) 1 P1 0001
H2(P2) 2 P2 0010
H3(D1) 3=1+2 P1 、P2 0011
H4(P3) 4 P3 0100
H5(D2) 5=1+4 P1 、P3 0101
H6(D3) 6=2+4 P2 、P3 0110
H7(D4) 7=1+2+4 P1 , P2 ,P3 0111
H8(P4) 8=8 P4 1000
H9(D5) 9= 1+8 P1 , P4 1001
H10(D6) 10=2+8 P2, P4 1010
H11(D7) 11=1+2+8 P1 ,P2, P4 1011
H12(D8) 12=4+8 P3, P4 1100
以P1 为例,与P1 有关的有数据位D1 , D2 , D4 , D5 , D7,所以写成
P1= D1⊕D2⊕D4⊕D5⊕D7,同理P2= D1⊕D3⊕ D4 ⊕D6⊕D7
对应
2)汉明码
(4)确定校验位的取值
若用偶校验可得到各位校验位之值
P1:D1,D2,D4,D5,D7 → P1= D1⊕D2⊕D4⊕D5⊕D7
P2:D1,D3,D4,D6,D7 P2= D1⊕D3⊕D4⊕D6⊕D7
P3 :D2,D3, D4,D8 → P3= D2⊕D3⊕D4⊕D8
P4 :D5,D6, D7,D8 → P4= D5⊕D6⊕D7⊕D8
若数据D=10100110(D8—D1)
P1= D1⊕D2⊕D4⊕D5⊕D7=0⊕1⊕0⊕0⊕0=1
P2= D1⊕D3⊕D4⊕D6⊕D7=0⊕1⊕0⊕1⊕0=0
P3= D2⊕D3⊕D4⊕D8=1⊕1⊕0⊕1=1
P4= D5⊕D6⊕D7⊕D8=0⊕1⊕0⊕1=0
(5)汉明校验值
C1= P1⊕D1⊕D2⊕D4⊕D5⊕D7=1⊕1=0
C2= P2⊕D1⊕D3⊕D4⊕D6⊕D7=0⊕0=0
C3= P3⊕D2⊕D3⊕D4⊕D8=1⊕1=0
C4= P4⊕D5⊕D6⊕D7⊕D8=0⊕0=0
H12H11H10H9H8H7H6H5H4H3H2H1
D8 D7 D6 D5 P4 D4D3D2 P3 D1 P2 P1
2 )汉明码
3.校验结论:
(1)若汉明校验值为全0,即C4C3C2C1=0000,表示数据传送无错.
(2)若汉明校验值1位出错,就是校验位出错.
当C4C3C2C1=0001, H1出错,即校验位P1出错;
当C4C3C2C1=0010, H2出错,即校验位P2出错;
当C4C3C2C1=0100, H4出错,即校验位P3出错;
当C4C3C2C1=1000, H8错;即校验位P4出错
(3)若汉明校验值中有2位或2位以上出错,则是被校验数据位出错. C4C3C2C1的编码就是出错位的汉明位号.
C4C3C2C1=0011(汉明位号3), H3出错,即数据位D1出错;
C4C3C2C1=0101 (汉明位号5), H5出错,即数据位D2出错;
C4C3C2C1=0110 (汉明位号6), H6出错,即数据位D3出错;
C4C3C2C1=0111 (汉明位号7), H7出错,即数据位D4出错;
C4C3C2C1=1001 (汉明位号9), H9出错,即数据位D5出错;
C4C3C2C1=1010 (汉明位号10), H10出错,即数据位D6出错;
C4C3C2C1=1011 (汉明位号11), H11出错,即数据位D7出错;
C4C3C2C1=1100 (汉明位号12), H12出错,即数据位D8出错;
注意:当确切
知道某位出
错时,只要将
该数据位变
反即可纠正
错误.所以海
明码能纠正
1位错.
2)汉明码
举例:8位数据为10100110,若D8位出错,求C4C3C2C1=?
解:若数据D=10100110(D8—D0)
P1= D1⊕D2⊕D4⊕D5⊕D7=0⊕1⊕0⊕0⊕0=1
P2= D1⊕D3⊕D4⊕D6⊕D7=0⊕1⊕0⊕1⊕0=0
P3= D2⊕D3⊕D4⊕D8=1⊕1⊕0⊕1=1
P4= D5⊕D6⊕D7⊕D8=0⊕1⊕0⊕1=0
汉明码为H12H11H10H9H8H7H6H5H4H3H2H1
D8D7 D6 D5 P4D4 D3D2P3 D1 P2P1
1 0 1 0 0 0 1 1 1 0 0 1
C1= P1⊕D1⊕D2⊕D4⊕D5⊕D7=1⊕1=0
C2= P2⊕D1⊕D3⊕D4⊕D6⊕D7=0⊕0=0
C3= P3⊕D2⊕D3⊕D4⊕D8=1⊕1=0
C4= P4⊕D5⊕D6⊕D7⊕D8=0⊕0=0
D8
D1
若D8从1 → 0,
C1=1 ⊕0⊕1⊕0⊕0 ⊕0 =0
C2 =0
C1=1⊕1⊕1⊕0⊕0 =1(原为0)
C4=0⊕0⊕1⊕0⊕0 =1(原为0)
C4C3C2C1=1100,说明D8位出错
即译码线1100为1,用“异或”电
路, D8= 0⊕1=1,从 01,纠正过来.
=1
D8=0
1100=‘1’
1
3)循环冗余校验(CRC)
——Cyclic Redundancy Check
CRC码是一种能力很强的检错,纠错码,因其编码和译码电路简单,常用于串行传送的辅存与主机的数据通信和计算机网络中.CRC码又叫多项式码,因它是通过某种数学运算实现有效信息与校验位间的循环校验而得名.
(1)编码步骤:
●编码:将待编码的n位信息码组Cn-1 Cn -2….Ci …..C2C1C0表达为n-1阶的多项式M(X)
M(X)= Cn-1 Xn-1+ Cn-2 Xn-2+….+ Ci Xi+….+ C1 X1+ C0 X0
●将信息码组左移k位,变成M(X).Xk ,即成n+k位的信息组
Cn-1+k .Cn-2+k ….Ci +k…. C1+k Ck00…00 k位
●用k+1位预先选定的生成多项式G(X)对M(X).Xk 作模2除法,得到一商Q(X)和余数R(X),
即M(X). Xk =Q(X).G(X)+R(X)
注:G(X)是K+1位
3)循环冗余校验(CRC)
——Cyclic Redundancy Check
模2运算:按位进行,不考虑进位和借位.
规则:00=0, 01=1, 10=1, 11=0
模2除法:当部分余数首位为1时,商取1
规则 当部分余数首位为0时,商取0
当部分余数位数小于除数位数时,即为最后余数
●将左移k位的待编码有效信息与余数作模2加,形成CRC
例:求4位有效信息1100的CRC码,选G(X)=1011(k=3)
解:(X)= X3+ X2+ X1+ X0=1100
(X). X3= X6+ X5=1100000(因K=3,即加3个0)
3.模2除: M(X). Xk / G(X)=1100000/1011=1110+010/1011
4.模2加:得CRC码=M(X). X3+R(x)=110000+010=1100010
1 1 0 0
1110
1011 1100000
1011
1110
1011
1010
1011
010
3)循环冗余校验(CRC)
——纠错原理
(2)纠错原理:
因M(X).Xk =Q(X).G(X)+R(X),根据模2加法规则
M(X).Xk +R(X)=Q(X).G(X)+R(X)+R(X)=Q(X).G(X)
所以,合法的CRC码应能被生成多项式G(X)整除,若不能被整除,说明信息位有错.出错时,余数与出错位有对应关系.从而可确定出错位置位置.见表.
(3)关于生成多项式G(X)
不是任一个多项式都能作生成多项式,应满足:
(1)任一位发生错误, 应使余数不为0.
(2)不同位出错, 应使余数不同.
(3)对余数继续作模2运算, 应使余数循环.
生成多项式的选择主要靠经验,P14列举了三种标准的G(X).
=0
逻辑运算的开关电路
1.用开关实现门电路
逻辑运算的对象是逻辑数. 1-真(是)
逻辑数:是指不带符号的二进制数. 0-假(否)
逻辑代数:是以代数形式对逻辑变量和逻辑函数进行描述,分析和运算的数学工具,又称布尔代数.
逻辑变量:T、F或Y、N即把二进制码的二种可能值“1”或“0”赋于逻辑属性.
逻辑运算:最基本的是“与”(AND),“或”(OR) “非”(NOT).
(1)“与”逻辑和“与”门
●定义:X=A and B(或A∧B)
逻辑运算的开关电路
●逻辑”与”的真值表
A B X=A×B 真值表:由自变量的各种取值组合与
0 0 0 函数值之间对应关系的表格.函数取
0 1 0 值为”1”的项数,表明函数多项式中的
1 0 0 项数.
1 1 1 “与”的运算多项式只含1项, 反映了
X==A×B,也称”逻辑乘”.
●规则:1∧1=1, 1∧0=0, 0∧0=0
●“与”门:是实现“与”逻辑功能的电路.
&
A
B
X
逻辑运算的开关电路
(2)“或”逻辑和“或”门
●定义:X=AorB(或AVB)
●规则:1∨1=1,1∨0=1,0∨1=1,0∨0=0
因与加法相似,也叫逻辑加,记为X=A+B
●“或”门:是实现“或”逻辑功能的电路.
(3)“非”逻辑和“非”门
●定义:X= not A
●规则:not1=0, not0=1
“非”逻辑又叫逻辑反.可写成X=A
●“非”门:是实现“非”逻辑功能的电路.
A
B
X
1
A
。X
A
+5V
X
(4)组合逻辑电路
“与”, “或”,“非” 任意逻辑电路
(1)缓冲门:X=A,仅起缓冲功能,无逻辑功能.
(2)“与非”门:X=
(3)“或非”门:X=A+B
(4)“异或”门:X=+=AB,又叫异门
即A=B,X=0;AB,X=1,可实现半加或按位加。
(5)“同或”门: X=+=AB,又叫同门
即A=B,X=1;AB, X=0
(6)三态门(TSL):E=0,电路呈高阻态
E=1,为一般“与非”门
组合
。X
A
B
E
4.组合逻辑电路——举例
(6)举例——加/减法运算器
在并行加法电路前,加一级“异或”门.
±控制信号SUB=
当SUB=0,Bi’=+ Bi .SUB= Bi. 0+ Bi .1= Bi ,做A+B
当SUB=1,Bi’=+ Bi .SUB= Bi. 1+ Bi . 0= Bi ,做A-B
0,做加法
1,做减法
2.逻辑代数的基本定律
(1)关于常量与变量的关系:A+A=1, =0,A+1=1
(2)重复律:=A, A+A=A
(3)吸收律:A+=A(1+B)=A
A.(A+B)=+=A+AB=A.(1+B)==A
(4)分配律:A.(B+C)=+
(A+B).(A+C)=+++=A++AC+BC=A+BC
(5)反演律: A+B=——1式
=A+B——2式 口诀:上面切一刀, 下面变个号
证明:只要等式两边同乘A+B(证1式)和(证2式)。
(6)交换律(略)
(7)结合律(略)
A+AC
又叫摩根定律
算术运算的逻辑电路基础
运算器是进行算术、逻辑操作的装置,其核心是加法器.
1.一位加法电路——全加器(Full Adder)
(1)输入变量:对i位相加,需5个变量.
输入:被加数Xi,加数Yi,低位进位Ci-1—3个
输出:本位进位Ci,本位全和Si —2个
被加数 1被加数 Xi(输入) Xi Yi
+ 加数 +1加数 Yi(输入)
进位 1 0本位和Si(半和) Ci Ci-1
和 1低进位Ci-1(输入)
1全和 Si Si
全加器
(2)真值表:描述各逻辑变量(入和出)间的关系,见下表.
(3)推导逻辑表达式:在真值表中,将函数值(Ci,Si)为1的各参数(Xi,Yi ,Ci-1)的”与”项相”或”就组成了该函数的逻辑表达式.表中, Ci,Si各有4项,即有:
Si=XiYiCi-1+XiYiCi-1+XiYiCi-1+XiYiCi-1=XiYiCi-1
Ci=XiYiCi-1+XiYiCi-1+XiYiCi-1+XiYiCi-1=XiYi+(XiYi)Ci-1
(4)由表达式得到相应组合逻辑电路(见图)
1
1
1
1
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
Si
Ci
Ci-1
Yi
Xi
Si
Ci
Ci-1
Yi
Xi
全加器
2.串行加法电路:注意电路要搞清“进”和“出”.
(1)组成:●2个n位的移位寄存器(shift register)
●1个全加器(full adder)
●1个进位触发器(carry flip-flop):D触发器组成
●脉冲源(pulse generator)
(2)工作过程:被加数 寄存器A, 加数 寄存器B
被加数,加数 同时右移1位,在 中完成当前位Ai, Bi 和Ci-1的相加, Ai,+Bi +Ci-1= Si A的最左端
Ci 进位触发器D端
下次移位脉冲来时,进位触发器C
移位n次,完成2个二进制数相加,结果Si 在A中.
移位脉冲
(记下进位)
3.并行加法电路
(1)原理:2个n位二进制数的各位同时相加.
(2)组成:需n个全加器,2个寄存器.
(3)工作过程:
被加数、加数的各位,在中按位加.
各中得到的进位依次向高位传送,得到每位的全加和.
最高位的进位Ci 作为测试标记,也可作为运算的一个数据(在多字节运算时).
举例——加/减法运算器
(4)加/减法运算器
在上述并行加法电路前,加一级“异或”门,可组成加/减法运算器,如图所示.
±控制信号SUB=
当SUB=0, Bi’=+ Bi .SUB= Bi. 0+ Bi .1= Bi ,做A+B
当SUB=1, Bi’=+ Bi .SUB= Bi. 1+ Bi . 0= Bi ,做A-B
0,做加法
1,做减法
功能模块级的计算机组成
计算机扩展和延伸了人脑的功能, 故又称电脑.
计算机结构:从元器件级(开关电路) 功能模块级.
构建计算机系统的两种方法:
●结构模拟法:仿照人脑由神经细胞组成,从制造神经细胞开始构建计算机.
●功能模拟法:从分析人脑的基本功能出发,分别制造能完成这些功能的模块,来模拟人脑的功能.
结论:现代计算机基本采用功能模拟法.
返回
计算机的Neumann体系结构
电子计算机是一种自动计算工具,而算盘是手动计算工具.
计算机有存储程序的功能,即能把由操作步骤编制成的程序(program)记住, 然后按程序的要求, 逐一完成程序规定的操作任务——程序存储控制原理。
1. 1812年英国人巴贝奇(Babbage)开始研制机械计算机, 提出了程序存储控制原理的雏形.
巴贝奇提出了自动计算机必须包含的五大功能,即
输入(I)+存储(M)+处理(P)+控制(C)+输出(O)
原理
Von Neumann是在电子时代提出把程序存储控制原理用于计算机的第一人, Neumann原理可总结为三条:
(1)指令像数据一样存放在存储器中,并像数据那样进行处理
(2)要使用二进制 (3)要使用程序存储控制方式工作.
计算机的Neumann体系结构
Neumann理论奠定了现代电子数字计算机的理论.
按照该理论制成的计算机叫Neumann体系结构的计算机,简称Neumann计算机.
John von Neumann
冯诺依曼
(1903-1957)
第一台电子计算机(ENIAC)
5000次加法/秒
体重28吨
占地170m2
18800只电子管
1500个继电器
功率150KW
计算机系统的功能部件
一台完整计算机的功能——运算+控制+存储+输入/出+用户界面
实现:CPU+M+I/O+BUS+软件
1.输入/出(I/O)设备
2.中央处理器(CPU):是计算机的核心,它由A+C+Regs组成
(1)控制器:按时钟提供的统一节拍,使计算机中各部件协调工作.
(2)算术逻辑部件ALU(Arithmetic Logical Unit)
是直接进行数据变换与运算的部件.由加法器组成, ALU的最基本操作是加法和逻辑运算.
(3)寄存器组:暂存运算中间结果
通用寄存器组:存放操作数
专用寄存器组:存储特定信息
开
关
操
作
逻
辑
运
算
加
法
运
算
四
则
运
算
计算机运算的层次
2.中央处理器(CPU)
运算部件(ALU)工作示意图
状
态
标
志
寄
存
器
通用寄存器
累加器
ALU
A
B
结果C=A+B
标志
每位对应一个特征
3.存储器(记忆装置)
(1)功能:保存程序,原始数据及中间结果.
(2)特点:●取之不尽,新来旧去.存 写,取 读.
●采用线性地址存取方式 地址 单元内容
可按位(b),字节(B),半字
字(W),双字(DW)编址.
以字节(B)编址居多.即1个
存储单元存1个字节的信息.
存储器容量:即M中存储单元的数量.
……
信息m-1
信息m
信息m+1
……
……
n-1
n
n+1
……
3.存储器(记忆装置)
(3)存储器的三大指标
容量(C)+价格(C)+速度(S)
容量大 速度 ,速度 成本 容量
采用分级存储方式来解决上述矛盾
主存
辅存
cache
CPU
主存
辅存
辅助软硬件
主辅存两级存储系统
cache主辅存三级存储系统
辅存
主存
Neumann计算机的基本组成
(4)比喻:若把计算机比作一个工厂,那么
运算器 车间,控制器 生产科
输入设备 供应科,输出设备 销售科
存储器 仓库
4.总线
下图是早期计算机中典型模块间的连接方式.因没从全局角度统一考虑各部件间的连接问题,造成部件间连接的复杂性.为减少部件连接的复杂性,现代计算机采用了总线连接技术.
控制器
输入设备
运算器
输出设备
存储器
结果
数据
取数
存数
输入命令
输出命令
注:实线代表传输数据
虚线代表传输控制命令和信号
4.总线
总线连接方式:是现代计算机(尤为微,小型机)采用的方式
总线:是一簇由并行导线组成的传递信息的公共通路.
总线的三种类型:数据总线——用于传输数据
地址总线——用于传输内存存储单元地址
控制总线——用于传输控制信号
总线的任务:在计算机各部件间起沟通信息的作用.
CPU
存
储
器
I/O1
I/O2
I/On
……
控制总线
地址总线
数据总线
4.总线
总线的物理表现形式:
由直接印刷在电路板上的导线和安装在电路板上和各种插槽组成. 其它部件以插件板形式插装在插槽上.
总线技术现已成为现代计算机技术中的一个重要分支.
5.主板
主板又叫母板(mother board)是一块电路板,它提供计算机的主要电路系统,计算机的主要模块都安装在主板上.
(1)印刷电路板PCB (Printed Circuit Board)
是主板的主体,是元器件的”立足之地”.它由几层树脂和铜箔”迹线”(铜箔走线)相间粘合在一起,视器件的复杂程度,一般可由4-6层组成。
主信号层
接地层
内部信号层
电源#1层
电源#2层
辅助信号层
计算机的工作过程
1.指令的作用
本节重点 2.控制器的作用
3.程序的执行过程
1.程序:
(1)定义:程序是为求解特定问题而设计的指令序列.
计算机工作过程 执行程序的过程
指令 一组基本操作
(2)作用:程序好比乐谱
控制器 指挥, A+M+I/O 乐器,演员
演出过程 演凑乐谱
规定
1. 程序
(3)举例: a+|b|=
解题步骤:
step1: 取a
step2:取b
step3:判断
step4:执行a+b
step5:转step7
step6:执行a-b
step7:结束
(4)条件转移类指令:对step3类似的操
作可用条件转移类指令实现.见图
a+b ,b0
a- b , b<0
若b0,执行step4
若b<0,执行step6
b0?
a+b
转7
a-b
end
取a
取b
Y
N
1
2
3
4
5
6
7
2. 指令
(5)计算机工作过程
取指令 分析指令 执行指令 PC+1
2.指令:(1)定义:机器能理解的一组编排成特定格式的代码串,要求机器在一个指令周期内完成一组特定的操作.
(2)组成:
●操作码:计算机应完成的操作内容,MOV、ADD 、 SUB等。
●两个操作数的地址和存放结果的地址及它们的寻找(址)方式.
例:(AC)OP(A1) AC, 为单操作数指令
●指令指针PC:每次+1,自动指出下条指令地址,不必在指
令中给出,但在转移指令中要指出下条指令的地址.
指令周期
OP
A1
3.指令的执行
(1)控制器的功能:
(1)定序功能:保证程序按规定的顺序执行指令.
(2)定时功能:为各部件提供统一节拍,使各指令及组成指令的各基本操作(微操作)严格按时间表有条不紊地工作.
(3)操作控制功能:按指令规定的内容,在相应的节拍,向有关部件发操作控制信号.
(2)控制器的组成:
●指令部件: 功能:取指令,分析指令.
组成:指令指针IP+IR+指令译码器+地址计算部件
:指出当前指令地址,有+1功能.
:保存由M取来的指令,把OP 指令译码部件
AD 地址计算部件
3.指令的执行
C.指令译码器(或OP译码器):按OP要求向操作控制器发相应的操作电位.
D.地址计算部件:计算操作数地址 M
转移指令中指出的下条指令地址 IP
●时序部件:即节拍发生器,为各部件提供一时间标准.时钟
●操作控制部件:
按指令译码器规定内容 向有关部件发操作控制信号
(3)指令的执行过程:
●IP M 取指令 IR
●IR中地址码 地址计算部件 形成操作数地址
M 取数据 ALU中的寄存器
或把
(在规定节拍)
地址
bus
频率越高,计算机工作速度越快
3.指令的执行
●IR中的OP 指令译码器 译码
●执行指令中OP规定的操作
●正常顺序执行: IP+1 形成下条指令地址
遇转移指令:按标志 是否将转移指令中指出的指令地址 IP
指令系统级的CPU界面
指令的语法
用户使用CPU时,是通过它提供的一些由信号集成的指令进行的.
指令系统:是CPU能提供的所有指令的集合.
指令:是计算机能识别并执行的操作命令.
指令的语法:规定了指令的表示格式,或构成指令的规则.
指令的典型格式:一个操作码+N个地址
操作码所占的位数,由该机指令系统规定所能执行的操作种类数决定.
每个操作数地址所占的二进制位数,决定了该操作数地址能直接访问的最大存储器空间.例某一操作数地址为4位,则最大寻址空间为 24=16.
操作数地址分为源,目标操作数地址和下条指令地址等.
OP
AD1
AD2
…
ADN
返回
寻址方式
1.概述:
操作数形式地址—指令中给出的操作数地址,往往不是操作数真实的存储器地址.
操作数有效地址—操作数真实的存储器地址.
形式地址 有效地址
2.指令中的数据来源
(1)操作数是指令代码的一部分,立即可取.叫立即操作数,相应的寻址方式称立即寻址(immediate addressing).
(2)寄存器操作数和寄存器寻址方式(register addressing).
(3)存储器操作数和存储器寻址方式(memory addressing).
(4)I/O端口操作数和I/O寻址方式(I/O port addressing).
●独立的I/O地址,由专门指令操作.
●统一的I/O寻址,同存储器寻址.
寻址方式
寻址方式
地址码
指令的种类
1.数据处理类指令:有用ALU,常用的有算术,逻辑运算指令,移位指令和比较指令等.
2.数据传送类指令:即数据搬家,内容不变.常用的有存数,取数,输入/出指令和内部传送指令等.
3.程序控制类指令:用于改变程序中指令执行的正常顺序,有无条件转移,条件转移,调用子程序,停止或空操作指令等.
4.状态管理类指令:用于改变计算机中表示其工作状态的状态字或标志,不改变程序执行的次序.不进行数据处理,只管状态.
使用指令系统的解题过程
以计算a+|b|为例, 设机器共有6条指令(见表).
使用指令系统解题,大致有4个过程:
1.程序设计:(1)确定计算模型:即a+|b|=
(2)确定计算步骤:可用程序流程图描述, 见图.
2.编辑程序并分配存储单元
(1)把计算步骤 机器指令
(2)给程序、数据分配存储单元.
始址2000, 数据a 2010, b 2011, 结果 2012
3.送程序和原始数据到内存中.
先存入内存 逐条取出 逐条执行
4.执行程序
a+b ,b0
a- b,b<0
使用指令系统的解题过程
开始
A=a
B=b
B0
a+b
a-b
存数
输出
结束
Y
N
--------存数a到寄存器A
--------存数b到寄存器B
判断
若b0,执行a+b
若b<0,执行a-b
-----结果写入寄存器
使用指令系统的解题过程
单元地址 单元内容 注 释
2000 MOV AL, (2010) ;取2010单元中的内容a送寄存器AL
2001 MOV BL, (2011) ;取2011单元中的内容b送寄存器BL
2002 MOV BH, BL ;转送2011单元中的内容b至寄存器BH
2003 SHL BL,1 ; BL左移1位,使数 b的符号位送CF
2004 JC A1 ;若CF=1(b<0),转地址A1,否则转下条
2005 ADD AL,BH ;执行a+b
2006 JMP A2 ;转程序地址A2
2007 A1:SUB AL, BH ; b<0, 执行a-b
2008 A2:MOV (2012), AL ;送结果到2012单元
2009 HLT ;停机
2010 a
2011 b
2012 存结果a+b或a-b
使用指令系统的解题过程
4.执行程序
(1)程序首地址2000 IP(指令指针)
(2)IP MAR(存储器地址寄存器) AB(地址总线) M
(2000) MOV AL,(2010) DB(数据总线) IR IP+1
(3)IR 分析指令
(4)指令译码器 电平信号 在规定时间向有关
时序部件 节拍信号 部件发操作信号 a
(5)取指后, IP已+1
IP(2001) MAR AB M
(2001) MOV BL,(2011) DB IR IP+1
又按(3)-(4)执行, 完成(2011) BL
b
取
指
OP 操作译码器 形成电信号
AR 地址计算部件 形成操作数地址
}
(2010) AL
执行
指令
操作系统级的计算机系统界面
操作系统的概念
操作系统( operating system ,OS )是管理计算机资源的一组程序.
从计算机系统层次结构看,OS是建立在计算机硬件上的第一层软件,是计算机中所有其它软件的基础(平台);它又不完全信赖于硬件.操作系统可看做用户与计算机硬件设备间的接口.
操作系统
用户界面
作业管理
处理器
管理
CPU
存储
管理
文件
管理
外存
主存
设备
管理
I/O设备
总线
硬件
返回
操作系统的功能
1.作业管理
四方面的功能:
作业管理;提供用户界面;功能扩展;资源管理.
1.作业管理:
作业:是用户请求计算机系统完成的一个计算任务,由用户程序,数据及控制命令组成.每个作业可由若干作业步组成.
(1)作业管理的任务:
●按类型组织,控制作业的运行,解决作业的输入/出问题;
●了解并申请系统资源;
●跟踪,监控,调试并记录工作状态;
● 为用户或程序员提供程序运行中的服务和帮助.
(2)作业控制:是用户使用操作系统提供的手段和设施来组织和控制用户作业的过程.即用户对作业上机操作的全过程的各种干预.大致有以下两类:
操作系统的功能
1.作业管理
①脱机作业控制:当用户将程序和数据及作业控制命令提交给计算机后,用户不得干预.
②联机作业控制:又叫交互型处理方式,它允许多用户通过终端共享一台计算机,每个用户都可动态控制作业运行.
联机作业方式下,用户可用以下3种方式进行作业控制:
●键盘命令方式; ●命令文件方式;
●选单驱动方式.
(3)作业调度:是按照一定的策略(算法)从后备作业队列中选择作业进入主存运行的过程.常用作业调度算法有以下几种:
●先来先服务FCFS:将作业放入FIFO队列中.
●最短作业优先法SJF:先处理占用时间少的作业.
●轮转法 ●优先数法:先处理优先级别高的作业.
●事件驱动法:如点击操作驱动程序工作.
操作系统的功能
2.提供用户界面
用户界面包括用户接口操作方式和用户工作界面.
(1)用户接口操作方式:可分成两种
● 操作命令接口: 是为用户提供的人机交互接口,包括联机键盘命令和作业控制命令.前者被广泛使用,在Windows中采用窗口-菜单和鼠标点击方式.
●系统调用:是给用户提供的应用程序接口API.
(2)用户工作界面: 是为用户创建一个工作环境.
从纸带-卡片 字符-命令 图形界面和多媒体
虚拟现实环境
操作系统的功能
3.功能扩展
通过操作系统中的有关程序,使有关功能部件功能扩展:
(1)在最小的物理条件下,硬件与软件具有相同功能,它们可相互替代.
(2)系统调用可扩充机器的指令系统,也是CPU功能的扩充.
(3)在外存支持下,通过存储管理软件的调度,可使小内存当作大内存用.
(4)通过假脱机(spool)技术,用共享设备来模拟独占设备的工作.
(5)在多任务操作系统中,可运行一个程序的多个副本,将一个程序当作多个同样的程序用.
操作系统的功能
4.资源管理
计算机系统资源=硬件+软件+数据.可具体划分为:
(1)处理机;
(2)存储器;
(3)外部设备;
(4)信息(程序+数据).
操作系统的功能是:有效地发挥这些资源的效能, 解决用户间因竞争资源而产生的冲突,防止死锁发生.
操作系统的类型
1.批处理系统:
主要用在早期大型计算机上. 主要目标是提高CPU的使用效率,尽量使CPU的时间花费在大量的运算和数据处理中.
2.分时系统:
是采用”分时共享”的方式使联机用户共享计算机资源.
“分时”是把工作时间分割成一个个小的时间段,称时间片.
分时系统具有:
多路性——多个用户可同时使用同一台计算机;
交互性——用户采用联机方式使用计算机,用交互方式控制程序运行。
独占性——使用户感到独自使用计算机一样。
3.实时系统:与前二种操作系统不同,它是专用操作系统,系统要处理随即到达的事务, 采用”事件”驱动方式.
计算机系统评价和发展
现代计算机的基本特征
1.具有记忆功能和自动运算能力
存储器实现了对程序和数据的记忆,并由此实现程序存储控制原理,进而提供计算过程的自动化.
计算机自动工作的能力还取决于CPU的处理能力和计算机体系结构形成的整体协调水平.
2.高速运算
高速运算首先取决于元器件.在电子时代,元器件的工作极限主要取决于芯片的集成度,还取决于体系结构等因素.
3.运算精度高
计算精度主要取决于计算的字长.
返回
计算机的性能
字长: 指CPU一次能处理数据的位数.字长 ,表示它能处理的数据的精度高,价格也高.
2.主频:即时钟脉冲的频率.
主频 CPU工作节拍 机器运算速度
3.主存容量:CMAX=2PIN, 即由CPU地址总线的根数决定.
4.带宽均衡性:
计算机的最重要的性能指标——运算速度也常用带宽衡量,即数据流的最大速度和指令的最大吞吐量.
按”木桶”理论,整体的性能取决于最差环节的性能.
5.软硬件配置与性价比:
(1)软硬件配置:含外设的配置,指令系统及OS功能强弱, I/F友好性及有无其它支持软件和应用软件等.
(2)性能价格比P/C:越高越好.
计算机的性能
特性:五大功能
可靠性+可用性+可维护性+完整性+安全性
可靠性用MTBF, 可维护性用MTTR衡量.
7.兼容性(compatibility): 指系统中所含的某些”东西”具有并存性,即程序或设备可用于多种系统中的性能。
8.友好性和环保性
友好性是指计算机可提供适合人体工程学原理,使用起来舒适的界面.
环保性是指对人或对环境的污染大小,如辐射,噪声,耗电量废弃物的可处理性等.
计算机系统结构的发展
人类的三大战略资源:能源,材料,信息.
理论推导
人类发展科学技术的三大手段 科学实验
计算
硬件:器件与体系结构的更新换代
软件:从低级到高级语言
计算机技术的发展主要体现在:
●计算机元器件的进步;
●计算机系统结构的发展——本书讨论的主题。
●计算机应用技术的发展.
计算机技术的
进步
计算机元器件的进步
1.从元器件的进步看:
已经历了五代:电子管 晶体管 IC LSI VLSI
2.从运算速度看:
5000次/秒(ENAIC) 万亿次/秒(NEC的地球模拟器)
中国联想的“深腾6800”(万亿次/秒)据全球第14位.
2.从集成度看:8086(29000万个Tr) P4(5500万个Tr)
联想“深腾6800”超级计算机
全球超级计算机500强前14名排名
排名 安放地点 超级计算机 / 制造公司
1 日本NEC公司 地球模拟器,65万亿次/秒
2 美Los Alamos国家实验室 ASCI Q-AlphaServer(惠普)
3 美维吉尼亚理工大学 X(维吉尼亚理工大学)
4 美国家超级计算机应用中心 Tungsten(戴尔)
5 美西北太平洋国家实验室 Mpp2(惠普)
6 美Los Alamos国家实验室 Lightning(Linux NetworX)
7 美劳伦斯利弗莫尔国家实验室 MCR LinuxCluster Xeon
8 美劳伦斯利弗莫尔国家实验室 ASCI White(IBM)
9 美能源部超级计算中心 Seaborg(IBM)
10 美劳伦斯利弗莫尔国家实验室 XseriesClusterXeon (IBM)
11 日本宇宙航空研究实验室 PRIMEPOWER(富士通)
12 美匹兹堡超级运算中心 AlphaServer SC46 (惠普)
13 美国国家大气研究中心 Pseries 690 Turbo (IBM)
14 中国科学院 深腾6800(联想),4万亿次/秒
由美劳伦斯.伯利克国家实验室,田纳西大学和德国曼海姆大学于2003年
11月最新评出的全球超级计算机500强名单的前14名
()
排名世界第十的曙光4000A
2004年11月,世界排名第十的曙光4000A在上海启用,运算速度高达10万亿次/秒.该机属集群式超级计算机,是由AMD公司与曙光信息产业有限公司联合开发,它采用超过2000颗64位的AMD Opteron 800系列处理器,运算速度高达10万亿次/秒,内存容量超过2TB,内部网络速度将超过2Gb/s,机器的规模面积达四分之一足球场大小.
系统结构的发展
软件第一定律
Nathan Myhrvold是微软公司的一名高级经理,他提出:”软件是一种可以膨胀到充满整个空间的气体”,即应用对信息技术的需求是无止境的.应用的需求主要体现在应用软件的体积上.
定律
Moore是英特尔公
司创始人和前董事
长.他提出的定律
可从两方面表述:
Moore定律的实例
系统结构的发展
信息技术功能价格比的摩尔(Moore’s law)定律
(1)按此规律,计算机芯片的晶体管的数量,每18个月翻一番,即每年增长60%.
(2)价格每18个月下降一半。
该定律的作用期从60年代以来已持续了30多年.也较好地解释了美国20世纪最后20年间产生的经济良性循环;
技术进步 低价好产品 新应用 市场竞争 新发展
3.信息网络扩张效应的梅特卡夫法则(Metcalfe law)
此法则是哈佛大学博士Metcalfe提出的。按此法则,网络的能量(或价值)等于网络节点数的平方,P=N2即网络的效应随着网络用户的增加呈指数增长。互联网的用户大约每半年翻一番,互联网的通信量约每百天翻一番,这种增长使网络效益快速增长。
3.”并行”与”共享”
(1)部件级的并行与共享
●最明显的共享是总线——为不同部件共享数据传输。
●高速部件(CPU和内存)为低速部件所共享.
采用中断和DMA技术使高速CPU与低速I/O设备并行工作.
●以CPU为中心 以存储器为中心.
(2)指令级的并行与共享
典型的是指令的流水线作业,详见第6章.
(3)处理器级的并行与共享
此举旨在硬件条件下,从结构上改进,提高系统的运行速度.一般使用处理器级的并行性技术.
(4)程序级的并行与共享:在一个计算机系统上同时分时地运行多个程序和任务,使一台计算机系统为多个 任务共享.
4.层次化和虚拟化
(1)第0层:是物理机器,由逻辑电路组成
(2)第1层:由最底层的门电路组织成基
本运算部件完成计算机的最基本操作
形成微体系结构.
(3)第2层:计算机的操作系统建立在此
层上.
(4)第3层:操作系统层.
(5)第4~第5层:支持语言.
一般来说,一个有N层的计算机可看作
N台虚拟机,每台机器语言不同,但只有
用L0语言编写的程序才可被电路直接
执行.
面向问题语言层
汇编语言层
操作系统层
指令系统层
微体系结构层
数字逻辑层
翻译 (编译器)
翻译 (编译器)
部分解释 (操作系统)
解释(微程序) 或直接执行
硬件制作
0
1
2
3
4
5
第一章作业
~
~
~
~
参考资料
1.参考书:王爱英《计算机组成与结构》(第三版) 清华出版社 第1章
2.参考书:白中英《计算机组成原理》(第三版) 科学出版社 第1章
3.参考书:张基温《计算机组成原理教程》(第二版) 清华出版社 第1章
4.网站:
计算机组成与结构
Computer Organization
and Architecture
(第二章)
顾 浩 赵宝华
目录
分级存储器的形成
主存储器
辅助存储器
第二章 存储系统
本章重点:
1.分级存储系统
2.主存的组成
3.辅存
早期:计算机以运算器为中心 目前:以存储器为中心
分级存储体系的形成
对存储系统的性能要求
1.存储系统的成本:(1)每位成本:P=C/S;C—总价,S—容量
2.存取速度和带宽:由存储器工艺和容量决定.
(1)存取速度:有●存取时间TA(Memory Access Time)是存储器收到读或写的地址到从存储器读出(写入)信息所需的时间.
返回
以存储器为中心的系统结构
说明:实线:控制线 虚线:反馈线 粗线:数据线
控制器
输入设备
存储器
输出设备
运算器
结果
数据
取数
存数
输入命令
输出命令
分级存储体系的形成
●存取周期TM(Memory Cycle Time)
指连续启动二次独立的存储器操作(例连续2次读)所需间隔的最小时间.一般TM> TA.
(2)带宽BM:指每秒访问二进制位的数目. BM=W/ TM
若TM=500ns,每周期访问16位,则BM=16/=32Mbps
要提高BM可从以下三方面入手:
使TM 使W 增加存储体
(3)容量:指计算机存储信息的能力,即最大的二进制信息量.
以b或B表示.
常用程序 主存 速度主存
不常用 辅存 容量辅存
整体
程序
210=1024=1KB
220=1024K=1MB
230=1024M=1GB
240=1024G=1TB
对存储系统的性能要求
(4)信息的可靠保存性,非易失性和可更换性
●有源存储器:例半导体存储器靠电源才能存信息.
●无源存储器:磁盘,磁带等辅存中的信息关电后不会丢失
●非易失性:即掉电时,信息不会丢失.
(5)存取方式:指存取信息的次序或时序的约束.
●RAM(Random Access Memory):随机存取存储器,能以任意次序读写存储单元,读写时间与所读单元的地址无关,如主存,磁盘等.其寻址部件较复杂,价贵.
●顺序存取存储器:只能以某种预先确定的顺序读写存储单元,如磁带,它只能先读写外圈,后读写内圈.
结论:评价存储器的三个基本指标:
C(Capacity)+C(Cost)+A(Access Speed)
存储系统的分层结构
——Memory Hierarchy
1.计算机应用对存储器要求的矛盾
用户要求存储器的容量大,速度快.但SC(价),CC
为解决上述矛盾,有效的措施是实现分级存储.
2.存储器访问的局部性(Locality)原理
(1)时间局部性:当前正在使用的信息很可能
是后面立即还要用的信息,例程序循环和堆栈操作.
(2)空间局部性:指连续使用到的信息很可能在存储空间上相邻或相近.以顺序执行的程序和数据(如数组),便是如此.
(3)分层结构:局部性原理是存储系统层次结构技术可行性的基础. 一般:CPU频繁访问的信息 高速存储器中
CPU不频繁访问的信息 低速存储器中
容量
价格
辅存
主存
cache
存储系统的分层结构
——Memory Hierarchy
例:二级存储器系统(cache—MM),第一级容量为1KB,访问时间1S
第二级容量为1MB,访问时间10S,CPU先访问第一级,如不在,就由第二级送至第一级.
如:信息可从第一级100%(或90%)取得,分别求平均访问时间:
解:100%时:TA=1*100%+10*0%=1 S
90%时:TA=1*90%+10*10%= S
结论:提高第一级的访问时间的比率可使平均访问时间接近(或等于)第一级的速度.
3.命中率和访问周期
(1)命中率(Hit):即要访问的信息正好在这一级中的概率,即命中的访问次数与总访问次数之比.最主要的是,CPU产生的逻辑地址能在内存中访问到的概率要大. Hit与传送信息块的大小,这一级的存储器的容量和存储策略等有关.
容量大+调度得当 H
(2)平均访问时间TA与H密切相关.
存储系统的分层结构
——Memory Hierarchy
举例:有一两级存储系统,由M1和M2组成,
其中M1的访问次数为R1, M2的访问次数为R2,访问时间分别为TA1 和TA2
命中率H= R1+ R2 ,则CPU对整个存储系统的平均访问时间
TA=H .TA1+(1-H). TA2
若相邻两级的访问周期比值 r= TA2 / TA1,,
存储层次的访问效率e =TA1 / TA=H+(1-H)r =r+(1-r)H
存储系统的追求目标:当e1,即TATA1(较快一级的存储器访问时间)
为提高e,可从两方面入手:
提高H值:即扩充最高一级存储器的容量 高代价
降低r值:当r=100,要使e> H>
当r=2, 要使e> H只需>
注意:相邻两级存储器的速度差异不能太大,在cache—MM系统中,取r=5~7为好.
在MM—AM层次中, r= 104, 这很不理想,其间有很大空档,从r不能太大的观点出发,最好应有一种S-C-C介于其间的存储器作为中间层次.
1
1
小
R1
虚拟存储器(virtual memory)
几个基本概念:
虚拟存储器是以存储器访问局部性原理为基础,建立在主—辅存体系上的存储器管理技术.
基本思想:通过某种策略,把辅存中信息的一部分调入主存,在用户面前呈现的是比主存大得多的地址空间.
虚拟(逻辑)地址:是访问虚拟空间的指令地址码 面向程序员
物理(实存)地址:实际主存的地址.
存储器管理:
页式管理-----定长,以页为单位装入程序.
段式管理-----不定长,以程序模块大小分割.
段页式
1.页式虚拟存储器
(1)特点:虚拟存储器(虚存)与实存的空间划分是等长的块,称虚页和实页.每页长度是2的整数幂,从512 几KB.
(2)地址:由页号和页内地址两部分组成.按页管理,以页为单位往内存调入. 页号 页内地址
页号:是逻辑地址的高位地址.
页内地址:页的起始地址都是低位地址为0的地址.实地址和虚地址的页内地址相同.
(3)虚--实地址转换:虚页号 实页号
(4)页表机构:每个程序员用虚地址编址,
由OS装入辅存中.
前提:主,虚存的页面大小一致.
因虚存>>主存,虚页号>>实页号.
高 低
页表
虚页号
页内地址
页表
实页号
页内地址
=
若页 0~1FFH
长为 200H~3FFH
512字节 400H~5FFH
1.页式虚拟存储器
CPU访主存 送程序虚地址 它在MM中? 找页(主存中)
调页(从辅存)
为此要为每个程序建立一张页表.
页表:是一张虚地址页号与实地址页号的对照表,是存储管理软件在主存运行时,为每个程序自动建立的,存放在主存特定区域.对程序员是透明的.
页表信息字:是按虚页号排列来描述每张虚页的状况.含实页号和其它信息,是虚页号 实页号,如图.
(5)地址转换机构:
虚页号到实页号的转换:
实质:是由虚地址 找到该虚页号的页表信息字 实页号
程序的页表首地址 页表基址寄存器 + 页表信息字地址
CPU 逻辑地址 虚页号
注:虚页号是页表信息字相对该程序页表区首址的偏移量.
在
不在
对照
页表首址
偏移量
页表信息字
A.实页号:即物理页号.
:P=0--该虚页内容没装入内存,访问无效
P=1--该虚页内容已装入内存,访问有效
P=0 查内存有否空页 启动I/O 调页 P=1 访问
P=1 由实地址访内存 按替换策略将某页变空页
C.修改位:用于记录虚页内容在主存中是否被修改过,若改过,则当主存中这一空间被新页覆盖时,要把修改部分写回辅存.
D.替换控制位:反映该页在主存中的活跃程度.
E.其它:访问权限控制等.
B.装入位(有效位)P
0
0
0
1
0
0
5
装入位修改位 替换位 实页号
有
无
虚0
页1
号
查页表,虚实地址转换
该页在主存?
读主存,取出单元
操作数
主存有空页
淘汰旧页
旧页改过?
旧页调入外存
从辅存调入新页
更新页表
Y
N
N
Y
N
Y
物理地址
访存(逻辑地址)
调页操作流程
快表(TLB表)
1.问题的提出:
页表在主存中 查页表 取数
失效 页面替换修改(又访存)
2.解决方法之一:把页表中最活跃部分放在高速存储器中,组成一快表(用硬件),以减少开销.
结论:
页式虚存优点:(1)页长固定,可顺序编号,页表设置方便.
(2)调度方便.有空页即可,操作开销小.
缺点:(1)易造成页面的碎片问题.浪费空间.
(2)机械的划页,无法照顾程序内部逻辑结构,会造成程序段跨页,这会引起增加查表次数和页面失效的可能.
首次访存
第2次访存
*缺点:多次访存
2.段式虚拟存储器
(1)特点:按程序的逻辑结构划分,适应模块化程序.
段长因程序而异.
(2)段表:虚地址 实地址,有段号,段起点,装入位,段长等.
(3)优缺点: 优点:段间独立,不干扰,段的逻辑独立性,使之易于编辑,管理,修改,保护,并便于多道程序共享.按段调用可提高命中率。
缺点:因段长不等,段的起,终点不定,给主存分配带来困难,易在主存造成碎片.
3.段页式虚拟存储器:
程序按逻辑单位分段 分页,即段页二级管理.对主辅存的数据调入/出按页面进行,又可按段实现共享和保护.
因此,每个程序有一个段表,多张页表.优点是兼取两者优点,但要多次访存.
转换
每段
段表基地址
基号
段号
段内地址
M 1
主存地址
段
表
段号
0
1
i
起始地址 段长 装入位
物理(实存)地址
虚拟地址
段式虚拟地址存储器地址转换
1.基号 本程序段表基地址(段表的首段起始地址).
2.段表基地址+段号=本段在段表中的位置.
3.查表,取本段始地址+段内地址=主存实际地址
Cache-MM结构
知识点:cache的位置--在CPU与MM之间.由硬件构成.
Cache是在CPU与MM之间插入的一种高速缓存,旨在解决两者间的速度匹配,提高主存系统的性价比.
1.特点:(1)Cache用SRAM构成,其速度与CPU相当.
(2)原理与虚拟存储器同,但它的控制管理全由硬件实现.
(3) Cache价贵,为持最佳性价比, Cache容量应尽可能小,但以不影响命中率为前提.
2. Cache的读写过程
(1)工作原理:基于程序访问的局部性原理.即主存和Cache都划分为相同大小的块,两者以块为传送单位.
读:见图,需知:CPU是同时向MM和Cache发地址的.若不命中,说明该字还在主存中,则用主存读周期把该字读入CPU,同时把包含它的数据块全部从主存写入Cache.
一、概述
CPU
CACHE
L1
CACHE
L2
MM
AM
CPU
地址
映象
cache
主存
数据总线
地址总线
ALU
通用寄存器
L1
L2
主存
辅存
CPU
存储
系统
存
储
系
统
层
次
结
构
图
Cache原理图
块传送
字传送
字传送
Cache的读写过程
写:比读操作复杂.因cache中保存的是主存中某些信息的副本,所以有主,副本一致的问题.当
从cache读入数据,重新写入修改后的新数据
B.主存数据被修改
为解决主副本不一致的问题,主要采用以下方法:
A.写直达法(通过式写---write through)
又称全写法,数据同时写入cache和MM,写操
作就是访问主存的时间,这会增加访存次数.
B.写回法(write back):
即数据暂写入cache,并用标志注明,直到该块
从cache替换出去后,才写入MM.也称标志
交换法( flag-swap).
C.数据只写入MM,同时将cache中相应块的有效位置0,使之失效,需要时从MM调入,方可使用.
注:据统计,写操作在访存操作的平均概率为16%左右,因此,A法实用.
造成主副本不同
CPU
cache
MM
CPU
cache
MM
先
后
同时
(即副本先不用)
开始
CPU发访问地址
命中?
访问cache取出
信息送CPU
访问主存
取出信息送CPU
Cache满?
调新主存块到
cache 中,送CPU
执行替换算法
腾出空位
Y
N
快
慢
Y
N
结束
Cache的读操作流程
的工作原理
如图所示,cache由三部分组成:
(1)cache的存储体: cache存储体以块为单位与主存交换信息,常采用多端口存储器(即主存和CPU都能访问),且cache访存的优先级高.
(2)地址映象(mapping)变换机构:
映象的含义:指确定cache和MM的位置对应关系并用硬件实现.
功能:将CPU送来的主存地址转换成cache地址.即实现主存块号(高位地址)与cache块号之间的转换,而地址变换又与主存地址以什么样的函数关系映象到cache中有关.
地址映象算法: 主存地址 cache地址
A.直接映象:固定的映象关系.MM与cache块一一对应,实现简单,不灵活
B.全相联:允许MM中每一字块映象到cache任一位置中,灵活,成本高.
C.组相联:A,B的折衷方法,把cache分n组,每组存n块.广泛使用.
D.段相联:A,B的结合.MM和cache均分段,每段含的块数同,段间用全相联,段内块间用直接映象.
转换
详见图
详见图
详见图
替换算法
当新的主存块需调入cache,且它的可用空间位置又被占满时,此时替换机构要根据某种算法移走旧块,调入新块.选择算法的原则是要有高的命中率且容易实现.
LRU(Last Recently Use):
基本思想:将近期最少使用的块替换出去,此法命中率较高,但要为每块设一个计数器.目前最常用.
FIFO:总把先调入cache的字块先替换出去.
两者都可达到90%以上的命中率,前者更高.
(4)内部与外部cache:
L1集成在CPU内,容量小,速度快,一般为32K~128KB.
L2在CPU与MM间,容量大,速度慢,一般为512~1MB.
CPU
L1
L2
MM
注:现把L2与CPU封装在一起
主存储器
主存记忆元件
二进制的记忆元件要有2个确定状态,表示逻辑值“0”和“1”
检测2个状态 电信号.
记忆元件:从原理上分,可分为双极(bipolar)型和MOS(Metal Oxide Semiconductor).后者又可按工作原理分为静态和动态两种.
(1)SRAM(Random Access Memory):能随机地对存储器中任一单元存取,存取时间与该单元的物理位置无关.要求:
有2种稳定状态.
在外部信号激励下,2种稳定状态能进行无数次相互转换
在外部信号激励下,能读出2种稳定状态.
存储可靠.
转换
主存记忆元件
SRAM(Static RAM):即静态RAM,利用开关特性记忆,只要电源有电,就能稳定保存信息.
DRAM(Dynamic RAM):即动态RAM,除需电源外,还要定期对它充电(刷新).
(1)SRAM记忆元件:有双极性和MOS两种,现以MOS为例
当栅极为高位时,MOS导通,D与S间相当一条短路线
单管MOS存储单元没有记忆功能,必须使用具有
双稳态的触发器作为记忆元件,常用的是
六管MOS单元:图中,
T1,T2--双稳态触发器
T3,T4--负载管,作为阻抗
T5,T6--读写控制门,用来选中记忆单元
G
VCC D
S-Source
Gate
-Drain
Q
Q
0 1
Q和Q为互补
端,Q端表示触
发器的存储信
息状态,Q=1,
称触发器存的
信息为1.
六管MOS单元的读写过程
如图所示,当字线W为低时,没选中此单元,T5,T6截止,触发器与位线断开,原状态不变,当字线W为高,T5,T6导通,选中单元.
A.写过程:字线W高 T5,T6导通 读写控制门打开
写“1”---位线b’上为高 T2导通 B为低 B’低 T1截止 A高=1
写“0”---位线b’上为低 T2截止 B为高 B’高 T1导通 A低=0
若原存“1”,即A高 b’ 高“1”
若原存“0”,即B高 b 高“0”
管静态记忆单元特点:
优点:非破坏性读出,抗干扰强,可靠.
缺点:记忆单元管子多,占硅片面积大,功耗较大,集成度不高.
D.双极型(bipolar):分TTL和ECL(Emitter-Couple Logic),速度快,用于高速缓存.
B.读过程:字线W高T5,T6导通
详见图
(2) DRAM记忆元件
特点:靠栅极电容上的电荷保存信息,称存储型记忆元件.
组成:单个MOS管+电容C
工作原理:A.写
位线高“1” 对C充电
位线低“0” C放电
B.读:原存“1” C上有电荷 在位线上产生输出信号
原存“0” C上无电荷 在位线上无输出信号
优缺点:
优点:集成度高,功耗小.
缺点:破坏性读出,原存信息消失,必须再生(刷新).
4管动态MOS电路(见图)
与六管静态MOS电路相似, 只是少了2个MOS管,其两个稳定状态是靠栅极电容C1,C2上的电荷来维持,因而需要外加一刷新电路,刷新周期是2ms.
字线W高选中电路
(3)MRAM(magnetic random access memory)记忆元件
MRAM即磁随机存取存储器,是一种利用磁化特性进行数据存取的内存技术,是一种用电子的自旋方向代表数字0,1的技术.其读写过程与DRAM相似.原理图见.
优点: 是非易失性存储元件,不需动态刷新.
磁化过程短,存取速度快.达到CACHE速度.
存储密度高,达到DRAM水平.
制造材料以铁,铝为主,成本低.
结论:是非常的前途的内存存储元件.
记忆元件
——Read Only Memory
特点:只能读出,不能写入的无源存储器,是非易失性器件.主要用于存储常用的固定信息, 根据其物理特性可分成:
(1)ROM(Mask ROM)
即MROM,采用二次光刻掩模工艺一次制成.
(2)PROM(Programmable ROM):常用的是熔丝型.
写入:出厂时完成,存“0”要用大电流把熔丝熔断,断后不能恢复.
读出:如选中W0(若为高),在位线b0,b1,b2上输出100.
如选中W1(若为高),在位线b0,b1,b2上输出011.
(3)EPROM(Erasable Programmable ROM):可改写的ROM
也称可擦可编程的ROM.常用的是用浮动栅雪崩注入型MOS管构成,称FAMOS (Floating gate Avalanche injection MOS ).
按擦除方法,可分成两种EPROM.
记忆元件
——Read Only Memory
紫外线擦除EPROM(UVEPROM--Ultra Violet EPROM)
特点:有一石英窗口,改写时要将其置于一定波长的紫外线灯下,照射一定时间,使浮栅上的电荷形成光电流而泄放掉.
恢复到不带电的“1”状态.即回到信息擦除状态.然后才可重新写入信息.写后要贴住石英玻璃窗口.此类EPROM存在两个问题:
A.用紫外线灯的擦除时间长.
B.只能整片擦除,不能改写个别单元或个别位.
电可改写EPROM(EEPRPM--Electrically Erasable PROM)
可字擦除,页擦除和全片擦除,都可联机状态下擦除.
3.闪速存储器(Flash Memory)又称快擦存储器.
是在EEPROM基础上发展起来的新型电可擦可编程的非易失性存储器
(1)特点:高密度/非易失性/读/写, 兼有RAM和ROM的特点.但它只能整片擦除.可代替软盘和硬盘.擦写次数可达10万次以上.读取时间小于10ns
脱机擦除
主存储器组成
存储体
读
写
电
路
数据
寄存器
MDR
驱动器
译码器
地址寄存器
MAR
控制电路
….
数据总线
地址总线
….
….
…..
.
.
.
.
.
.
读 写
1.存储体:即存储单元的集合.
多位扩展芯片连成存储器.
扩展方式:存储芯片连接成存储器的方式
(1)字扩展方式:
定义:字长不变字数(单元),增字数.
举例:4*(16K*16) 64K*16
●结构:原16K=214,现64K= 216,增加2根地
址线. A14
A.选片: A15
B. A0~ A13:片内地址,选中该片中的某字.
根数据线D0~ D15并联到CPU的DB上
CS0 CS1 CS2 CS3即片选端
(2)位扩展方式
定义:字数不变,位数增加.即用多片对字长进行扩展.
举例:64K*1 64K*8
●结构:A:CS--各片的CS连在一起.
B. R/W:R/W=1,读;R/W=0,写.
C.地址线16条: A0~ A15 CPU的16根地址线. 64K= 216
D.数据线: D0-D7 CPU的8根数据线.
(3)字位扩展:即字位方向同时扩展.
若存储器容量为M*N, 芯片容量为L*K
则所需的芯片数为M/L*N/K.
(4)段扩展:可认为是位扩展的一种.即每个字的所有位分布在几个芯片之中,每个芯片只含字的几位.增加芯片,字数不变,而字的位数增加.
2.地址编码(encode)和译码(decode)
(1)地址译码器:是把地址码变换成驱动字线电位的逻辑电路.
2n根字线 选一.
(2)双向译码结构:若地址码为10位
单向译码: 210=1024条驱动线 1024个驱动电路.
双向译码:25 .25=32*32,只需32+32=64条
3.数据读写:
CPU MM
(1)读:
从存储器取一字节(字)
CPU指定存储字地址 MAR MAR
CPU 读请求
CPU MM;
MFC--Memory Function Complete
地址译码器
MAR
MDR
CPU
MAR
MBR
MM
MAR
MDR
AB
DB
CB
R/W
MFC
AB
CB
MFC
详见图
3.数据读/写
MM MDR DB MBR
(2)写操作:即存一字 MM
CPU指定存储字地址 MAR MAR; 送地址
CPU将待写的信息字 MBR MM的MDR; 送数据
CPU 写命令
CPU MM;
(3)控制方式: CPU MM
同步(synchronous):数据传送在固定时间间隔内完成.时间间隔由统一的时钟脉冲决定.定时,定序.
异步(Asynchronous):存储器完成读写后, 用MFC信号告之CPU, 允许速度不同的存储器工作.
典型的SRAM读/写时序:即控制信号和数据按时间出现的顺序.
A.写周期:是进行两次连续写操作的最小间隔时间.
B.读周期:不同之处是WE一直为高(无效).
数据
AB
DB
CB
MFC
内存条
由安装在PCB(Printed Circuit Board)的内存芯片组成,有以下几种引线标准:
1.内存条的接口模式
(1)SIMM(Single In-line Memory Module, 单排双插式存储器模件):
有30线和72线两种,数据宽度:32位(4*8,无奇偶校验)或36位(4*9,有奇偶校验),最大支持64MB/条,现已淘汰.
(2)DIMM (Dual In-line Memory Module, 双排双插式存储器模件):
配SDRAM,168线,2个缺口,电压.
配DDR,184线,1个缺口,电压-II(240线,).
200线的产品,主要用于工作站和服务器.
(3)RIMM (Rambus In-line Memory Module)
配RDRAM,184线,2个缺口,.
(4)SODIMM:用于笔记本电脑.
2.内存工作模式
(1)同步动态内存SDRAM(synchronous RAM,SDRAM)
是与CPU定时同步的DRAM技术.使RAM与CPU共享一个时钟,同速工作.工作电压.是目前常用内存之一.
(2)双数据速率同步动态内存(Double Data Rate,DDR RAM)
允许时钟脉冲的上升沿和下降沿都能读出数据,在同频下是SDRAM的2倍.近来,又出现DDR-II.
(3)DDRⅡRAM:是在DDR RAM基础上进一步改进的内存技术.电压降低至.
(4)RDRAM(Rambus DRAM):用超高时钟频率简化每个时钟周期数据量.8位 16位传送, 使带宽增一倍.但价贵.
(5)极度数率动态内存
(eXtreme Data Rate DRAM,XDR DRAM),用超高时钟频率简化每个时钟周期数据量.
并行(parallel)存储结构
知识点:采用并行存储结构是为了从结构上拓宽存储器带宽
克服存取速度的并颈 提高带宽
双(多)口M
拓宽M的带宽 单体多字 带宽Bm=W/TM
多体并行
1.双口存储器(Dual Port Memory)
(1)特点:每个芯片有二组DB,AB,CB, 形成二个访问端口,允许二个端口并行独立的读写.
(2)注意:如2个端口同时访问同一存储单元,由片内仲裁逻辑(Arbitrate) 决定由哪个端口访问,可让2个CPU同时访MM,或1个端口面向CPU,1个面向I/O处理.
(3)应用:Cache-MM系统中的MM CPU中的通用寄存器
③多机系统中的双(多)口存储器
寻找高速元件
改进存储器结构(并行存储)
并行存储结构
——单体多字、多体并行
2.单体多字系统
(1)原理:据程序访问的局部性原理,要连续使用的信息(尤为指令)大多是连续存放的.
(2)结构:同一套地址系统,按同一地址码,在1个读周期内,取出n个字,每隔1/n主存周期送到IR去执行.
(3)图例:图中的结构的存储体,每个存储周期读n个字, 使带宽Bm=W/TM提高n倍.但遇转移或随机分布数时, Bm会下降.
3.多体并行系统:
特点:各存储体都有自己的1套地址寄存器,地址译码,驱动,读放和时序电路,各自可独立编址,又能并行、交叉工作.
(1)多体并行存储器的访问方式
并行存储结构
——多体并行
(1)访问方式:模:若MM中有N个存储体,称MM的模为N.
同时访问N个体:同时启动,并行工作.
交叉访问N个体:分时启动,错开1/N个存储周期.交叉工作
(2)编址: 体号:低位交叉编址(交叉),高位交叉编址(顺序)
体内地址
高位交叉编址:编址方法是体号为主存高位地址,低位是体内地址,此法每个体内的地址是连续的.即常规的顺序方式,访问地址按序分配给每个模块.
例图(b)中:高2位(体号)--选4个模块之一.
低3位(体内地址)--选每个模块中的8个字.
低位交叉编址:此时,体号是主存低位地址,又称交叉编址方式.例图(a)中:低2位(体号),高3位(体内地址).
优点:同一主存周期取出的是连续执行的指令或数,能提高访存速度,有利于减少冲突.
工作方式:
地址码
常规
交叉方式
并行处理机中的存储组织
并行处理机是指:
一台计算机中有1个指令部件和多个执行部件.
CPU M, ICN为互联网络.
存储结构可分成:分布(distributed)结构和共享存储器结构.
1.分布存储器结构:存储系统由
(1)SC(Supervisory Control--管理机):为常驻OS使用.
(2)PEM(Processing Element Memory--处理机存储单元):分
布在各处理单元中,用于存放程序和数据.高速磁盘是后援.
HD SC/PEM, 要合理分配各PE中的数据,以便使每个PE能依靠各自PEM中的数据进行运算.
(3)两条通信途径:ICN(Interconnection Network,互联网络)
CU(Control Unit):数 pem1 CU DB pem2 PE
2.共享存储器结构:仅一个共享存储器.
ICN
I/O接口
(Common shared)
相联存储器(Associative Memory)
知识点:搞清相联存储器与常规存储器检索信息原理的不同
1.计算机记忆功能的开发:
(1)两种信息检索技术:
按地址检索信息(常规):模拟人脑第一记忆功能的一维性.
按内容(或内容的一部分)来寻址:即相联存储器.
2.相联存储器的原理:是按内容(或内容的一部分)来寻址的.
(虚地址的)虚页号= ? 相联存储器中所有行的虚页号
取出相应的实页号
(1)字段:相联存储器中每个字由若干字段组成,每个字段描述对象的1个属性,即内容.
(2)基本操作:读、写、检索(比较),检索只能按内容进行.
(3)检索过程:如检索一名为“李四”的学生,步骤如下:
用屏蔽寄存器(MR)选择出‘姓名’字段,并清代码寄存器.
内容相等
相联存储器(Associative Memory)
使用比较电路,将‘李四’作为关键字,并将它与全部项的‘姓名’内容进行‘相等’比较.
找出姓名为‘李四’的,把其字的相符标志位置‘1’.
用字相符标志控制译码电路,读出其内容.
3.附加操作:>,<,MAX,MIN等逻辑检索,比一般M贵且复杂
4.用途:用于虚拟存储器中存放段表、页表、快表及cache的指令cache,数据cache及数据、 指令的混合cache等.
Cache中,将主存字块地址 =? 每个cache字块的‘标记’
命中
不命中 调新块到cache
相等
不相等
辅助存储器
要点:辅存的主要技术指标,存储原理(以磁盘和光盘为重点)
辅存是主存的后援存储设备,存放暂不使用的程序和数据.
对辅存的基本要求:容量大,成本低,可脱机保存信息.
辅存的主要技术指标:
1.记录密度(Density):
(1)道密度(径向):单元长度的磁道数.TPI(track per inch)或TPM(track per mm).
(2)位密度(线密度):单位长度磁道能记录的二进制信息的位数.单位为bpi(bit per inch)或bpm(bit per mm).
磁盘位密度D0=fi /.dmin 其中,
fi --每道总位数; dmin 为磁道同心圆的最小半径.
注意:各磁道上记录的信息量相同而位密度不同,一般的磁道位密度是指最内圈磁道的位密度(因直径最小),即最大位密度.
辅存的主要技术指标
2.存储容量:
指存储设备所能存储的二进制信息总量.单位B或b.
(1)容量:C=; 其中 n--面数, T--每面磁道数
S--每道的扇区数, B--每扇区字节数
(2)格式化容量和非格式化容量:
非格式化容量Cnf :是磁表面可利用的磁化单元总数.
格式化容量Cf :指按某种指定记录格式所能存储信息的总量.一般, Cf = 60%~70%.Cnf .
3.平均寻址时间Ta
(1)寻址时间(定位时间):从接受读令 读写头到指定位置
TS:找道时间,读写头 指定道
Tw:等待时间,读写头 指定扇区
针对磁盘
求平均值Ta=Tsa+ Twa
T
辅存的主要技术指标
4.数据传输率R
(1)定义:指单元时间存储器读/写的二进制信息量.
R= ;D为存储密度(磁盘:位密度,磁带:位密度*磁道数)
V为速度(即磁介质通过磁头的速度)
注意:计算时,速度和密度的单位要一致.
例:D(b/mm)*V(mm/s)=b/s
5.误码率
(1)定义:是衡量存储器出错概率的参数.
=出错信息位数/ 读出的总信息位数
磁表面存储原理
磁表面存储器(磁盘,磁带)具有容量大,位成本低,保存时间长,读出时不必再生等特点.目前使用最广泛.
1.磁表面存储元:是利用铁磁材料的剩磁特性保存信息的.
(1)磁层:厚度-5m,采用 Fe2O3粉未制成的磁胶.
(2)存储原理:通过磁头和记录介质的相对运动完成读写
写入:电 磁
记录介质匀速运动(在磁头下) 磁头线圈通电 形成磁场 磁头间隔处形成漏磁场 形成磁化单元(存储元)
电流消失 漏磁场消失 磁层呈剩磁状态 磁头(软磁材料)回到未磁化状态.
读出:磁 电
磁头和磁介质相对运动 切割磁力线 感应电压e
磁头:是实现电 磁转换的装置.由软磁材料制造.
在读出线圈二端
e= /dt
(硬磁材料)
2. 数字磁记录格式
1.定义:实质是一种编码方式,即
二进制数 存储介质磁化翻转形式的规则.
2.选择原则:主要由以下三点决定
(1)自同步能力 (2)记录密度 (3)可靠性
3.记录格式:(1)归零制(RZ--Return Zero)
写:正脉冲“1”,负脉冲“0”,在两信息间,线圈内的电流为0.
优点:简单易行,有自同步能力.
缺点:记录密度低,抗干扰能力差,少用.
(2)非归零制(NRZ--NO Return Zero)
特点:记录信息时,线圈中必有电流,不是正,就是负,不必回到无电流状态.信息有变化,电流才改向.即“见变就翻”.抗干扰能力较好.
缺点:无自同步能力.读出信息靠触发器计数得到。
读写控制电路
数字数据编码信号的波形
2.数字磁记录格式
(3)调相制(PM-Phase Modulation)
又称相位编码或曼彻斯特码.
特点:中间有跳变.利用二个相位相差180度的磁化翻转方向代表数据“0”和“1”.
记录“0”:电流由负变正
记录“1”:电流由正变负
优缺点:有自同步能力,抗干扰能力强,但频带窄.多用于磁带.
(4)调频制(FM-Frequency Modulation):用于单密度磁盘.
特点:在信息的交界处,写电流都要改变方向,利用中间有无跳变来记录‘1’或‘0’.
记录‘1’:写电流在信息位周期中央改变一次方向.
记录‘0’:电流方向不变.
优点:有自同步能力,在相邻二位间嵌入1位总是‘1’的同步信息.
连续记录“0”或“1”,信息交界处也要翻一次.
2.数字磁记录格式
(5)改进的调频制(MFM)和二次改进的调频制(M2FM):
用于双密度磁盘.
(6)评价标准:
编码效率:是位密度与最大磁化翻转密度之比.
FM,PM中记录1位数字信息的最大磁化翻转次数为2,编码效率为50%.
自同步能力(R):指从磁盘读出数据(脉冲序列)中自动提取同步信号(时间基准信号)的能力,可用最小磁化翻转间隔与最大磁化翻转间隔的比值R来衡量.R越大,自同步能力越高.
例:FM的最大磁化翻转间隔是位周期T,最小磁化翻转间隔是T/2,所以RFM=
磁盘存储器(Magnetic Disk)
磁盘存储器兼有容量大和存取速度高的优点,是目前应用最多的大容量联机存储器(on-line Mass Storage).
1.软盘及磁道格式:
(1)结构:基片是厚度为76 m的聚脂薄膜,两面涂有厚度为 m的磁层,有8”,”和”三种.
(2)磁道:是多个同心环,最外道是0道.OS按磁道号+扇区号寻址,索引作为0扇区的起始标志.
(3)格式化:即对磁道格式的划分.现用软分段方法,通过专门格式的软件实现.
软分段的磁道:由首部+扇区部分+尾部组成.
格式:ISO确定将IBM记录格式作为国际标准.
其中,ID(索引数据区)为4个字节,即:磁道号磁头号 扇区号 记录密度
C H S N
CPU
FDC
FDD
DISK
1.软盘及磁道格式
格式化过程:是对每条磁道按一定格式进行扇区分段,并登记各扇区的地址标记.格式化时,对盘面进行质量检查,发现坏块即记录在0道上.
开始逻辑扇区号 扇区数 内容
0 1 BOOT
1 9 FAT1
10 9 FAT2
19 14 FDT(共224个)
33 2846 用户文件区
2.软驱和控制适配器
(1)软盘驱动器(FDD--Floppy Disk Driver):
组成:A.盘片驱动和夹紧装置:夹紧盘片并驱动盘片旋转.
B.磁头及定位机构:使磁头径向移动,定位于磁道.
C.读写控制电路 D.保护机构 E.状态检测 F.其它控制电路
2.软驱和控制适配器
(2)软驱控制适配器(FDC-Floppy Disk Controller)
●功能:
A.信息格式转换: 串 并 DB ,并对信息进行检验.
B.寄存盘驱的各种状态:例ready,写保护,索引,0道等,供 CPU读出.
FDC 控制盘驱信息
控制
E.数据缓冲
命令
3.硬盘驱动器(HD-Hard disk Driver)
因硬盘的基片为铝合金,因其质硬而得名.存储原理同软盘.
(1)组成:HDC+HDD+DISK,盘片可由1,2,3,6,12等多种.
●柱面(clinder):是位于同一半径的磁道所组成的圆柱面,存取信息按柱面号的顺序进行,这可减少磁头移动时间.
(2)结构:
固定盘片 固定头
可更换盘片 可移动头
(3)温盘(WINCHSTER):指用温盘工艺制作的硬盘,该技术是由IBM公司位于美国加洲坎贝尔市温彻斯特大街的研究所研制的,1973年开始应用.其特点是固定盘片,可移动磁头和密封结构.
按盘片结构分
按磁头运动分
4.硬磁盘的格式化
低格(物理格式化) 分区 高格(逻辑格式化)
(1)低级格式化:对盘片上的扇区加标记,规定扇区的交错
因子.交错因子与主机处理速度有关.
PC/XT 6:1 286 3:1 386 1:1
(2)分区:目的是
●可在同一台机器上使用不同的OS,为每一OS建一分区.
●扩大DOS管理外存的能力.
基本DOS分区:建立系统文件,称C盘.
扩展分区:可建多个逻辑分区(盘),D,E,F,G.
●用DOS的FDISK或DM,ADM等软件.
FDISK FORMAT
DOS建二个分区
11
4
15
10
16
5
3
14
17
6
1
13
2
8
7
9
12
下图扇区的交错因子为 3:1
从386开始, 硬盘 交叉因子为1:1.扇区交错的目的是为了让读写头读写了
某扇区后,在读下一扇区之前,给主机一段处理刚读入数据的时间,而无需
让 驱动器停转或多转一圈。
4.硬磁盘的格式化
(3)高级格式化FORMAT:其作用是
●初始化硬盘,使记录格式为DOS所接受.
●检测出有缺陷的磁道和扇区.
●建立FAT和FDT表.
●在基本分区装入DOS系统文件.不同OS使用的区域.
主引导区可分:
主引导程序和分区信息 各类操作系统占用空间
●引导扇区:存放本分区参数和BOOT,占0扇区.
●FAT(File Allocation Table:文件分配表):描述盘上各文件具体位置和整个分区的使用情况,采用链式结构.有FAT1和备份FAT2.
主引导区
第1分区
第2分区
第3分区
第4分区
●
4.硬磁盘的格式化
●FDT(ROOT)表:文件目录表,每张表32个字节,最多放112个文件.
●数据区:存放用户数据和文件.
4.硬磁盘的格式化
●FDT(ROOT)表:文件目录表,每张表32个字节,最多放112个文件.
●数据区:存放用户数据和文件.
1 8 9 111213 14 16
文件名 类型名 创建时间
创建 最后访问起始最后修改最后修改起始
日期 时间 簇号 时间 日期 簇号
17 18 19 2021 22 23 24 25 2627 28 29 32
文件长度
属
性
文件的读写过程
●读文件:首簇号 磁盘基数表
文件
名
1. 文件检索 2.文件扇区位置 3. 物理扇区定位 4. 物理操作
●写文件:先把文件名写入FDT表的规定位置,然后顺序检索FAT表中的每个簇的表项值.发现第一个空簇便把文件内容写入该簇对应的扇区内.并把该簇号写入作为文件的起始簇号记入FDT表中.继续寻找下一个空簇.在相应扇区写入文件,并将簇号填入上一个簇在FAT的表项中,直到文件写完,在最后一簇写入文件结束标记。
FDT
FAT
磁盘扇
区定位
扇区物
理操作
5.磁盘存储技术展望
1.磁盘发展趋势:
小型,高速,大容量,高可靠性,从并行传送(ATA)到串行传送技术(SATA).
2.提高磁表面记录密度的关键技术:
(1)低噪音磁记录介质.
(2)采用高密度磁头及感应复合薄膜磁头成为主流技术.
(3)精密伺服机构,采用精密的传送定位技术.
(4)适应低S/N(信号/噪音)比的信号处理技术.
(5)垂直记录磁盘.
磁带存储器
1.特点:容量大,位价格低.格式统一,便于互换.但因只能顺序存取,速度慢,常作脱机存储用.
2.种类:(1)按带宽分:有1/4,1/2和1英寸三种.
(2)按带长分:有600,1200,2400英尺等.
(3)按记录密度分:有800,1600,6250bpi等.
(4)按磁带表面存储的信息密度分:有7,9,16道等.
(5)按磁带外形分:有开盘式(reel-to-reel tape drive)磁带和盒式(cartridge)磁带两种.
(6)计算机中常用1/4英寸盒式数据流磁带机和1/2英寸的开盘磁带机作为后备存储器.后者位密度可达8000bpi.
3.数据流磁带机(streaming tape drive):
是将数据连续地写到磁带上,每一数据块后有一个记录间隙,使磁带机在数据块间不启停,简化了磁带机结构,用电子控制替代了机构启停式控制,降低了成本,提高了可靠性.
3.记录格式:见图(P79).
光盘(Optical Disk)存储器
光盘存储器是多媒体计算机(MPC)的基本配置.
1.光盘存储的技术特点:
(1)记录密度高:面密度可达645Mb/英寸2(108b/cm2),是磁记录的10-100倍.容量大于650MB.
(2)非接触式读写,无磨损,可靠(光学头与盘面的距离几乎比磁盘与盘面的间隙大1万倍).
(3)可长期保存信息(60~100年).
(4)平均存取(读写)时间慢,为100~500ms,写入要秒.
单倍速(基本速率)=150KB/S
(5)误码率:<10-10-10-17
2.只读型(CD-ROM:Compact Disk ROM)和只写一次型(WORM:Write Once Read Many)光盘
He-Ne
激光器
调制信号
光速
分离器
光速分离器
光敏二极器
读出信号
径
向
跟
踪
反
射
镜
调制器
记录光束
物镜
旋转台
光盘
90%
10%
读出信号
聚焦系统
写一次型光盘光学系统示意图
激光器产生的光束经
分离器分离后,其中90
%作为记录光束,10%
作为读出光束.记录光
束经调制器,由聚焦系
统向光盘记录信息,读
出光束经几个反射镜
射到光盘盘片,读出信
号再经光敏二极管输
出.
-ROM和WORM读写原理
(1)写入原理:
主机来的数据 写数据
1m的激光束 加热 形成凹坑(‘1’-有坑,‘0’-无坑)
(2)读出:功率仅为写入光束1/10的激光束连续照射到光盘上. 凹坑处:反射率低; 无凹坑处:反射光强.
反射光 电信号
WORM和CDROM的读写原理同,只是前者由用户,后者由厂家来完成写入.
3.可擦写型光盘读写原理:
有磁光型(热磁反转)和相变型(晶态到非晶态转变)两种.
(1)磁光盘读写原理:利用激光在磁性薄膜上产生热磁效应来记录信息.热磁效应是磁记录材料受热而发生磁性变化的现象.
MFM
熔化
光检测器
磁光盘读写原理
●写入原理:激光照射磁性薄膜,使
A.被照射处:T娇顽力HC ,在外磁场HR的作用下,该处发生磁通翻转,使磁化方向与外磁场HR一致,存‘1’.
B.不被照射处:HR< HC ,寄存‘0’.
●读出:利用磁光克尔(kerr)效应读出数据,原理是:当激光束照到记录点时,记录点的磁化方向不同,引起反射光的偏振而发生左旋或右旋,从而检测‘1’和‘0’.
HR
HR
光源
(a) HR<HC时,不翻转
(b) HR>HC时,翻转
(c) 保存信息
相变光盘读写原理
原理:是利用相变材料(硫族化合物)的晶态和非晶态来记录信息,写入前全部是结晶态.(注:结晶态比非结晶态稳定).
(1)写‘1’:用短激光脉冲 使结晶态的存储介质局部熔化
非结晶态
写‘0’(擦除):用长激光的弱光脉冲使之复原为结晶态(加热至接近熔点时).
(2)读出:根据结晶态(反射率高)和非结晶态(反射率低)对激光反射率不同,可检测‘0’和‘1’.
(3)优缺点:相变光盘的访问速度比磁光盘稍快,但擦洗次数只有1000次左右,而磁光盘可达100万次.
骤冷
4.光盘规格(specification)
数字光盘有以下标准:
(1)CD-DA(compact disc-digital audio)规范及格式:
●技术标准(红皮书):
A.激光CD唱片标准:采样频率规定为
B.帧(frame):是存储声音数据的基本单位.
立体声:有2个通道,共2*(6*2)+2*4(校正码)=32个字节
C.光道:为非同心圆,是一条可展开的逐开线,长度可达5KM.
(2)CDROM规范及格式:
●转速:从1,2,4…..,50倍速等.
●安装方式:内置和外置式
●与CPU的接口规格: 接口:与硬盘同.
:高速,价贵. 接口:做在音频卡上.
CD-DA光盘规格
●存储信息格式:现有三种格式
-DA光道:用于存储声音数据.要求低,不要ECC码.
-ROM Mode1:用于存储计算机数据,要求高,有ECC码.
-ROM Mode2:用于存储经压缩的声音,静态图像数据和
ID:扇区标识区,4字节,用于说明该扇 区的地址和工作模式.光盘的扇区地址由分(MN),秒(SC)和分数秒组成。(FR:Fraction,1/75s),FR实为秒内的扇区号(0~74).因光盘的恒定线速度是每秒读出75个扇区.
MD:模式控制,用于控制数据区和校验区的使用,共有模式0,1,2三种.
00
FF(X10)
MN
SC
MD
数据
校验
12个字节SYNC
ID 4字节
2048字节 288字节
电视图像数据.
FR
分 秒分数秒
CD-DA光盘规格
●扇区模式0:在CD-ROM中作为导入区和导出区.数据区和校验区的全部数据为2336个字节,都为0.
●扇区模式1:每个扇区增288个字节的EDC码和ECC码.
每道容量为:
12 (同步域)+4 (标题域) +288 (EDC/ECC) +2048 (数据区)=2352
螺旋道上共270000个扇区, 所以总容量为270000*2048=552MB
●扇区模式2:与扇区方式0结构相似, 用于存放用户数据信息.因没安排检错和纠错码,因此 ,只能存放误码要求不高的信息, 如声音,图象等.
模式2不用EDC/ECC, 所有2336个扇区的每个扇区都可用于存放.
总容量为:270000*(2048+288)=630MB
直径:8cm较少。
CD-R74—存放650MB(可存文字相当150000张16开的纸)
的数据或74分钟的音乐。
12cm:
CD-R63—存放550MB的数据或63分钟的音乐。
注:光盘的1扇区为2048字节
CRI(Compact Disc-interactive)
与CD-R规范及格式
(3)CR-I规范与格式:
是1987年以Yellow Book为基础进行扩充而制订的Green Book(绿皮书)规范.
●定义:是一个完整的硬软件系统,含CPU,OS,MM,显控,音频输出及特殊视听压缩方法.是一种交互式光盘系统.
采用12cm光盘.
●特点:有一个CPU,形成一个可同时处理各种不同类型信息的计算机系统.因物理模式不同,与CD-ROM不能通用.
(4)CD-R规范与格式
是1989年制作的Orange Book(橙皮书)规范,用于可记录(写入)式CD.
(5)VCD(Video Compact Disk)及LD(Laser Video Disk)
概述:俗称小影喋,记录数字化视频和音频信息,可存储74分钟按MPEG-1标准压缩编码的动态图像信息.
VCD可用专门播放机,也可用CD-I播放机播放.
标准:1993年由JVC和Philips宣布,称白皮书.它定义的光道格式由长为2324字节的二种信息包(即扇区)组成.
-Video包:存储图象信号.
-Audio包:存储声音信号.
(6)LD (Laser Video Disk):
俗称影喋,记录模拟视频和音频信息,有30/60cm二种,最多可放60分钟,只能由LD影喋机播放.
交替的光道上排列
光盘的其它规范及格式
(7)photo CD:专用于存储数字化像片。
(8)DVD(Digital Video Disc):最初指数字激光磁盘,广义指Digital Versatile Disc(数字多功能盘),是一种高级致密高存储容量的光盘.共有:
SS(单面单层):;
DS(双面单层):; 是CD-ROM的7~26倍
DD(双面双层):17GB 传送速率为1350KB/S
(9)兰光光盘(Blue-ray Disk):
是一种新型光盘及数据格式,体积同CD和DVD.因采用兰色激光束进行数据的刻录,使存储容量提高5倍.
磁盘阵列(RAID:Redundant Array
of Independent/InexpensiveDisks)
1.工作原理:
类似于存储器中多体交叉,即利用多个磁盘交叉工作,并行读写,提高磁盘的存取速度和容错能力.使用RAID存储一文件时,要把文件的内容划分成容量相等的数据块,并写入组成一个逻辑磁盘的多个物理盘中,利用不同的存放策略可把RAID分成7种模式.下面仅介绍常用的RAID0, RAID1, RIAD4和RAID5及Intel公司独创的Matrix RAID。
(1)分条(stripping):将数据分成小条,按条并行存取,是针对主机请求读写数据而言的.速度最快.
(2)分块(declustering):是对群集的数据分成较大的块,将大块分到若干台磁盘上,是针对有效利用存贮空间而言的.
(3)交叉存取(interleaving):是从减少存贮空间而言的.
磁盘阵列(RAID:Redundant Array
of Independent/Inexpensive Disks)
(1)RAID 0模式:把连续的多个数据块交替地分别存放到不同物理磁盘的扇区中,几个磁盘交叉并行读写.此举主要提高了存取速度,也提高了容量.但无容错能力.
磁盘0 磁盘1 磁盘2 磁盘3 文件
1
5
2
6
3
7
4
8
1
2
3
4
磁盘阵列(RAID:Redundant Array
of Independent/Inexpensive Disks)
(2)RAID 1模式:
主要为了提高可靠性,使两个盘同时读写互为备份,称磁盘镜像.工作中若一盘出故障,可从另一盘读数据,既不影响工作,降低速度;又不丢失数据,大大提高数据的可靠性.
缺点:两个盘当一个用,容量减少一半.
磁盘0 磁盘1
1
2
1
2
镜像
磁盘阵列(RAID:Redundant Array
of Independent/Inexpensive Disks)
(3)RAID 4模式:在RAID 0的基础上,在N个存储数据的磁盘上再增加一校验磁盘.当N+1个磁盘中任一个出故障时,可利用其余的N个磁盘算出故障盘中的正确的数据内容.计算很费时.
P1为数据块1,2,3的奇偶值, P2为数据块4,5,6的奇偶值
1
4
2
5
3
6
P1
P2
磁盘阵列(RAID:Redundant Array
of Independent/Inexpensive Disks)
(4)RAID 5模式:工作原理与RAID 4类似,但不设专门的校验盘.例4个盘中有3个放数据,1个放校验值.实施时,每个盘轮流作校验盘.RAID 5目前用得最广泛.
磁盘0 磁盘1 磁盘2 磁盘3
1
4
2
5
3
P2
P1
6
7
P3
8
9
P4
10
11
12
RAID 5模式
例由4个物理磁盘构成的RAID5,因采用了磁盘分段技术,将每个磁盘分割成为存储块和校验块,数据就分布在每个磁盘上的数据存储块和校验块中,若4个磁盘中任一个发生故障,导致该磁盘数据丢失,可通过另二个磁盘中的数据块和校验块重新计算出丢失的数据,实现磁盘容错、数据冗余备份的目的。
RAID6
RAID7
RAID6:采用双磁盘驱动器容错的块交叉技术.因有两个盘驱用于存放检,纠错码,故数据的有效性和可靠性较高.
RAID7:采用分块技术外,还采用多数据通道技术和CACHE技术.多数据通道技术不仅能防止磁盘造成的错误,还能防止通道造成的错误,不能提高访问速度.详见图.
模式
Intel公司独创的Matrix RAID
Matrix RAID可解决RAID 0安全性较差和RAID 1模式性能不尽如人意的问题.可把Matrix RAID看成是RAID 0和RAID 1的结合体,只需二块硬盘便可实现.这二块盘被划分成二个区域:
1区:组成RAID 0,是高性能区,OS及应用程序可放此区.
2区:组成RAID 1,是高安全区,用于存储重要数据.
50GB
50GB
50GB
50GB
SATA硬盘(100GB) SATA硬盘(100GB)
RAID 0阵列,有效空间100GB
RAID 1阵列,有效空间50GB
区域大
小的分
隔可由
用户需
求而定
闪速存储器(flash memory)
闪速存储器(flash memory)是新型的电可擦,非易失性记忆器件.因常采用USB接口,也叫U(优)盘.具有以下特点:
1.兼有EPROM的价廉、密度高和E2PROM的电可擦、可重写且擦除、重写速度快的特点。
2.只能整片擦除.
应用:
1.用于便携式计算机的快速存储卡和”固态”盘代替磁盘.
X
地
址
译
码
器
0,0
0,1
0,31
1,0
1,1
1,31
31,0
31,1
31,31
Y地址译码器
…
…
…
.
.
.
.
.
.
.
.
.
X0
X1
X31
y0
y1
y31
A5 A6 A7 A8 A9
A0
A1
A2
A3
A4
图 双译码结构示例
返回
第二章 作业
注意:此题如按书中要求做,答案与习题集中不符.
计算机组成与结构
Computer Organization
and Architecture
(第三章)
顾 浩 赵宝华
目录
外部设备
输入/输出中的数据传送控制
接口
I/O设备管理
第3章 输入/输出及其控制
I/O系统:是计算机主机与外界交换信息时硬软件设备的总称.
三大组成:
1.外部设备:围绕主机而配置的各种信息媒体转换和传递的设备.
2.设备控制器与接口:即设备适配器,是用以控制主机与外设间的信息格式转换、交换过程及外设运行状态的硬、软件。
主
机
I/O
接口
设备
控制器
机电
磁光
部分
外设
返回
详见图
4. Amdahl定律
Amdahl定律:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性.
系统加速比=系统性能改进后/ 系统性能改进前
推论:若仅对计算机中的一部分作性能改进,则改进越多,系统获益越小.
举例:若一台计算机的I/O处理占10%,当其CPU性能改进,而I/O性能保持不变时,系统总体性能会出现什么变化?
若CPU的性能提高10倍 若CPU的性能提高100倍
解:若原来的程序执行时间为1个时间单位.
若CPU的性能提高10倍,则程序的计算(含I/O处理),时间为
(1-10%)/ 10+10%=,即整机性能只提高1/=,差不多有50%的CPU性能浪费的I/O上.
若CPU的性能提高100倍,则程序的计算(含I/O处理),时间为
(1-10%)/ 100+10%=,即整机性能只提高1/=,不到10倍。
外部设备(peripherals)
外设分类及其发展
1.外设及分类:外部设备也叫外围设备.
(1)定义: 除主机外,直接或间接与计算机交换信息,改变信息媒体或载体形式的装置.
(2)分类:●人-机交互(interactive)设备:
是人-机交换信息的设备.
把人五官识别的信息媒体 计算机可识别的信息
如打印机,显示器,绘图仪等.
●机-机通信设备:是一台计算机与其它计算机或别的系统间通信的设备,如Modem.
●计算机信息的驻在(resident)设备:如计算机的外存,磁盘,光盘,磁带等.
本章重点介绍人-机交互设备.
外设分类及其发展
2.人-机界面(interface)技术的进步
计算机系统的三大要素:硬件,软件,人-机界面.
人-机界面技术:符号 图形 多媒体 虚拟现实
(1)符号界面技术:
基于机器端的全手工操作方式直接的符号式人-机界面技术(语言人机交互设备)
(2)图形界面技术:图形设备蓬勃发展.
(3)多媒体界面技术:
大部分信息靠人的视觉(65%)和听觉(20%)接受.当人的几个不同器官(尤为视,听觉协同接收相关信息时),人与该信息的连接性比单独用1个器官要高得多.
据上述原理,开发对文本,声音,图形和图象的综合处理即多媒体计算机技术.
外设分类及其发展
●多媒体技术的核心:
A.开发具有视觉,听觉和说话能力的外部设备.
B.高速,大容量的计算机系统.
C.视频和音频数据压缩和解压缩技术.
D.人工智能和交互式技术.
(4)虚拟现实(virtual reality):
VR技术又叫灵境(或幻境)技术.是以某些直接感觉为引导,借助人脑的联想,激发其它非直接感觉神经活动,产生的一种幻觉.VR技术是想象力和电子技术的结合,它用一套全新的电子刺激代替真实世界的各种感觉,使人在计算机仿真中,有“身临其境”的感觉.
3.绿色计算机:它是科技与环保的结合.要求包括:
(1)节能 (2)低污染 (3)易回收 (4)符合人体工程学
字符设备
1.键盘:是最主要的字符设备.
(1)基本组成元件:按键开关.
(2)分类: 触点式—借助金属通/断两个触点来输入信号。
非触点式—借助霍尔效应开关和电容开关产生输入
信号。
全编码键盘—通过识别键的按下及其位置,由全编码电路产生唯一对应的编码信息.
非编码键盘—利用简单的硬件和一套专用键盘编码程序识别键的位置,CPU将位置码通过查表程序转换成编码信息.
对键盘行/列扫描 确定位置 得到位置码 内码
用硬/软件消除键盘的抖动.
2.字符发生器:作用是将字符的字形数字化.字形数字化的基本方法是将字形分割成点阵图象.
查表
3.打印设备
是一种硬拷贝设备,作用是将输出信息打印在纸上.产生永久性记录.
(1)按印字原理分类:击打:活字式和点阵式。
非击打:采用电、磁、光、喷墨等方式。
(1)按工作方式分类:串行—逐字打印.
并行—逐行打印.
4.字符显示设备
显示设备是将各种电信号变为视觉信号的设备.
1)显示方法:
●点阵法:由若干像素(pixel)组成字符.
●向量法:用若干依次产生的向量形成字符.
●特殊法
2)显示设备:按显示器件分类
(1) CRT:即阴极射线管
●原理:用一电子束密集地对荧光屏高速逐行扫描,通过控制电子束上各点的隐和现,在荧光屏上显示字符或图形.再重复行扫描,维持屏幕原图形连续显示或反映字符图形的变化.
●优缺点:清晰度高,实时性好,可动态显示.但体积大,耗电多,需高压供电.
(2)液晶显示器LCD
●原理:利用特殊的液晶材料的分子,受电场,磁场等外部条件作用,会重新排列,具有各向异性的光学特性.在电场作用下,液晶分子发生扭曲和排列结构的改变,产生光散射,旋光,双折射效应.当有环境光或背景光时,经光的透射而显示文字或图形.
●分类:
扭曲阵列类:有TN,STN,已趋于淘汰.
薄膜场效应晶体管TFT:是目前LCD的主流.
3)显示器的分辩率:见节.
图形与图象(image)设备
图形:是用计算机表示和生成的图(称为主观图象)是基于绘图命令和坐标点的存储和处理.
图象:处理的对象多半来自于客观世界,是基于象素点的存储和处理.
计算机图形学是真实物体或虚构物体的图形综合技术.
图象技术是景物或图象的分析技术,是计算机图形学的逆过程.两者的结合日益紧密,相互渗透.
1.绘图仪(plotter):
与图形显示器的不同点:输出永久性图形.
图形显示器:输出一过程图形的设备
2.摄像机和扫描仪(scanner):输入设备.
形成图形的原理相同
扫描原稿
镜头
光信号
光源 CCD
电信号
电路系统
TWAIN
A/D
CCD:电荷耦合器件
光电转换软件标准
3 图形与图象显示器
是以可见光形式传递和处理信息的设备,是目前计算机系统中应用最广泛的人-机界面设备.
1)图形显示器:指用计算机通过一定算法产生点,线,面,阴影,色彩等.即图形是由图形程序产生的.
DDA(Digital Differential Analyzer):作用是进行数据插补,把显示文件变成象素文件.
2)图象显示器:如图所示,
原理:CPUI/F VRAM (显存) D/A CRT
显示标准:支持不同最大分辨率和颜色数目.
MDA/CGA EGA VGA(第三代,里程碑) SVGA(VGA的扩展集,1280*1024)
刷新存储器(VRAM):存放显示图案的点阵数据,其存储容量取决于设定的工作方式.
——A/D摄像机
3.图形与图象显示器
VRAM(显存容量的计算)
A.颜色位数(颜色深度):是每个象素用于表示颜色的位数.
颜色位数=log2 颜色数
256 8位
65536 16位
16777216 24位(真彩色)
VRAM容量(b)=分辨率(行数*列数)* log2 颜色数
例表中,
C=640*480* log2 256=2457600/8/1024=300KB
C=1024*768* log2 65636=12582912/8/1024=1536KB=
输入/出中的数据传送控制
本节重点:介绍CPU对输入/出过程的控制,有程序查询,中断控制,DMA,通道控制等方式.
直接程序传送控制
特点:外设的操作(启,停,开始传送等)都由CPU指令指定.
I/O过程全在CPU指令控制下进行.
外设与CPU的数据传送有两种方式:
1.无条件传送方式(亦称程序定时或同步传送方式):
(1)工作原理:最简单的一种传送方式.象CPU控制内存读写一样 ( CPU主动控制),用于对采样点的定时采样或对控制点的定时控制等场合.
输出(写):CPU发地址选外设送数到DB — 外设的数据缓存
CPU外设
输入(读): CPU发地址选外设外设的数据缓存 读数到DB CPU
外设CPU 寄存器
(2)程序实例:见P111,第2位为传送出错位.
写令
读令
2.程序查询传送方式(polling)
(1)特点:利用程序控制实现CPU与I/O设备间的数据传送.
(2)控制过程(以输入为例):
CPU 送设备地址 选中设备控制器
测busy位 = 0 是0 发命令字启动外设置busy =1 置ready=0 测ready = 1
接口 接收CPU命令 启动外设
输入数据 数据缓冲寄存器
外设:完成输入 置ready = 1 告CPU
CPU:数据缓冲寄存器DB CPU寄存器
(3)缺点: CPU与外设串行工作,CPU大量时间处于等待,效率低.
CPU只能一段时间与一台外设交换,无法使其它外设同时工作,即单机串行工作. 检错难.
(4)适用场合:除单片机外,很少用.
AB
?
?
控制
公用寄存器
0
忙
1
0
就绪
1
动作开始
动作结束
交换数据
数据缓冲寄存器
设备
选择
数据总线
地址总线
CPU
接口
设备
置”1”
置”0”
“准备好”
(1)
(6)
(5)
(2)
(3)
(5)
(4)
图 程序查询方式的I/O控制器示意图
返回
程序中断控制
1.中断(interrupt)的概念
中断的概念是50年代中期提出的.它的出现是计算机系统结构中的重大变革(里程碑).它特别适合处理随机出现的事件.
中断:一种对紧急,突发事件的处理模式.当遇到此类紧急事件,CPU暂停执行当前程序转而执行更紧急的程序,并能在执行结束后自动恢复原先程序的过程.
中断源:即引起中断的事件(event).
中断子程序:专门处理紧要事件的服务程序.
2.中断过程(以启动打印机为例):
(1)CPU:启动打印机响应打印机中断请求1 进中,送数返回….响应中断请求2.
(2)打印机:准备向CPU发中断请求进中,交换数打印
(3)结论:CPU与外设在大部分时间并行工作(宏观上),中断服务时间在微秒级,打印一行字要nms~几十ms.大大提高了计算机系统的效率.
实际的中断过程复杂一些,要经中断请求响应处理返回的过程.
CPU工作
CPU工作
CPU不工作
主程序执行
CPU的其他工作
启动打印机
中断服务子程序
(数据传送)
响
应
中
断
中
断
返
回
响
应
中
断
中
断
返
回
CPU工作状况
交换数据
交换数据
中
断
请
求
中
断
请
求
空闲
准备
打印
打印
(b) 打印机工作状况
图 CPU对打印机的中断服务
返回
中断服务子程序
(数据传送)
1.中断请求
1)中断源:是中断的发生源.
中断种类: I/O设备中断:键盘,打印机等.
数据通道中断:如磁盘,磁带等.
实时时钟中断:用于定时.
故障中断:断电,设备故障等.
系统中断:如溢出,数据格式错,校验错,非法指令等.
调试程序用中断:单步.
内部中断:如系统中断. 外部中断:由CPU外部引起.
强迫中断:由故障引起. 自愿中断:程序预先的,如软中断.
2)中断请求的提出:
中断请求触发器(INTR):为每个中断源设置1个
外部事件发生置INTR=1 ——— 置INTR=0
提出中断请求的方法:
A.单线中断:INT=INTR1VINTR2V…..VINTRn,CPU再按序查询.
B.多线中断:一个中断源1位.
CPU响应后
…
…
I / O1
I / O2
I / On
…
I NTR1
I NTR2
I NTRn
I NT
CPU
…
I / O1
I / O2
I / On
…
I NTR1
I NTR2
I NTRn
I NT
CPU
I NTA
≥1
(a) 多线中断
(b) 单线中断
图 中断请求
返回
INTR0
INTR’0
INTR1
INTR2
1
&
INTR’2
1
&
INTR’1
&
…
INTA
&
&
1
INTR1
&
&
1
INTR2
&
&
1
INTR3
&
&
1
INTR4
≥1
INT
至下一级
允许中断1
允许中断2
允许中断3
允许中断4
图
中
断
排
队
线
路
返回
(a)独立请求线的中断排队线路
(b)串行优先链中断排队线路
&
IM
0
1
IR
1
0
IR
图 中断屏蔽
返回
CPU向I/O
发读令
CPU读I/O
状态
Ready?
从I/O读一字
到CPU
CPUMM
完成?
N
Y
现行程序
N
Y
现行程序
CPU向I/O
发读令
CPU做
别的事
CPU读I/O
状态
查状态
从I/O读一字
到CPU
CPUMM
完成?
准备就绪
I/O设备工作
N
Y
中断请求
错
对
CPUI/O
I/O CPU
I/O CPU
中断过程
出错
1.中断请求
(3)中断排队:多个中断源同时发中断请求,CPU要排出处理顺序,让最紧急最重要的,处理速度要求较高的事件优先处理,即优先权(priority).
判优原则:A.不同级的,按级别高低依次处理.
B.高级中断可中断低级,即中断嵌套(nest).
较低级的中断不可中断高级,同级中断不能被同级再次中断.
C.同级中断源同时申请中断时,按事先约定次序处理.
实现方法:
A.硬件判优:优先级高的设备提出中断请求后,自动封锁优先权低的设备.
B.软件判优:需编写查询程序.
(4)中断屏蔽:即CPU暂不理睬某些中断,但仍保留信号,以便条件允许再响应.方法是在I/O的各中断线路中设1个屏蔽触发器IM.
(5)中断的屏蔽(MASK)和开放
禁止中断:CPU拒绝任何中断.
何时禁止中断:
A.系统处于2个程序的转换阶段:即在中断过程或刚响应时.
B.正在执行某些不允许中断的程序:如过程定时控制程序.
为控制是否响应中断,CPU设置了
中断允许触发器IFF:IFF=1,允许中断开中命令(STI)
IFF=0,禁止中断关中命令(CLI)
CPU响应中断条件C=,可用与门实现.
指令顺序
K
L
DI
EI
响应中断
不响应中断
响应中断
2.中断响应
有中断请求
CPU响应中断的条件 CPU允许中断(处于开中状态)
一条指令执行过程中,不能响应中断
中断响应实质上是在计算机中执行1条隐(implicit)指令.它是机器指令系统中没有的指令,由硬件自动完成.
保存原程序的断点和状态
转向中断服务程序
(1)断点和现场的保存与恢复
断点:是CPU响应中断前,即将要执行的下条指令的地址.
保存断点:用中断隐指令完成.
保存通用寄存器和FL(或PSW):用中断服务程序.
中断隐指令功能:
(2)转中断服务程序入口
中断处理的关键是寻找中断服务程序的入口(entry),即第一条程序的地址.
常用向量(vector)法和查询法(polling).
向量中断:是硬件实现方法,是中断源自己引导CPU获取中断服务程序入口地址的中断过程.向量地址由硬件产生.
注意:A.向量地址是永久分配好的.
B.向量地址与中断服务程序的入口地址是不同的概念.
[中断向量地址] 中断服务程序入口
中断引导程序查询:
通过预先编好的查询程序,按顺序查询哪个I/O设备有中断请求,处理速度较慢.
3.中断流程:见P179的图.
间接寻址
4.中断系统的组成
中断系统的功能,由硬软件紧密配合,共同实现.具体实现,各机不同.
(1)程序中断控制器:增加了4个触发器和1个寄存器.
准备就绪触发器(RD):
程序查询方式:是ready标志.
中断方式:用作中断源触发器,即中断触发器.
允许中断触发器(EI):EI=1,对应设备可向CPU发中断请求中断请求触发器(IR):暂存中断请求线上由设备发出的中断请求信号.
中断屏蔽触发器(IM):IM=0,CPU可受理中断.
IM=1,CPU不受理中断.
中断向量寄存器(IVR):存放对应于中断请求的中断服务程序入口地址.
+
返回
(2)控制过程(以输入为例)
启动外设 外设接口“忙”标志BS=1 RD=0.
BS=1 RS(外设启动信号).
设备的数据 接口中的数据缓冲寄存器.
设备动作结束 RD=1 BS=0.
当EI=1,接口向CPU发中断请求.
指令执行结束后,查中断请求线,把请求信号 IR.
当IM=0,CPU在1条指令执行结束时,受理外设中断请求 发中断响应信号INTA.关中断.
转向该设备的中断服务程序入口.
CPU读数据,把数据缓冲寄存器内容—— CPU寄存器组.
CPU发控制信号C BS=0,RD=0.
输入指令
(3)中断服务程序
分起始,主体和结尾三部分. 保护断点:由中断隐指令完成.
起始部分功能: 保存通用寄存器和FL:中断服务程序
主体部分功能:完成相应的中断处理操作,即中断服务(设备服务).
结尾部分功能:恢复现场,最后一条必须是中断返回指令IRET.
5.多重中断:
(1)即中断嵌套:在某个中断过程中又发生了新的中断.
(2)举例:如图,中断顺序:1234
主②③ ② ③ ④
主②① 停② ① 主
结论:可改变屏蔽位的信息来改变多重中断
处理次序.
保护现场
主
程
序
一级
二级
三级
返回
高
6.中断处理的缺点
(1)从宏观上看:
程序中断方式克服了程序查询方式中CPU的“踏步”现象,实现了CPU与 I/O的并行工作,提高CPU的资源利用率.
(2)从微观上看:CPU在处理中断服务程序时,仍需暂停原程序的正常运行,尤其当高速I/O设备或辅存要成批与主存交换信息时,不断地打断CPU执行主程序而执行中断服务程序.实际造成主程序与中断服务程序抢占CPU的现象.
主程序 继续执行主程序
启动外设
继续执行
主程序
服务程序(传数)
服务程序(传数)
传数
传数
准备工作
准备工作
准备工作
发中断请求
结论;人们要探索使CPU发挥更高效率的DMA控制方式.
DMA(Direct Memory Access)控制
主存
ACC
DMA接口
I/O
设备
中断接口
中断方式数据传送
通路
输入指令
输出指令
DMA方式数据传送通路
从上图可见,DMA控制是在内存与设备间开辟一条直接数据传送通路,并
把传送控制过程交给DMA控制器管理,形成了以存储器为中心的体系结
构. DMA控制器可看成是与CPU共享存储器的处理器,主存与设备交换信
息,不必通过CPU,也不必让CPU暂停现行程序为设备服务,省去了保护与
恢复现场,因此,工作速度比中断高.这一特点,特别适合于高速I/O或外存与
主存的信息交换.
* DMA的本质是一种完全由
硬件执行I/O交换的工作方式.
传送方式
DMA控制器与CPU常用以下三种方式分别占用内存.
(1)CPU暂停访问内存:
对CPU来讲,DMA的优先级高于中断.CPU暂停访问内存是用DMA信号迫使CPU暂时让出总线控制权,传送完毕后, DMA控制器再把总线控制权交还给CPU.
优点:控制简单,适合于传送率很高的设备进行成组传送.
缺点:DMA访存时,CPU基本处于不工作状态 (standby),CPU与内存的
效率没充分发挥.因为外设传送2个数据间的间隔总是大于内存存储周期.如软盘读出1个字节要32S,半导体存储器也要1S,许多空闲的存储器周期不能被CPU利用.
(2)DMA与CPU交替访问内存:
此法适用于CPU工作周期比内存存取周期长很多的情况.
思路:把存储周期分成C1,C2二个分周期,C1--专控DMA控制器访内存
实现两者交替访内. C2--专控CPU访内.
优点:不需总线使用权的请求,交权快,高效.
缺点:硬件逻辑复杂.
返回
CPU
返回
返回
预处理:
内存起始地址 DMA
设备地址 DMA
传送数据个数 DMA
启动设备
数据传送:
继续执行主程序
同时完成一批数据传送
后处理:
中断服务程序
做DMA结束处理
继续执行主程序
CPU
允许传送?
主存地址送总线;
数据送I / O设备(或主存);
主存地址+1;
BC内容(传送个数)减1
数据块
传送结束?
向CPU申请程序中断
DMA请求
Y
N
N
Y
(a) DMA传送
(b) 数据传送阶段的细化
图 DMA传送过程
返回
传送方式
(3)直接访问和周期挪用(cycle stealing)
思路:
当外设无DMA请求:CPU按程序要求访内存.
当外设无DMA请求:外设挪用1个或几个内存周期,进行数传.
直接访问方式:CPU不访内存,外设可挪用1~2个内存周期,是标准的DMA方式.
周期挪用方式:当CPU与外设同时要访内存时,通常让外设优先访内,外设挪用1~2个内存周期.意味着,CPU推迟对指令的执行.
优点:与第一种方法相比,此法既实现了I/O传送,又较好地发挥了内存与CPU的效率,被广泛使用.适用于外设读写周期大于内存存储周期的情况.
缺点:外设每挪用1个主存周期,都要经历申请总线控制权建立总线控制权归还控制权的过程.
前2种方法
的析中
控制器
又称DMA接口.实际上,是采用DMA方式的外设与系统总线间的接口电路.此接口电路是在中断接口的基础上再加上DMA机构组成.
(1)DMA控制字:与机器指令类似.有一定的格式.
(2)组成: 内存地址计数器BA:存放待读写数据的首址.每传一字,减1.
字计数器BC:对传送的字节数计数.
状态(控制)寄存器:是核心部分.
(3)操作:
接收外设的DMA请求向CPU发DMA请求获总线控制权取得传送参数后传送数据指出DMA传送结束,交权
传送过程
三阶段:DMA预处理数传DMA后处理
(1)DMA预处理:CPU执行几条I/O指令
设备号DAR 启动设备送始址BA CPU继续执行程序
个数BC
(2)数据输入/出操作:以字/数据块为单位.
输入(从外设内存):
数读入BD(数据缓存) BA 内存AR BA+1 BC-1
输出(内存外设):操作同上,只是启动读操作.
(3)DMA后处理:
CPU响应“DMA结束”中断暂停原程序执行中断服务程序DMA结束处理工作
注:DAR:设备地址寄存器
BA:内存地址计数器.
BC:字计数器.
内存的MDR
=0,结束
小结
与中断方式相比,DMA方式具有:
(1)程序中断:靠程序切换,CPU停止现行程序,转去执行中断服务程序.
DMA:靠硬件切换,CPU不直接干预数据交换,只在头,尾管一下.
(2)从CPU响应时间看:
程序中断:只能在一条指令执行结束时响应.
DMA:可在指令周期内的任一存取周期结束时响应.
(3)程序中断:具有异常事件处理能力.
DMA:无此能力,用于批量数据传送的场合.
(4)程序中断:要中断现行程序,需保护现场
DMA:不必上述过程.
(5)DMA的优先级比程序中断高.
取指令
取源操作数
取目的操作数
执行
CPU工作
DMA允许响应时刻
中断允许
响应时刻
指令周期
通道(channel)控制
通道是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入/出的传送控制.CPU只负责“数据处理”.这样通道与CPU分时使用内存,实现了CPU内部运算与I/O设备并行工作.
通道一般用于连接众多外设的大,中型计算机系统中.
1.通道控制原理:
(1)通道指令和通道程序:
通道独立于CPU,它要指出读、写操作,始址和传送数据个数等.由二个或数个通道控制字(CCW)组成.
用通道指令编制程序执行完成传送全过程.
(2)输入/出指令:有启动,查询和停止三类.
(3)输入/出中断:通道和输入/出设备采用“中断”方式及时向CPU报告工作情况,称输入/出中断或外设中断.
输入/出中断可分成:“正常结束中断”,“进程中断”,“故障中断”和“干预中断”.
2.通道的功能:共7条,详见P129.
3.通道的基本构造
通道是一个完整的处理机,与CPU的区别在于它是一个专用处理机.一般有:
(1)通道指令寄存器Jz:存放正在执行的通道命令.
(2)代码缓冲寄存器Jn:是外设与内存交换数据时的暂存处.
(3)节拍发生器:产生通道工作的节拍,使通道工作有序.
(4)操作控制器:按通道节拍产生通道微操作.
(5)传输控制电路:控制并传送外设与通道间的代码及信号.
(6)排队器:根据预先确定的优先次序,对各子通道提出的请求进行排队.
(7)地址形成电路:相当于CPU中的程序计数器PC.
存储器管理部件
CPU
内存
选择通道
磁盘
控制器
磁盘
控制器
磁盘
磁盘
磁盘
磁盘
…
I / O总线
字节多
路通道
设备
控制器
设备
控制器
设备
设备
设备
…
I / O总线
数组多
路通道
设备
控制器
设备
控制器
设备
设备
设备
…
I / O总线
图 IBM 4300 系统I / O结构
返回
返回
4.通道控制的工作过程
一般经启动,传送和结束三阶段.
(1)CPU执行输入/出指令:由专门的外设管理程序负责准备本次传送的信息,组织好通道程序,送首址到约定单元或专用寄存器,执行输入/出指令,向通道发“启动I/O”命令.
(2)通道控制外设进行传输:从约定单元或专用寄存器取通道程序首址,根据首址从内存读第一条通道指令.
检查该通道的状态是否能使用.若不能用,回答启动失败.
若能使用,则把第一条通道指令的命令码发到响应设备进行启动.等到设备回答并断定启动成功(或失败),建立“已启动成功”或“启动失败”的特征.结束操作.
启动成功后,通道可处理其它工作,设备执行通道指令规定的操作.
若是传送数据操作,设备发出申请,排队.通道响应设备申请,将数从主存经通道发至设备(或反之).
(3)通道指令执行结束及输入/出结束
5.通道类型
(1)字节多路通道
(byte multiplexor channel)
是低速共享通道,在时间分割基础上,为多台低,
中速外设服务.它包含多个子通道,每个为1个设备
控制器服务,每个设备轮流占用很短的时间片.
(2)选择通道(selector channel)
以成组方式传送.是一高速通道,适合快速设备(如固定盘),物理上可连多个设备,但这些设备不能同时工作,每次只能选一个.
(3)数组多路通道(Array multiplexor channel)
是对选择通道的改进,当为某设备进行数据传送时,通道只为该设备服务,当设备在执行寻址等控制动作时,通道暂时断开与该设备的连接,挂起为别的设备服务.
字节多
路通道
设备
控制器
设备
控制器
…..
I/O总线
设备
设备
…...
1B+1B
1B
1B
A1
A2
B1
B2
通道
A1
B1
A2
B2
——
——
接口(interface,I/F)
.外设与主机的连接
1.影响外设与主机连接方式的主要因素
(1)I/O系统的工作模式
(2)数据传送方式
(3)数据通信的同步方式
(4)传送信息的种类
2.外设与主机的连接模式
(1)适配器(adapter):插入两个彼此不能直接连接的机器或系统之间,使它们相互通信的附加装置.
(2)I/O端口(port):位于设备、器件上与其它设备、器件相连接的部分.
I/O
接
口
系
统
接
口
设
备
接
口
设
备
驱
动
电
路
控制,状态
地址
数据
主机
适配器
设备
外设与主机连接的一般模式
接口的功能与组成
1.功能:
(1)寻址功能:能识别CPU的访问信号和要求的操作.
(2)输入/出功能:按CPU要求的读写信号,从总线上接收CPU送来的数据和控制信息,或把数据和状态信息送到总线上.
(3)数据缓冲功能:解决CPU与外设的速度不匹配问题.
(4)数据转换功能:完成计算机与外设的信息格式的转换.
(5)其它功能:如检错纠错功能,中断功能和时序控制功能.
2.组成:
(1)一组缓冲器和一个具有锁存功能的锁存器(latch).
(2)对端口的选择机构:如地址译码电路,读写控制电路,中断控制电路,设备状态寄存器,定时信号线路等.
并行通信和并行接口
1.并行接口概述
将一个字或其一部分(一个字节)的各位用多根数据线同时进行传输,称为并行通信。实现并行通信的接口(适配器)是并行接口。
并行接口可以分为硬线连接接口和可编程接口。硬线连接接口的工作方式及功能不能用编程的方法加以改变,只能用硬线连接设定;可编程接口的工作方式及功能可以用程序加以改变。
2.硬线连接并行接口
硬线连接并行接口可分为3种。
并行通信和并行接口
(1) 简单并行接口
简单并行接口,也称无条件传送接口。它仅用于外设与CPU交换数据之前就准备好了而不需要联络信号的情形。
(2) 条件传送接口
在实际应用中,大多外设与CPU之间交换的是一系列连续的数据,只有前一个数据发送或接收完成以后才能传送下一个数据。因此接口中必须带有自己的应答信号,以表明设备的状态,如设备已“准备好”等。CPU在执行I/O操作时,要先检测外部设备是否已具备数据传送的条件,若不具备,则等待,直至设备作好准备。这种并行接口称为条件传送接口,或叫程序查询方式接口。其特点是带有应答信号。见图
并行通信和并行接口
(3)中断传送I/O接口
采用中断方式与CPU交换数据,让CPU实时地实现对外设的读写操作,这种并行接口叫做中断传送方式I/O接口。
3.可编程并行接口(8255A)
可编程实际上是具有可选择性,如用户可在程序中选择哪个数据端口与外设连接;输入和输出分别占用端口中的哪位或哪几位以及选择端口与CPU之间的数据传送模式等.它除了具有硬线连接接口的性能外,最主要的是可编程.
编程由用户用指令向端口送入方式字或控制字进行。这种接口在微型计算机中称为PIO。
下面简要介绍一种适合于IBM-PC系列机的PIO芯片8255A。
1)8255A内部结构
如图所示, 它由A,B,C 3个数据端口、A/B组控制、读/写控制逻辑电路和数据总线缓冲器组成。
3个数据端口的组成及在PC/XT系统中的地址如表所示。
端口A、B——作为独立的输入端口或输出端口;
端口C——分为上下两部分,形成两个4位端口,分别作为端口A和端口B的输出控制信号和输入状态信号。
A组控制
数据总线
缓冲器
读 / 写
控制逻辑
B组控制
A组
A口
(8位)
A组
C口高位
(4位)
B组
C口低位
(4位)
B组
B口
(8位)
PA7 ~ PA0
PC7 ~ PC4
PC3 ~ PC0
PB7 ~ PB0
RD
WR
A1
A0
CS
RESET
图 8255A 内部结构
返回
D7 ~ D0
端口
端口A
端口C
端口B
数据输入
数据输出
PC/XT中的地址
1X8 位锁存器
1X8 位锁存/缓冲器
60H
2X4位缓冲器
2X4位锁存/缓冲器
62H
1X8 位锁存器
1X8 位锁存/缓冲器
61H
表 8255A的3个数据端口
返回
1
D6
D5
D4
D3
D2
D1
D0
特征位
A组方式
00:方式0
01:方式1
1X:方式2
C4~7
0:输出
1:输入
B口
0:输出
1:输入
图 8255A工作方式控制字
返回
A口
0:输出
1:输入
B组方式
0:方式0
1:方式1
C0~3
0:输出
1:输入
2) 8255A的工作方式
(1)方式0:
也称基本I/O方式。在此方式下,端口A,B以及两个4位的端口C,形成4个端口;任一端口都可以作输入口,也可作输出口,各端口之间没有规定必然的联系;各端口可以有16 种不同的组合,适用于多种使用。
(2)方式1
也称选择I/O方式。当A,B端口按方式1工作时,C的两个4位端口要分别作为A,B的输出控制信号和输入状态信号。
(3)方式2
也称双向传输方式,只适用于端口A.这时端口C要为端口A自动提供相应的控制信号。
3)8255A控制字
8255A通过指令往端口设置控制字决定工作方式。
工作方式控制字
端口C置1/置0控制字。
(1)工作方式控制字
用来把3个端口分为A组(包括端口C的高位)和B组(包括端口C的低位)来设置工作方式.它的格式及每位定义如图所示。
如,要把A口指定为方式1输入,C口上半部为输出,B口为方式0输出,C口下半部为输入,工作方式字应为: 10110001B或B1H。初始化程序为:
MOV DX,63H ;8255A控制口地址
MOV AL,B1H ;置工作方式控制字
OUT DX, AL ;送控制字到控制口
控制字分为两类
3)8255A控制字
(2)端口C置1/置0控制字
此控制字可以使端口C中的任一位置0/置1,设置相应的控制位.其格式及每位的定义如图所示。
例要对端口C的PC7位置1,则控制字应为00001111B,即0FH;而端口C的PC3要置0,则控制字应为00000110B,即06H.则相应程序为
MOV AL,OF ;送对PC7置1控制字
MOV DX,63H ;控制口地址送DX
OUT DX,AL ; 对PC7,置1
MOV AL,06H ;送控制字06H到AL
OUT DX, AL ;对PC3置04.
1
D6
D5
D4
D3
D2
D1
D0
特征位
不用
位选择
000:C口位0
001:C口1位
:
:
111:C口7位
1:置位
0:复位
图 8255A端口C置1/置0控制
返回
4.微型计算机并行接口
标准接口即通用接口.目前的标准并行接口主要作为打印机端口,接口使用25针DB-25连接器.常用的并行接口有如下几种:
(1)标准并行接口:有4位、8位和半8位。大多数的PC机配有4位或8位并口。
(2)EPP口(增强并行口):8位双向传送,可以用于连接扫描仪、CD-ROM驱动器等非打印设备。
(3)ECP口(扩展并行口):支持多个逻辑设备寻址,在多任务环境下可以使用DMA方式。
目前很多高档微机的主板都集成了并行口插座,标注为LPT1,LPT2或Paralle1和Paralle2。
5.磁盘接口
磁盘是计算机的驻在设备,故磁盘与主机的接口显得尤为重要,常见的磁盘接口有如下两种:
(1)IDE接口
IDE接口也称ATA端口,通常用于微机上做磁盘接口.IDE接口最多可接两个容量不超过528M的磁盘驱动器,不支持DMA方式,但其成本低,在微机中很流行,几乎所有的586主板上都集成了两个IDE接口插座,标注为IDE1和IDE2。
(2)EIDE接口
EIDE接口是对IDE的改进,它可连接4个外设,而且外设不仅可以是磁盘,还可以是CD-ROM和其他磁盘备份设备.对于硬盘的容量,可以控制的范围提高到了8G,其数据传输率要比IDE高。
串行通信和串行接口
串行通信是在一根传输线上一位一位地传输信息.因所用的传输线根数少,特别适合于远距离的信息传送。
1.串行通信的同步方式和异步方式
并行通信时,一组信息按位分别同时传送,联络信号通过专用的控制线传送,数据信息通过数据线传送,因所用的线不同,各位的作用很清楚。
串行通信时,一组信息要一位一位地传送,联络信号、数据信号都在一根线上依次传送,为区分它们,就要给出串行通信的信息格式约定,并把串行通信分为异步和同步两种信息格式,形成异步通信和同步通信两种方式。
1.串行通信的同步方式和异步方式
(1)异步通信(又称起止式通信)
是把每个字符作为独立的整体进行传输.为实现通信双方的同步,每位字符传送组织的方式如图所示:编码首位前加1位起始位,表示一个字符传送的开始,编码的末位后加1位或多位停止位,表示一个字符传送完毕。信息编码与停止位之间可插入校验位。这种通信方式中,从一个字符的结束到下一个字符的开始没有固定的时间间隔,故称之为异步通信。
(2)同步通信
是把数据块(字符顺序组织)作为传输单位,格式如图.只在数据块的首部加同步字符,表示数据传送的开始,数据块的数据间没有空隙,严格按规定的速率发送和接收,在数据块尾部可带校验码,最后以同步字符结束,表示数据块传送结束。数据块连同附加的同步字符和校验码信息称为一帧。
0 / 1
0 / 1
1
0
0 / 1
0 / 1
0 / 1
0 / 1
0 / 1
0 / 1
0 / 1
0 / 1
1
0
0 / 1
0 / 1
0 / 1
0 / 1
奇偶
校验
停
止
位
起始位
低位
高位
7位数据
奇偶
校验
停
止
位
起始位
7位数据
第n个字符
第(n+1)个字符
第(n-1)个字符
下降边指出下
一个字符的开始
数据流向
图 异步传送格式
返回
SYNC
字符1
字符2
…
字符n
CRC1
CRC2
SYNC
1帧
同步字符
(开始)
同步字符
(结束)
检验
字符1
检验
字符2
图 同步通信的信息格式
(3)同步字符的作用
同步字符起联络作用,不同的通信系统对同步字符的约定不
同,有的约定用01111110,作为同步字符,有的用00010110作为
同步字符.传送开始后,接收设备首先搜索同步字符,在同步字
符后,传送的是一个数据块,为正确接收字符,要求接收/ 发送
设备保持完全的同步,为使两个系统的时钟同步,需要有专门
的设备或采用锁相技术(远距离通信时)等提取同步信号。
2.串行接口
串行接口的基本任务如下:
(1)实现串行数据格式化
在异步通信方式下,自动生成(发送时)或去掉(接收时)启/停位.在同步通信方式下发送时,在数据块前自动加上同步字符。
(2)进行串/并变换
把外部的串行输入码转换成计算机所需的并行码,把计算机内部的并行码转换为在外部传送的串行码。
(3)可靠性检验
发送时接口电路自动生成奇偶校验位等校验码;接收时,接口电路对字符加以自动校验。
(4)实施连接和控制
数据总线
缓冲器
读 / 写
控制逻辑
调制控制
发送缓冲器
发送控制
接收缓冲器
接收控制
TXD
TXRDY
TXEMPTY
TXC
RXD
RXRDY
SYNDET
RXC
D 0~7
RESET
CLK
C / D
RD
WR
CS
DTR
DSR
RTS
CTS
内部数据总线
目前,广泛使用的一种通用串行数据接口叫USART(异步接收发送器).
随着大规模集成电路技术的发展,通用可编程同步和异步接口芯片
USART的种类越来越多,Intel 8251就是其中一个代表。
图 8251内部结构图
3.微型计算机标准串行口
一般微机均有两个串行口COM1和COM2。
(1)COM1:采用9针DB-9连接器
(2)COM2:有的使用的是DB-25针连接器。
(3)用途:通常串行口常常用于鼠标和打印机接口.由于串行传送数据距离较长,因此,长距离数据通信中往往采用串行口。
I/O设备管理
缓冲区技术
1. 缓冲区的作用
(1)高低速设备之间的速度匹配
中断和通道技术为CPU与外设之间的并行操作提供了可能。但因CPU与外设之间的速度的不匹配以及外设频繁地中断CPU,仍会降低CPU的工作效率.为此在输入/输出系统中引入了缓冲技术。
基本方法是在CPU与外设之间设置一个缓冲区,当CPU要向外设输出数据时,先把数据送到缓冲区中,让外设慢慢地去“消化”,CPU可以继续进行别的工作;当外设要向CPU输入数据时,先慢慢地把数据送到缓冲区中,CPU需要时可以像使用内存中的数据那样使用缓冲区中的数据。
外设虽慢但处理的数据量少,CPU处理的数据量大但速度快,借用缓冲就能很好地解决二者之间的匹配问题.
1.缓冲区的作用
(2)一次读入的信息能多次使用
使用过文件的人都会有一个体验:当浏览一张软盘中的文件目录时,第一次时间是比较慢的;若你中间又浏览另外的目录再返回来浏览先前那张软盘目录时,会发现快多了.原因就在于第一次浏览时,软盘目录已经调入内存的缓冲区了.总之,在通道或控制器内设置局部寄存器,可以暂存I/O信息,减少CPU的中断次数。
(3)中转
通过中转避免外设与CPU之间的完全互连,可解决设备连接和数据传输的复杂性。
2.缓冲区的实现
缓冲区可用硬件实现,也可用软件实现.硬缓冲区通常设在设备中,软缓冲区由软件设置在内存中。
按照组织方式缓冲技术可以分为:
(1)单缓冲:在设备与CPU之间设置一个缓冲区.显然单缓冲区难以解决两台设备之间的并行操作。
(2)双缓冲:在设备与CPU之间设置两个缓冲区,这样可以解决两台设备之间的并行操作问题。
(3)多缓冲:把多个缓冲区连接起来组成两个部分,一部分用于输入,另一部分用于输出。
(4)缓冲池:把多个缓冲区连接起来统一管理,既可用于输入,又可用于输出。
3.缓冲区管理
下面以缓冲池为例来介绍缓冲区的管理方法。
一个缓冲区由两部分组成:缓冲首部和缓冲体。缓冲体用于存放数据。缓冲首部用来标识所在缓冲区以便对其进行管理,它由下图几部分组成。
利用缓冲首部的队列连接指针,可将缓冲池中的缓冲区组织成3种队列:
(1)空闲缓冲队列:未使用的缓冲区队列。
(2)输入缓冲队列:装满输入数据的缓冲区组成的队列。
(3)输出缓冲队列:装满输出数据的缓冲区组成的队列。
设备号
数据块号
缓冲器号
互斥标识位
队列连接指针
缓冲池工作算法
(1)当设备有输入数据时,先从空闲队列中(队首)申请一个缓冲区——称为收容输入缓冲区,将输入数据写入收容输入缓冲区中;写满后,按一定规则(如FIFO)插入到输入缓冲队列中。
(2)当CPU(系统)要提取数据时,将从输入缓冲队列中(队首)申请一个缓冲区——称为提取输入缓冲区,从中读取数据;提取结束后,将该缓冲区插入到空闲队列。
(3)当CPU要输出数据时,先从空闲队列中(队首)申请一个缓冲区——称为收容输出缓冲区,将输出数据写入收容输出缓冲区中;写满后,按一定规则(如FIFO)插入到输出缓冲队列中。
(4)当设备要提取数据时,将从输出缓冲队列中(队首)申请一个缓冲区,从中读取数据——称为提取输出缓冲区;提取结束后,将该缓冲区插入到空闲队列。
设备驱动程序
何为设备驱动程序
外设的使用都要涉及DMA 或中断过程,并要借助一些特定的寄存器进行机器指令级的操作.但用户都是通过一些应用程序,使用简单的命令来使用外设的,不可能进行这样一些低级的操作.此外,随着计算机应用的深入和广泛展开,计算机所使用的外设品种越来越多.即使同一用途的设备,因生产厂家不用,型号不同,其操作方法也会不同,而操作系统只是设置了一些通用性的I/O操作和管理模块,与设备的具体操作关系密切的程序.往往是设备制造厂家在研制设备的同时开发的.这种程序就称为设备驱动程序.
1.设备驱动程序的功能
基本任务是启动指定设备,并且在启动设备之前完成一系列准备工作.
设备驱动程序的工作过程
设备驱动程序的工作过程如下所述:
(1)将应用程序中的抽象要求转换为具体要求
设备是由设备控制器控制的.但用户与上层软件的应用程序并不了解设备控制器的细节,只能给它提出抽象要求——命令.而设备控制器又不能理解这些抽象要求.驱动程序就肩负了中间转换作用,要将抽象要求转换为具体要求,确定将命令,数据和参数分别送到设备控制器的哪个寄存器。
(2)对I/O请求进行合法性检查
检查用户要求是否能为设备接受,是否属于设备的功能范围.
(3)读出并检查设备状态
启动设备控制器的条件是设备就绪,如对打印机要检查:电源是否合上、是否有纸等,对软盘驱动器要检查:有无磁盘、有无写保护等。
设备驱动程序的工作过程
(4)传送必要的参数
如要提供本次传送的字节数等。
(5)设置工作方式
如对于异步串行通信接口要设置:传输速率,奇偶检验方式,停止位宽度及数据长度等。
(6)启动I/O设备
完成上述工作后,即可向设备控制器发出启动命令。
2. 设备驱动程序的结构
一般说来,设备驱动程序应包含如下5部分:
(1)设备标题(device header);
(2)数据存储和局部过程(data storage & local procedure);
(3)策略过程(strategy procedure);
(4)中断过程(interrupt procedure);
(5)命令处理子程序(command processing)。
用户空间软件
与设备无关的系统软件
设备驱动顺序
中断处理程序
硬件
I / O请求
I / O回答
图 I / O系统的层次结构
3.设备驱动程序在I/O系统中的位置
图给出了I/O系统的一般结构.自底向上,它由硬件、中断
处理程序、设备驱动程序、与设备无关的系统软件及用户
空间软件等5个层次组成。
3.设备驱动程序在I/O系统中的位置
与设备无关的系统软件的主要作用是在用户应用程序和与设备相关的程序之间提供一个统一的接口.具体作用如下.
(1)名字映射
通常,在操作系统的I/O用户中对输入/出设备和文件采取统一的命名.与设备无关的系统软件的一个作用就是将一个名字映射到相应的设备驱动程序上.
(2)设备保护
防止无授权的访问或授权用户的非法操作。在UNIX中采用权限模式,对于系统中的I/O设备提供“rwx”位进行保护。
(3)缓冲并提供与设备无关的逻辑块
(4)存储设备的块分配
(5)独占设备的分配与释放
(6)协助出错处理
I/O设备分配
现代多任务系统中,并非每个应用都能在其需要的时候就一定能申请到所需要的设备资源.故设备管理的一项重要内容是设备的分配,即每个应用需要设备服务时,首先要向设备管理程序提出资源申请;设备管理程序则按一定的算法为这些申请分配设备资源。若申请的应用得不到资源,就放到资源等待队列中等待,直到所需的资源被释放.
设备分配方式有两种方式:
●静态方式:在用户作业开始前,系统一次性地将该作业所需的设备、控制器和通道分配都分配给它.直到该作业退出.此法不会产生死锁,但设备的使用效率低.
●动态方式:动态分配是在作业进行过程中动态地按需分配,及时收回.它有利于提高设备的利用率,但若分配不当,会出现死锁。
1. 独占设备的分配—虚拟设备技术
独占设备是每次只能分配给一个应用的设备.因系统中同类的独占设备是有限的,故由于不能满足多个应用的争用,会引起大量应用的等待,成为系统的“瓶颈”;另外,申请到独占设备的应用却利用率极低,设备还往往处于空闲状态.解决这一矛盾的办法是虚拟设备技术,或称SPOOL( Simultaneous Peripheral Operation On-Line,假脱机操作)技术.
(1)脱机、联机和假脱机
字符设备与主机(具体地讲是设备与内存)的信息交换有两种基本方式:脱机方式和联机方式。联机信息交换方式就是一般字符设备直接与内存交换信息.此方式就是前述的独享设备的工作方式,具有独享设备的不足。
脱机信息交换方式的字符设备一般要以一个块设备为中间过渡.以输入为例,先用一台外围机将字符输入设备上的信息集中到一台块设备上,然后再从块设备上将信息传入主机。
(2) SOOPL 系统的组成
SPOOL技术对脱机和联机两种方式取长补短,能将一台独享设备改造成共享设备.但它不是脱机进行的,而是模拟了脱机工作,实现了虚拟设备功能,所以叫做假脱机技术。
对假脱机方式来说,要有高速外存—通常是磁盘的支持.假脱机系统需要在磁盘上开辟两个大的存储空间—输入井和输出井,在内存中开辟两个缓冲区—输入/输出缓冲区。
外设输入数据时,先暂存在输入缓冲区中,然后收容到输入井中;用户程序输出数据时,先暂存在输出缓冲区中,然后堆放进输出井中,供外设慢慢取走.
(3)共享打印机
共享打印机就是SPOOL技术应用的典范,它将一台本来只能独享的打印机改造成可以供多个用户共享的打印机。
3. 共享设备的分配—磁盘调度策略
磁盘是典型的共享设备,它用称为磁道的同心圆来存储信息.信息的读写是在磁头的径向移动(用于选道)和盘片的旋转(用于选扇区)过程中进行的.磁盘的访问时间由3部分组成:
●磁头移动时间——磁头从当前位置移动到需要位置的时间,又称寻道时间;
●旋转延迟时间——磁盘从当前位置旋转道需要的物理块的时间;
●传输时间——CPU对磁盘的访问操作时间.
其中,磁头的移动时间要占70%左右.故如何调度磁头的移动,就成为操作系统中提高磁盘访问速度的关键,而磁盘调度策略也主要是指对磁头移动的调度.下面列举几种磁盘调度策略。
磁盘调度策略
(1)先来先服务FCFS
FCFS是最简单的一种调度策略,它根据进程对磁盘提出访问请求的先后次序,依次分配,故所有应用都能有机会得到满足,不会出现“吃不上”的现象.它平等对待任何访问,体现了访问随机性的特点,平均寻道时间为1/2的最大寻道时间,在访问较多的情形下,对设备吞吐量和响应时间不利。
(2)最短寻道时间优先(SSTF,Shortest Seek Time First)
这种策略每次选择请求中指定的位置距当前位置最短的请求予以优先响应,从而保证了寻道时间最短,对提高设备的吞吐量也有好处。但它不是对所有磁道都机会相等,一般分布为中间的磁道机会较多,偏圆心或边部磁道访问机会较少.在请求很多的情形下,内、外边缘处的磁道常有“饥饿”现象.
(3)扫描SCAN
SCAN策略是对SSTF的改进。
磁盘调度策略
(3)扫描SCAN
SCAN策略是对SSTF的改进.它规定在前进方向上选择下一个最短寻道时间请求,只有到了边缘(最外或最内磁道)才向回返,有点像电梯,故也称电梯策略.这样能克服SSTF的“饥饿”现象,但边缘磁道的被访问率还是比中部磁道低。
(4)循环扫描(CSCAN,Circular SCAN)
CSCAN是对SCAN的改进:在扫描到边缘后,下一步不是返回,而是移到另一端去,再按原来的方向扫描。在负荷较大时,使用CSCAN策略效果较好。
(5)N步扫描
N步扫描也是对SCAN的改进.改进方法是在SCAN的基础上,将磁盘分为若干长度为N的子队列,在每个子队列中按SCAN策略处理,在子队列间按FCFS策略处理.故当N很大时,接近SCAN策略;当N=1时,退化为FCFS策略。
第三章 作业
~
~
计算机组成与结构
Computer Organization
and Architecture
(第四章)
顾 浩 赵宝华
目录
总线工作原理
几种系统总线标准
几种系统总线标准
序
总线——是能由多个部件分时共享的公共信息传送线路.
分时和共享是总线的两个基本特性.
共享:指多个部件连接在同一组总线上,各部件间交换的信息都可通过总线传送.
分时:指同一时刻总线只能在一对部件间传送信息.
一个系统的总线结构决定了该计算机系统的数据通路用系统结构.因此,总线结构的带宽和结构对系统性能有很大影响.
总线工作原理
总线通信的定时方式
总线通信的定时方式:指采用一定方式,让接收端知道发送端信息的始发和结束时间.
按定时方式不同,可把通信过程分成同步和异步通信两种.
1.同步通信:
(1)特点:各部件都用一个公共的时钟信号进行同步控制,时钟信号由CPU发出,发送到每一个部件(设备).
●t0时刻:将CPU产生的设备地址放在地址总线上,并经控制线指出操作性质(R/W内存或R/W I/O设备).
●t1时刻:CPU发读信号命令;
●t2时刻:设备把数据放DB上,CPU在T3中进行数据选通,将数接收到自己的寄存器.
●t3时刻:CPU的读命令和设备数据信号结束.
●t4时刻:总线周期结束.可开始新数据的传送.
图
总线通信的定时方式
(2)优点:模块间配合简单,步调一致.传输频率较高.
(3)缺点:对所有模块有严格的时限要求,故缺乏灵活性.
2.异步通信:也叫应答方式
(1)特点:无统一时钟和固定的时间标准,靠请求—应答方式(handshaking)进行同步控制,以实现不同速度间的数据传送.
(2)三种应答关系:
●全互锁:两设备间的”请求”和”应答”,
互为制约.
●半互锁:设备2自行决定应答信号撤消与否.
●不互锁:两设备间的”请求”和”应答”信号均有一定时间宽度,何时结束不互锁.
主模块 从模块
请求
应答
总线的组成与仲裁
1.总线的组成:
(1)传输线
●地址线:决定直接寻址范围.
●数据线:决定数据宽度.
●控制,时序和中断信号线:决定总线功能强弱,适应性好坏.
●电源线:决定电源种类,地线分布及用法.
●备用线:留给用户进行性能扩充,满足特殊需要.
(2)接口逻辑:
需三态门和缓冲寄存器作为它们的接口.
(3)总线控制器:
对各设备对总线的使用进行合理的分配和管理.
2. 总线的急用与仲裁
总线主设备:对总线有控制权.
总线从设备:对总线无控制权.
总线通信原则:
●通信前由主模块发请求;
●同一时刻只允许一对模块间通信;
●模块同时使用总线时,应由总线控制器中的判优和仲裁逻辑按判优原则决定哪个模块使用总线.
总线判优方式:
集中式—总线控制逻辑集中的一处;
分布式—总线控制逻辑分布在连接总线的各部件或设备中.
集中控制的三种常见优先权仲裁方式
(1)链式查询方式:用3条控制线进行控制:
BS(总线忙); BR(总线讲求); BG(总线允许).
特征:将BG串行地从一部件(I/O接口)送到下一个部件,直到到达有请求的部件为止.
优先权位置:离总线控制器最近的部件具有最高使用权,离它越远,优先权越低.
电路:链式查询靠接口的优先权排队电路实现.
(2)计数器定时查询方式:
总线上的任一设备要求使用总线时,通过BR线发出总线请求.中央仲裁器接到请求信号以后,在BS线为”0”的情况下让计数器开始计数,计数值通过一组地址线发向各设备.每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备 置“1”BS线,获得了总线使用权,此时中止计数查询。
图
(3)独立请求方式
●工作原理:
每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi. 当设备要求使用总线时,便发出该设备的请求信号.总线控制器中的排队电路决定首先响应哪个设备的请求,给设备以授权信号BGi。
●优点:响应时间快,确定优先响应的设备所花费的时间少,用不着一个设备接一个设备地查询。
其次,对优先次序的控制相当灵活,可以预先固定也可以通过程序来改变优先次序;还可以用屏蔽(禁止)某个请求的办法,不响应来自无效设备的请求。
●三种方法控制线数目的比较:
链式查询方式——只用二根线。
计数器定时查询方式——大致用㏒2n根线,n是允许接纳的最大部件数。
独立请求方式——要用2n根线.
总线特性与性能指标
从结构上,总线由母线框架和各部件的插板组成.
1.总线特性
(1)机械(物理)特性:指总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,引脚线的排列方式等。
(2)电气特性:定义每一根线上信号的传递方向及有效电平范围.送入CPU的信号叫输入信号(IN),从CPU发出的信号叫输出信号(OUT)。
(3)功能特性:描述总线中每一根线的功能,有DB,AB和CB.
(4)时间特性:定义了每根线在什么时间有效.规定了总线上各信号有效的时序关系,CPU才能正确无误地使用。
2.总线的性能指标:
计算机总线技术包括通路控制性能,使用方法,仲裁方法和传输方式等.
2.总线的性能指标
(1)总线宽度:即传送宽度,指一次总线操作中通过总线传送的数据位数(bit).常用等.
(2)总线周期:指一次总线操作中所用的时间.
(3)总线带宽(标准传输率):指总线上每秒传输的最大字节数,用MB/S表示.
带宽计算公式:Dr=D/T=D×f;
式中T是时钟周期T=1/f, D为一个总线周期传送的数据量.
(4)总线工作的时钟频率:总线工作的频率越高,带宽越宽.
(5)多路(分时)复用技术:即地址和数据线共用一物理线路.
(6)总线控制方式:含突发传输,并发工作,自动配置,仲裁方式,逻辑方式和计数方式等.
(7)其它:如同步方式,信号线数,负载能力和电源电压等.
3.总线的标准化
相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上几乎没有相同的,但各厂家生产的相同功能部件却可以互换使用,其原因在于它们都遵守了相同的系统总线的要求,这就是系统总线的标准化问题。
(1)即插即用(plug and play)功能:
简称PnP.即背后设备只需简单插入便可运行,无需用户拨动开关或安装软件等.
PnP功能主要取决于微机的系统总线结构,有的总线提供较完善的功能.
总线分类
无统一的分类方法,但可从不同角度分类:
1.按照总线传递的内容分类:
地址总线(AB); 数据总线(DB)和控制总线(CB).
2.按总线所处位置分类:
(1)片内总线:位于CPU芯片内部用于寄存器,ALU及各控制部件间传输信号的总线.
(2)片外总线:位于CPU芯片外部用于连接CPU,MM和I/O设备的总线.
3.按总线在系统中连接的主要部件分类:
存储总线; DMA总线; 系统总线; 设备总线.
4.按系统中使用的总线数量分类
(1)单总线结构:
●特点:在许多单处理器的计算机中,使用一条单一的系统总线来连接CPU、主存和I/O设备,叫做单总线结构.即所有的模块都挂在同一组总线上.
●优点:连接灵活,便于扩充.
●缺点:因所有信息公用一总线,信息传输吞吐量受限制.
(2)双总线结构:形成以存储器为中心的双总线结构.
●优点:保持了单总线系统简单,易于扩充的优点,但又在CPU和主存之间专门设置了一组高速的存储总线,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担,同时主存仍可通过系统总线与外设之间实现DMA操作,而不必经过CPU.
●缺点:以增加硬件为代价。
(3)三总线和多总线结构
●结构:它是在双总线系统的基础上增加DMA总线形成的,此举是为了在主存与高速设备(如磁盘)间进行高速成批的数据传送. 这种结构的硬件代价更大.
●分级的三总线结构:一般用于I/O设备性能相差不大的情况.
●四总线结构:在高速设备间设立一条单独的高速总线,见图.
几种系统总线标准
系统总线—连接同一台计算机系统各部件的总线.
ISA (Industry Standard Architecture,工业标准体系结构)总线
ISA-8(XT总线) ISA-16(AT总线)
ISA-16总线的每个插槽由一个长槽和一个短槽组成.长槽与XT兼容的62个引脚,每列有31个引脚,编号为A1—A31和B1—B31;短槽每列有18个引脚,编号为C1—C18和D1—D18.
引脚定义见表.
微通道结构MCA和EISA
:1987年由IBM推出PS/2系统时,采用的32位的微机总线.因采用封闭策略,没把技术公开,且与ISA不兼容.
(Extended Industry Standard Architecture,扩充工业标准体系结构)总线
32位总线,与ISA完全兼容.最大数据传输频率可达33Mb/s
PCI (Peripheral Component Interconnect)外设部件互连总线
PCI总线位于高速外设与CPU之间.是由INTEL公司提出的局部总线标准.版本从,到.其中,的性能:
1.性能: 位宽 总线工作频率 最大带宽
PCI 32位 3M/66M 133/266MB/S (是ISA的33倍)
(主流) 64位 3M/66M 266/533MB/S
2.特点:见P159.
3.插座形状和引脚:
为白色矩形插座.总引线数120条
基本引脚50根
可选引脚51根
AGP——
(Accelerated Graohic Port)总线
AGP总线
PCI总线
ISA总线
1.概述:AGP是一种为提高视频带宽而设计的总线规范.目
的是为大幅度提高高档微机处理图形(尤其是3D)的能力.
2.性能特点:见P160.
3.形状和引线:褐色插座,一块主板只有一个,只能插显卡.
CPU
L2
北桥
显卡
主存(纹理数据)
南桥
PCI卡
PCI卡
ISA卡
ISA卡
ISA卡
CPU总线
几种设备总线标准
总线技术—是用于连接部件或设备.
接口技术—是主机与某外设的适配器,解决两者
间的电压等级,信号形式和速度匹配.
不同的接口是不通用的.
EIA-RS232D/RS-449串行接口标准
1. EIA-RS232
(1)概述:RS-232是美国电子工业协会EIA于20世纪60年代正式公布的串行总线标准,也是目前最常用的串行接口标准.用于实现计算机间,计算机与外设间的数据通信.
(2)性能指标:最高传输速率— Dmax —15m.
使用DB-25连接器. 主信道:15条,带*者
(3)标准接口信号:共三组 辅信道:5条,低速
未使用和备份:5根
设备或部件
的连接技术
不全用
常用8根
EIA-RS232D/RS-449
串行接口标准
-449接口标准
(1)概述:是EIA于1977年制定的串行接口标准.于1980年成为美国标准.电气标准由RS-422A或RS-423A定义.
(2)机械性能:规定37和9脚两种接口连接器.
(3)电气性能:依据RS-422A(平衡方式)和RS-423A(非平衡方式)及RS-485电气标准.
(4)性能指标:最高传输速率—100kb/s; Dmax —2000m.
IDE接口与SCSI接口总线
常用硬盘和 IDE—用于微机。
光驱接口 SCSI—用于工作站/服务器或小型机。
和EIDE接口:
(1)IDE(Integrated Device Electronics,集成设备电子部件)
于1989年被ANSI(美国标准协会)认可为ATA (Advanced Technology Attachment,高级技术配件), IDE和ATA实际上是硬盘接口技术的不同描述.
●最大特点:是把控制器集成到驱动器内.
●三点限制:
数据传输率< 最多接2个硬盘;支持的硬盘最大容量为528MB.
IDE接口与SCSI接口总线
(2) EIDE(ATA-2):或称FAST SCSI,它将最高传输率提高至 同时引进了LBA(Logical Block Arrdess)地址转换方式, 突破了528MB的限制,可支持高达的硬盘.
(3)Uitra DMA/33/66/100/133:
最高传输率达133Mb/s, 硬盘容量达137GB.
(Small Computer System Interface)总线:
即小型计算机系统接口, 是系统级基于通道的接口,其设计思想来源于IBM大型机系统的I/O通道结构,广泛用于服务器和图形工作站.可连接硬盘,光驱,扫描仪,打印机等.
3.版本: SCSI-1—5MB/S
SCSI-2(FAST SCSI)—10MB/S
SCSI-2(WIDE SCSI)—20MB/S
SCSI-3 Ultra Wide SCSI(16位)—40MB/S
2. SCSI总线
SCSI-3 Ultra Wide SCSI(32位)——80MB/S
SCSI-3 Ultra 2 SCSI(16位)——80MB/S
SCSI-3 Ultra 3 SCSI Ultra 160/m——160MB/S
4.主要特性
(1)SCSI是系统级的标准输入/出总线接口由8条数据线,一条奇偶校验线,9条控制线组成.使用50芯电缆, 以菊花链形式最多可连接8台设备。
(2)支持多任务并行操作,有总线仲裁功能.
(3)可以同步/异步方式工作.
(4)有两种输出方式:单端(Dmax=6m)和差分(Dmax=25m)
(5) SCSI设备之间是一种对等关系,而不是主从关系. SCSI设备分为启动设备(发命令的设备 )和目标设备(接受并响应命令的设备),它们用高级命令通信,方便,灵活.
USB(Universal Serial Bus)总线
1.概述:USB总线由IBM,Intel,Microsoft等7家公司联合开发,版本由USB (1995年) USB (1998年) USB
与的性能比较
2.特点:(1)使用方便,可连多个 设备,且热插拔.软件可自动启动.不涉及IRQ冲突.
(2)速度快,可高达480Mb/s.
(3)连接灵活,用HUB可最多可连127个.
(4)独立供电 (5)支持多媒体
4/9
4/9
PnP,热插拔
PnP,热插拔
W95以上,OS/2
W98以上
星形
星形
5
5
127
127
12
480
USB
USB
信号
线数
支持
特性
支持
系统
拓扑
结构
接点间距离/m
接点数
速率
Mb/s
版本
3.拓扑结构
存在问题:●理论上能连127个设备,实际只能连3~4个.
●串联时,会出现电力不足的问题.
3.拓扑结构:主控器具有根集线器功能,具有2~4个USB端口,采用”级联”方式连接.
最大串接能力为5个HUB级联,最长扩展连接能力为30m.
的接口接头
USB用矩形插座和插头,有4针和9针两种.目前常用4针.其中:
引脚1—+5V电源引脚。
引脚2—数据输入/数据同步引脚RD。
引脚3—信号接地引脚GND。
引脚4—数据输出/时钟同步引脚TD。
系统总线结构
●客户驱动程序:与特定USB
设备通信,由USB设备商或作
为操作系统一部分提供.
● USB驱动程序:作为OS中支
持USB设备的驱动程序.
●通用主控制器驱动程序:主
控制器中客户软件与USB设
备间进行点对点通信等.
●主控制器:执行HCD产生的
指令列表.
● USB设备.
客户驱动程序
USB驱动程序(USBD)
通用主控驱动程序(HCD)
通用主控制器(HCD)
USB设备
通用主
控制接口
系统硬件
系统
软件
IEEE1394总线
又称FireWire或iLink.是一种高效串行接口,目前已成为数码影像设备的传输标准.其前身由Apple公司于1985年开始研究.1992年被接纳为IEEE1394 规范.
1.主要技术特点:
(1)支持高速应用,可升级.IEEE1394:传输速率100~400Mb/s
IEEE1394b:800Mb~
(2)分层的主控制器结构:不需HUB就可连63台设备.
(3)同时支持等时和异步两类传输模式.
(4)采用基于内存的地址编码,具有64位地址.
(5)采用对等结构,不强调要由计算机控制这些设备.
(6)拓扑结构在其外设增减时,会自动重设网络.
(7)其它:信号线6(电源2,信号4)/4(无电源),支持W98以上系统,支持PnP和热插拔.
的拓扑结构
以连在PCI总线上的IEEE1394总线为例,其拓扑结构具有:
(1)端口节点和中继器
(2)动态自动配置:不依赖于一个处理器.
(3)支持点到点传输:不需主系统干预.
(4)设备插架:提供不打开机箱就可加入或更新外设.
IEEE488总线
是并行总线接口标准,用于系统连接.
最多连接15台设备,最大传输距离20m;
一般信号传输速率500Kb/s,最大传输速率1Mb/s.
第四章 作业
计算机组成与结构
Computer Organization
and Architecture
(第五章)
顾 浩 赵宝华
目录
处理器的外特性
指令的时序
控制器设计
处理器的外特性—指令系统
机器语言与汇编语言
1.指令系统与汇编语言
(1)指令系统是CPU外特性的表述
CPU是表现为用户可使用的一些指令,用户看到的CPU就是指令系统.是一个人机界面.
(2)机器语言:是与机器结构关系密切,由指令系统表述的语言.
机器语言是0,1码语言,即用0,1码描述的语言,缺点上难读,难记,难查错,不利推广.
(3)系列CPU芯片:指基本体系结构相同的CPU芯片.它们的基本指令集是相同的.指令系统是向上兼容的,低档CPU上运行的软件可在高档CPU上运行.如Intel 80X86系列CPU芯片.
2.符号语言与汇编语言
机器语言:即0,1语言. (mnenonic)
符号语言:用助记符号代替用0,1码描述的机器指令系统.
汇编语言:是一种符号语言,用助记符形式描述指令.
指令语句:在汇编语言程序中,每条指令被称为一条指令语句.
指示语句:也叫伪指令,它不产生实质性运算操作,只向汇编器发始,停等命令或内存安排等工作.
指令的语法详见节.
指令的语法
指令是程序人员和计算机交往的最基本的界面,是人们指示计算机(能被计算机识别)执行各种基本操作的命令.
1.指令的语法:
(1)含义:规定了指令的表示格式,或是构成指令的规则.
(2)典型指令的组成: 必备 可有可无,可多可少
OP CODE + n个地址
操作码 地址域
OP码的位数 操作类型(指令条数),27=128条
操作数地址的位数 能访问的最大存储空间
(AD1)OP(AD2) AD3
源1 源2 目标 注:下条指令地址在转移类指令中出现,
正常情况由PC确定.
OPcode+地址码
OP
AD1
AD2
…..
ADn
OP
AD1
AD2
AD3
2.符号语言与汇编语(Assemble)
以8086为例,介绍汇编语言中的几个概念.
(1)数据类型:
数值数据:8086汇编语言允许使用以下数值数据
二进制数据:后缀B. 如10101110B 十进制数据:后缀D,如235D.
八进制数据:后缀Q,如235Q. 十六进制数据:后缀H,如ABC2H.
字符串变量:ASCII,例‘A’.
(2)运算符:
算术运算符:+, -,,. 逻辑运算符:AND(与),OR(或),NOT(非)
关系运算符:EQ,NE,LT,GT,LE,GE.
(3)操作码:ADD,SUB,MUL,DIV等.
(4)地址码:可用十六进制,十进制,寄存器名或存储器地址名表示. 例:MOV AX,2000H, MOV AX,[BX]
(5)标号和注释:标号:作为转移指令的目标标记
注释:向阅读程序的人提供说明.
(6)汇编语言指令的一般形式
例:A1:MOV AX,5 ;把常数5传送到寄存器AX中.
用8086汇编语言描述的计算A=2+3的程序
ORG 0C0H; 0C0H作为程序起始地址.
START:MOV AX,2; 2 AX,AX是累加器,START是标号
ADD AX,3 ; 3+(AX) AX
HLT ;暂停
END START; 结束汇编
标号名
操作码
操作数
;注释
,
(7)汇编程序
汇编:源程序 目标程序(机器语言程序)
汇编过程:
编辑阶段:源程序
汇编阶段:目标文件;操作码变为机器码,但地址浮动,不能执行
运行阶段:可执行文件; LINK后,由目标文件变成可执行文件
汇编程序
翻译
连
接
汇
编
执
行
源程序
.ASM
目标程序
.OBJ
可执行程序
.EXE
运行
结果
汇编程序
MASM
连接程序
LINK
DOS
环境下
汇编语言程序的汇编过程
寻址方式(Addressing Mode)
寻址方式:是寻找操作数在主存中存放的真实地址.
1.概念:(1)形式地址(formal address):是指令中给出的操作数地址,往往不是操作数的真实存储器地址.
(2)有效地址(EA-effective address):是操作数的真实存储器地址.
(3)寻址:形式地址 有效地址
(4)指令中操作数的4个来源(或4种寻址方式)
●立即寻址:操作数在指令中,立等可取.
例:MOV AX, 5 ADD AX, 1234H
●寄存器寻址:操作数在CPU某寄存器(通用或段寄存器中),例ADD AX, BX
●存储器寻址:操作数在内存某单元中,例MOV AX,[2000H]
●I/O寻址:操作数通过I/O端口获得,有二种方法
寻址
寻址方式
地址码
指令地址码
部分
寻址方式(Addressing Mode)
A.独立的I/O地址:I/O端口地址是专用的,例OUT 50H,AL或IN AL,50H等.Intel80X86系列用此方法.
B.与内存地址统一编址:I/O地址与内存地址一样看待.
2.常用寻址方式:
介绍之前,先了解一下8086CPU的内部结构图.
(1)通用寄存器:视其用途分成二类
●AX(AH/AL):Accumulator,作累加器用.
BX(BH/BL):Base,基址寄存器,在涉及基地址寻址方式中,用作基址寄存器.
CX(CH/CL):Counter.在循环指令和串操作指令中,用作隐含的计数器.
DX(DH/DL):Data.在,运算时专用,DX指定用于存放I/O端口地址.
寻址方式(Addressing Mode)
●指针寄存器及变址寄存器:4个16位寄存器,不能分成字节
SP(Stack Pointer):堆栈指针寄存器,用于指示栈顶的偏移地址.
BP(Base Pointer):基址指针寄存器,SS和BP连用,可作为堆栈区中的1个基地址,以相对方式访问堆栈中的存储单元.
SI(Sourse Index):源变址寄存器,SI与DS连用,确定DS段中某一存储单元地址,SI有自动增量(DF=0)和自动减量(DF=1)的变址功能,在串处理指令中,SI作为隐含的源变址寄存器.
DI(Destination Index):目的变址寄存器,DI与DS,ES连用,确定DS,ES段中某一存储单元地址,SI有自动增量(DF=0)和自动减量(DF=1)的变址功能,在串处理指令中,SI作为隐含的目标变址寄存器.
(2)段寄存器:PC机把存储器划分为若干段,汇编程序把要运行的程序,数据,堆栈分别放在不同的存储器段(segment) 中,每个存储单元由2个因素决定:
段基址:是该存储单元所有段的段首地址.
段内偏移地址:该单元与所在段基址间以字节数计算的距离.
寻址方式(Addressing Mode)
CS代码段寄存器:只能存放程序段的首址.
DS数据段寄存器:只能存放数据段的首址.
ES附加数据段寄存器:只能存放数据段的首址.
SS堆栈段寄存器:只能存放堆栈段的首址.
注意:主存分成多少存储段是任意的,但把由CS,DS,ES,SS指明的段称当前段.在程序运行的任何时刻,主存最多只能有4个当前段. 15 0 IP
(3)控制寄存器:2个,即指令指针IP和标志寄存器FR.
IP(指令指针):用于指示程序运行至何处,IP不能用指令去取出或对它赋值,但可通过执行转移指令把转移地址的段内偏移地址装入IP.
FR(标志寄存器):体现了CPU的当前状态和某些控制位,其中:
6位是状态标志位:CF,PF,AF,ZF,SF,DF.反映算术,逻辑指令执行后的某些状态特征.
3位是控制标志位:TF,IF,DF,体现CPU的控制.
O
D
I
T
S
Z
A
P
C
寻址方式(Addressing Mode)
1.立即寻址(immediate addressing):
(1)特点:操作数直接在指令代码中给出,是指令代码的一部分立即可取.不必访问内存,速度快.
(2)举例:ADD AX,3165H ; AX+3165H AX 见图.
2.寄存器直接寻址(register direct addressing):
即操作数包含在CPU的寄存器中.按寄存器代号对它读写.
(1)寄存器组的作用:保存运算中间结果和某些最终结果.避免多次访问慢速的内存. (2)特点:指令字长短,指令执行速度快. (3)举例:MOV AX,BX; BX AX 5 5
3.存储器直接寻址: (memory direct addressing):
(1)特点:操作数的有效地址(EA)直接包含在指令中.
即把操作数的地址直接作为指令中的地址码.
(2)举例:MOV AX,[3056H];见图,即[3056H]=A3CEH AX
(3)缺点:不灵活,受指令长度限制,寻址范围有限.
BX
AX
寻址方式(Addressing Mode)
4.存储器间接寻址(indirect addressing):
(1)特点:由地址码中从存储器中取出的不是操作数,而是操作数的地址,再以该地址访问一次内存取出的数才是操作数.即要访问两次内存.
存放操作数地址的寄存器(8086中用)或主存单元叫间址器或地址指针.
(2)举例:,以图为例,其寻址过程为:
[0B58H]=1A3CH(是地址) [1A3CH]=2B5DH AX (2B5DH)
(3)间址器(地址指针):犹如一个“地址寻问处”,只要改变它的内容,不改变指令就能访问到不同的操作数.全部字长都可用于存放操作数地址,能扩大寻址范围.但要多次访存,降低指令执行速度.为解决速度问题,常用寄存器作间址器.8086中的间接寻址是寄存器间接寻址,规定用 BX,BP,SI,DI作地址指针.
寻址方式(Addressing Mode)
(4)寄存器间接寻址:此时的间址器用寄存器.在8086中,规定用BX,BP,SI,DI作地址指针,则操作数的物理地址为:
(BX)
PA=16*(DS)+ (S I) 或 16*(SS)+(BP),
(DI)
5.变址(index)/ 基址寻址:
(1)变址寻址的设计思想:因指令中地址码位数有限,为扩大访存容量,设置一变址器,用变址器内容(偏移量)与指令中的地址码(基准量)相加,形成操作数有效地址EA.操作数EA的位数取决于相加2个数中的位数最长的数.一般用寄存器作为变址器,速度快.
8086中,用2个变址寄存器,其中SI为源变址寄存器,DI为目的变址寄存器.如MOV CL,[SI-100H].
(2)基址寻址的设计思想:在多用户计算机中,为每一用户分配一存储空间,每用户按各自的逻辑地址编程.当程序装入机器运行时,为每一用户指定一基地址,用户程序的实际存放地址为基地址与其逻辑地址之和,不同的用户使用不同的基地址,占用不同的存储空间.
如MOV AX,[SI],即SI中存的是
操作数的地址,而不是操作数.方
括号是间址方式的一种表示.
寻址方式(Addressing Mode)
基址寻址:与变址寻址相反,基址寄存器提供基准值,由指令提供偏移量.8086中,用BX或BP作为2个基址指针.
如MOV AL,[BX+10H];BX是基址指针,10H为偏移地址.
两者的异同:
A.都能扩充寻址范围.
B.变址寻址主要用于处理数组, 一般把数组的首址放在变址寄存器中,不断改变变址寄存器的内容,很易形成数组中任一数据的地址,适合编循环程序.
C.基址寻址:支持多用户程序编程,只需把某道程序的装入地址放在基址寄存器中,程序员在编程时用的逻辑地址将通过基址寻址向物理地址转换.
基址和变址寻址方式:是基址和变址寻址方式的结合.如8086指令MOV AX,[BX+SI+3BH].
变址寻址的举例
例:求1,2,3,….,10的平均值
1.用直接寻址: 2.用变址寻址
MOV AL,0 MOV AL,0
MOV AL,[2000] MOV SI,0
ADD AL,[2001] MOV CX,000A
ADD AL,[2002] A1:ADD AL,[SI+2000]
ADD AL,[2003] INC SI
ADD AL,[2004] LOOP A1
ADD AL,[2005] MOV BL,0A
ADD AL,[2006] DIV BL
ADD AL,[2007] INT 3
ADD AL,[2008]
ADD AL,[2009]
MOV BL,0A
DIV BL
INT 3
结论:用变址寻址,可使程序简洁,当被求值
的个数变大时,此优点愈加明显.
注:1,2,3,….,10
分别放在内存
2000~2009单元
中.
6.堆栈(stack)寻址
(1)堆栈:可由一片内存区域或CPU寄存器组成.
(2)三要素:堆底(固定),栈顶(活动端),栈顶指针(指示当前栈顶位置).
(3)存储机理:后进先出(LIFO)
(4)操作:压(进)栈, 弹(出)栈
(5)用途:用于子程序调用,递归调用等的断点保护和现场保护.
(6)举例: 3100:SUBR1
SUBR2
3010: …. 3111: ….
3011:CALL SUBR1 3112: CALL SUBR2
3012: …. 3113: …. RET
RET
3012
3012
3113
3012
SP
SP
SP
SP
SP
堆栈初始化
CALL SUBR1
CALL SUBR2
SUBR2中的RET
SUBR1中的RET
首次压栈
压栈
6.堆栈(stack)寻址
(6)8086的堆栈
A.位置:当前堆栈段设在SS段内,始址由SS指示,栈顶指针由SP担任.可用指令MOV SP,im对堆栈初始化.
B.最大空间:64KB
C.进/出栈操作:
进栈指令:PUSH 源操作数
操作:先减指针SP-2 SP,后压数 字 (SP-1,SP-2)
弹栈指令:POP 目的操作数
操作:先弹数 (SP,SP+1) 目的地址
后加指针 SP+2 SP
D.举例:push ds ;暂存
push cs ;暂存CS
pop ds ;传CS DS, 使CS=DS
push [si+06h]; 存储单元内容进栈
的段寻址
段寻址实质上是基址寻址,一般用于微机中,例8086.
(1)分段技术:内存地址位数20位,220=1M, 而地址寄存器只有16位,216=64K.采用分段技术可解决此矛盾.
(2)设置4个段寄存器:CS,DS,SS,ES(均为16位),它们只保存各段的首地址(必须能被16整除),即段基址.
再给出基于某段首地址的偏移量,即某存储单元与它所在段的段基址之间的相对字节数.
寻址某存储单元: (BP,SP,S I,DI)
由段基址+某些寄存器提供的16位偏移量 20位的物理地址
(2)物理地址的形成过程:
16*段基址+段内偏移地址(16位)
(20位)
20位物理地址
16位段基址
16位段内偏移地址
20位物理地址
0
15
15
0
0
19
+
左移4位
CPU中的可编程寄存器
寄存器是计算机系统中最高级别的存储器,速度与CPU匹配.
可编程寄存器:应用程序可访问
系统级寄存器:特权指令能访问
调试/测试寄存器:特权指令能访问
80X86及奔腾处理器提供的可编程寄存器分4类:
1.数据寄存器:共4个,用来存放计算过程中用到的操作数.
可作为:4个32位寄存器(EAX,EBX,ECX,EDX)
4个16位寄存器(AX,BX,CX,DX)
8个8位寄存器(AH,,BL,CH,CL,DH,DL)
EAX(AX,AH,AL):作为累加器用,是乘、除及某些调整指令使用.在80386以上的处理器中,也可用于保存地址,作间址器.
EBX(BX,BH,BL):作为寻址/基址寄存器用.
ECX(CX,CH,CL):作为计数器用.
EDX(DX,DH,DL):作为通用数据寄存器用.
按使用
权限分
2.指针及地址寄存器
ESP,EBP,ESI,EDI可用于存放16/32位数据,但更常用于存放指针——操作数地址。
(1)ESP(SP)用于存放堆栈指针,也叫堆栈指针寄存器.
(2)EBP(BP)存放堆栈段中的基地址,访问堆栈段的其它信息
(3)ESI(SI)用于寻址串指令的源数据串,称源变址寄存器.
(4)EDI(DI)用于寻址串指令的目标数据串,称目标变址寄存器.
其中,ESI、EDI也可用作通用数据寄存器。
3.段寄存器
4.控制寄存器
8086/80286有CS,DS,ES和SS四个段寄存器,80386以后增加了FS和GS.
(1)CS:代码段寄存器,存放代码段的始址.
(2)DS:数据段寄存器,存放数据段的始址.
(3)SS:堆栈段寄存器,存放堆栈中的相对地址.
(4)ES,FS,GS:附加数据段寄存器,为某些串指令存放目标数据而外加的数据段.
控制寄存器:
(1)EIP:指令指针寄存器.
(2)EFLAGS:状态和标志寄存器,用其每一位指示处理器的一种工作状态,常用以下标志位:
●CF:进位标志,记录最高有效位产生的进位或借位.
●PF:奇偶标志,用于奇偶校验.
4.控制寄存器
●AF:辅助进位标志,记录运算时半字节间的进位.
●ZF:零标志,运算结果为0时,置1;否则为0.
●SF:符号标志,运算结果为负时,SF=1;否则为0.
●TF:陷阱标志,为1时,则在执行指令时产生单步中断.
●IF:允许中断标志,置1,允许中断.
●DF:方向标志,为0时,SI和DI的地址递增;否则递减.
●OF:溢出标志,为1时,表示超过机器表示数的范围.
●IOPL:特权标志. ●NT:任务嵌套标志.
●RF:调试时设置恢复标志. ●VM:虚拟方式标志.
●VIF:虚拟方式下中断标志.
●VIP:多任务环境下,给操作系统提供虚拟中断标志和中
●ID:指示奔腾支持CPUID指令,为系统提供版本,制造厂等信息
断暂挂信息
IP
FLAGS
DS
CS
ES
SS
FS
GS
AH AX AL
BH BX BL
CH CX CL
DH DX DL
SP
BP
DI
SI
EIP
EFLAGS
EAX
EBX
ECX
EDX
ESP
EBP
EDI
ESI
32位
8位寄存器
32位寄存器名
16位
16位
指令指针寄存器
标志寄存器
代码段寄存器
数据段寄存器
附加数据段寄存器
堆栈数据段寄存器
附加数据段寄存器
附加数据段寄存器
累加器
基址寄存器
计数器
数据寄存器
栈顶指针
基址指针
目标变址寄存器
源变址寄存器
1.控制寄存器
2.段寄存器
3.数据寄存器
4.指针及地址寄存器
图 80X86及奔腾
处理器提供的可编
程寄存器集
Intel 8086指令简介
本节要点:是本章之重点,要了解:
(1)每条指令的功能和用法,并
(2)多上机去逐条体会.
1.数据传送指令:用于寄存器,存储单元或输入/输出端口间的数据或地址的传送.
R M, R I/O, R R, 立即数 R/M , 不能M M
(1)通用数据传送指令:
●MOV指令:最基本的数据传送指令
MOV AL,BL ;R R, 8位
MOV SI,[BP+8AH]; R M,16位
MOV AL,6 ; R 立即数, 8位
●XCHG指令:可M R, R R ;
不能M M,段寄存器 段寄存器,立即数 R/M
CS,DS,ES,SS
存储器
通用
寄存器
AX,BX
CX,DX
BP,SP
SI,DI
立即数
Intel 8086指令简介
(2)输入/输出指令: AX/AL I/O 端口
IN AL, 0B5H ;字节输入
OUT 0FAH, AX ;字输出
MOV DX, 0358H;设置端口地址
IN AX, DX; 字输入
(3)地址传送指令:
功能:传送操作数的地址.
注意:操作数必须是存储器操作数,是送它的地址.
● LEA(Load Effective Address)
功能:把源操作数的EA送寄存器,即LEA REG,SRC
说明:源操作数SRC必须是内存操作数
目的操作数必须是16位的通用寄存器.
直接寻址
间接寻址
EA
AL/AX
port
OUT
IN
外界
(3)地址传送指令
举例:LEA BX,XYZ ; XYZ DB 222H (222H)=1916H
执行后, BX=222H
LEA BX,XYZ = MOV BX,OFFSET XYZ
●LDS
功能:地址指针送某数据寄存器和DS.寄存器常特指为SI
格式:LDS REG,SRC ;源操作数是双字长的存储器操作数,32位
操作:(REG) (SRC)低字, (DS) (SRC+2)高字
举例:LDS SI,[BX] MOV SI,[BX],MOV AX,[BX+2],MOV DS,AX
●LES :与LDS不同点在于用ES代DS
功能:地址指针送某数据寄存器和ES.寄存器常特指为DI
格式:LES REG,SRC ;源操作数是双字长的存储器操作数,32位
操作:(REG) (SRC)低字, (ES) (SRC+2)高字
2.算术运算指令
(4)标志传送指令:专用于标志寄存器FL的操作.
LAHF(Load AH from Flags)--标志寄存器低8位送AH
SAHF(Store AH into Flags)--AH内容送标志寄存器
PUSHF(PUSH the Flags)--标志寄存器内容进栈
POPF(POP the Flags)--栈顶内容送标志寄存器
2.算术运算指令
二进制数
无符号十进制数
共同点
1.隐含操作数
2.无操作数指令
A
P
C
Z
S
AH
……..
7 0
处理对象
压缩码(组合):每字节放二个BCD码
非压缩码(非组合):每字节一个BCD码
例:LAHF; 标志的低8位送AH
OR AH,01000000B; 将ZF=1
SAHF; ZF=1,其余标志位不变
2.算术运算指令
1)加法指令 (1)ADD加法指令
语法:ADD DST,SRC
功能:(DST) (SRC)+(DST); 操作数可为R,M或立即数.
举例:ADD AX,BX; ADD AL,40H; ADD [BX+SI+64H],AX
注意:1.参与运算的两操作数应同时带或不带符号.长度应一致.
2.两操作数不能同为存储器数, 立即数不能为目标操作数.
(2)带进位加法ADC:
语法:ADC DST,SRC 功能:(DST) (SRC)+(DST)+CF
(3)增量指令INC: 每次加1后回送.
语法:INC SRC; SRC可为R或M
注意:操作数不能为立即数.
举例:IDC CX
用途:常用于修改地址指针.
2.算术运算指令
(4)AAA(unpacked BCD adjust for addition)---加法的十进制调整指令
格式:AAA ;无操作数
操作:不做加法,仅把AL中的和调整为非组合的BCD格式
举例:ADD AL,BL ; AL=07H, BL=06H
AAA ; AX=0103 13
●DAA (Decimal adjust for addition)
组合的BCD码的十进制调整加法指令
格式:DAA ;无操作数
操作:不做加法,仅把AL中的和调整为组合的BCD格式
举例:ADD AL,BL; AL=26H,BL=55H
DAA ; AL=81
00000111
+00000110
1101
+ 110加6调整
0001001113
00100110
+01010101
01111011(7BH)
+ 0110加6调整
10000001 81
加6调整是对大于9的数,加上6使之
A B C D E F
0 1 2 3 4 5
2.算术运算指令
2)减法指令: SUB ,SBB, DEC,NEG,CMP
(1)SUB DST,SRC ; DST-SRC DST;例SUB AX,1200H
(2)SBB DST,SRC ; DST-SRC-CF DST
(3)DEC ;每次减1 (4)NEG ;求补,即0-操作数
(5)CMP DST,SRC ;只做DST-SRC,不送结果,两操作数保持原值,只改变标志位.
3)乘法指令:MUL,IMUL(Integer Multiplication)
MUL SRC(B) ; AX=AL*SRC ; IMUL是带符号数的乘法
MUL SRC(W); =AX*SRC
AL
乘数
AH AL
AX
乘数
DX AX
8位
8位
16位
16位
16位
32位
2.算术运算指令
4)除法指令
●无符号数除法:DIV SRC(B); AL=AX/SRC AH=余数
DIV SRC(W);AX= DX=余数
●带符号数除法:IDIV SRC(B);AL=AX/SRC AH=余数
注:IDIV需要2条符号扩展指令CBW,CWD支持.通常安排在IDIV之前。
AL商
AH余数
AL
AH
除数
DX
AX
AX商16位
DX余数16位
除数
32位
注意:乘法的被乘数和积是隐含的,分别在AL/AX和AX/DX中.
除法的被除数是隐含的,它放在AX/DX中.商在AL/AX,余数在
AH/DX中.
3.逻辑运算指令
(1)逻辑指令:共有4组:AND,OR,XOR,NOT.
若干位不变 (或0) 例:OR BX,0003H;置BX的第0,1位为1
若干位置1(或1),不能置0
若干位不变 (与1) 例:AND AL,0FH;使AL高4位为0
若干位置0(与),不能置1
若干位不变 (异或0) 例:XOR BX,0001H,使BX的第0位变反
若干位变反(异或1), (即改变状态)
NOT:全部变反
(2)测试指令:TEST
特点:完成AND指令相同的操作,结果不回送,即不改变两操作数的值,但把结果反映在标志位上.
用途:用于检测是否满足某些条件,又不希望改变原操作数,一般在其后加一条条件转移指令.
OR
AND
XOR
3.逻辑指令
例:TEST AL,01H ;检查AL的第0位(即末位)是否为1
JNE there ;若ZF=0(即AL的第0位为1),转至there
there:
4.移位指令和循环移位指令
●逻辑移位:对象是无符号数或非数值数,移位时不管符号
●算术移位:对象是带符号数,移位时要保持符号位不变
SAL/SHL
SHL
SHR
SAL
SAR
CF
0
CF
SAR
CF
0
SHR
循环移位指令
ROL(Rotate left)
ROR(Rotate Right)
例:MOV CL,4和ROR AL,CL
可实现高4位和低4位的互换
RCL(Rotate through CF left)
带进位的大循环
RCR(Rotate through CF Right)
CF
CF
小循环
CF
CF
5.串操作指令
都是一字节指令,功能是完成数据串的操作.共有以下5种:
1.串传送:MOVSB/MOVSW; DS:[SI] ES:[DI]
2.串比较:CMPSB/CMPSW; DS:[SI] -ES:[DI]
3.串扫描:SCAB/SCAW ; AL(AX)-ES:[DI] AL中存关键字
4.取串:LODSB/LODSW; DS:[SI] AL/AX
5.存串:STOSB/STOSW; AL/AX ES:[DI]
6.公共点:(1)用DS/SI——寻址源操作数
(2)用ES/DI——寻址目标操作数
(3)使用D方向位,D=0,表示地址增量,D=1,减量
(4)CX存放待处理字符串的个数.
(5)可使用重复前缀REPE/REPZ 相等/为零则重复
REPNE/REPNZ 不相等/不为零则重复
5.串操作指令
举例:从1000H开始有一字符串,长度为36H,要将该串送从1200H开始的存储区中.
MOV SI,1000H; 源串首址送SI
MOV DI,1200H;目的串首址送DI
MOV CX, 36H; 串长送CX
CLD ; 置DF=0
REP MOVSB
考虑:能否改一下程序,使程序执行速度快一倍?
6.程序控制指令
1)三种形式的转移指令
●近转:指段内转,其目标属性为NEAR.仅改IP,不改CS.
●远转:指段间转,其目标属性为FAR.改IP和CS.
●短转:指短距离的近转,其目标属性为SHORT.跳转范围是-128- +127.
2)直接转移和间接转移
●直接转移:指转移的目标地址信息直接在指令的机器码中,例JMP A1
●间接转移:指转移的目标地址信息间接存放在某一寄存器或内存变量中. 例:JMP CX 或JMP [BX]
3)绝对转移和相对转移
●相对转移:±当前IP值,即以当前IP为中心,向前/后转移.
●绝对转移:以新值取代当前IP值.
6.程序控制指令
(1)JMP无条件转
语法:JMP (目标)
功能:目标为指令的地址,无条件转移到目标所指的指令上
(2)CALL过程调用指令
语法: CALL(目标)
功能:将下条指令地址保存在堆栈内,再无条件转移到目标所代表的过程入口地址去执行,调用结束,从CALL的下条指令继续执行.
(3)RET过程返回指令
功能:由CALL指令压入堆栈的地址弹出,从该地址继续执行.
(4)条件转:例JZ,JNZ
(5)循环控制指令:LOOP
(6)中断INT 3
7.其它:如处理器控制指令.例CLC(CLEAR CF=0)
上机题
题目:若某工厂一车间小组共5人,生产2号零件,他们的日产量分别是35,40,45,50和55,请用汇编语言设计一程序,要求在屏幕上显示超过组内平均日产量的工人有几个?
提示:1.先求全组总产量.
2.求组内的平均日产量.
3.拿每个组员的产量逐个与平均日产量相比,大于者计数(设置1计数单元).
4.调用DOS的INT 21H,显示超产者的个数.
指令系统的设计内容
指令系统是CPU设计的依据,设计CPU先要设计一指令系统.指令系统的设计包含两个层次的工作:
1.能向程序员提供一优化的指令的集合——最基本的。
2.进一步满足对于计算速度等特殊要求.
3.设计指令系统要确定的主要性能指标:
●操作类型:决定指令数量和操作的难易程度.
●数据类型:决定操作数的存取方式.
●寻址方式.
●寄存器类型与个数.
●指令格式:包含指令长度和各字段的布局.
CISC与RISC
RISC(Reduced Instruction Set Computer)简化指令系统计算机
CISC(Complex Instruction Set Computer)复杂指令系统计算机
RISC与CISC是目前指令系统的两种不同设计思路.
语义差距问题
(1)语义(semantics)差距:即高级语言与机器语言的间隙.
高级语言发展 靠拢人类自然语言 语义差距
1.增加编译程序功能 芯片工作不稳定
2.扩大CPU指令功能 投资大
-20规律:
即典型程序中的80%语句仅使用CPU中20%的指令(大多是+,取数,转移等简单指令).80X86中最常用的10种指令(+,-,,call,条件转,存取,寄存器间传送,比较等)占96%.
启示:能否仅使用最常用的20%的简单指令,重新组合不常用的80%的指令功能? 引发RISC技术
要使语义差距
硬件复杂
的基本思想
(1)思想:留下最常用的20%的简单指令,通过优化硬件设计,提高时钟频率,实现高性能.
靠速度取胜!但并不是简单的精简指令集.
若一程序总执行时间为:T=,其中
N--待执行的指令总条数, C—CPU平均周期数/指令
S--每个CPU周期的时间 C
CISC: N C S 4~10
RISC: C S N ~
结论:RISC性能=2~5倍的CISC
T =
的基本思想
因计算机的硬、软件在逻辑上的等效性,使指令系统的精简成为可能.
(1)论据1:有人证明,只要用一条“把主存中指定地址的内容同累加器中的内容求差,把结果留在累加器中并存入主存原地址中”,即SUB AX,[BX];
MOV [BX],AX.
(2)论据2:用一条条件转移指令CMOVE可做出一台计算机.
(3)指令系统的精简部分可用其它部件或软件(编译程序)的功能来代替.
的外体系结构
RISC设计思想:少而精 精而快.
(1)RISC的外体系结构:指计算机的功能,对CPU而言是指令系统.
RISC的最基本追求是精简指令系统.
精简指令系统简化控制器减小控制器面积提高处理速度(C,T ).
RISC有以下特点:
(1)指令种类少(100条):例RISC中无寄存器间的传送指令,可用
加法指令 Rs+R0 Rd ; R0是恒为0的寄存器.
取负数 R0 Rs Rd ;
清寄存器 R0+R0 Rd
(2)指令格式少(1-2种),要求长度一致,便于译码.
(3)寻址方式少(1-2种):只有存(store)取(load)数二条指令可访存.
的内体系结构
是指计算机功能的实现.可采用以下技术措施.
(1)重叠寄存器窗口技术: 软件法:设计寄存器分配算
寄存器 寄存器资源管理和分配问题 法和编译程序优化
硬件法:寄存器窗口技术
基本思想:解决过程调用时因频繁保存和恢复而使程序效率降低的问题.
方法:把通用寄存器分组,给每个过程(调用)分配一寄存器小组,即称该过程的一个窗口.当发生过程调用时,CPU自动地在寄存器窗口间切换,不作保留和恢复操作.
(2)采用cache:使存放指令和数据的cache彼此独立.
(3)超标量技术:指P中含多个指令执行单元,多条指令执行流水线,使处理器运行速度成倍提高.
引起
编译系统
高级语言程序 机器语言
1.设计思想:CISC:指令多寻址方式多选择多复杂
RISC:指令少寻址方式少选择少简单
2.编译程序提高速度的措施:
(1)设计寄存器分配算法,减少访存次数.
(2)设计子程序,以避免寄存器内容及机器状态的保存和恢复
(3)调整指令顺序,减少指令相关和数据相关对流水线的影响
RISC中引起流水线延迟主要是:转移和取数指令.
CISC:用硬件互锁或猜测法解决断流问题.
RISC:采用硬软件互相融合的技术,靠编译器中的优化程序进行指令重组.
采用推迟转移法(delayed branches):是用软件的静态指令调度方法解决流水线因执行转移指令而断流的问题.具体可在转移指令后插1条空操作指令.
编译compiler
的问题
RISC的不足与它的优点是同时产生的.
(1)对编译器的设计要求高.
(2)指令系统不标准, 难读,难分析.
(3)与传统的CISC不兼容.
指令的时序
CPU的工作过程就是执行指令的过程.指令是由一系列基本操作,即微操作(micro-operation):组成.指令的时序是为指令中包含的微操作所安排的时间表.
指令时序(Timing)的控制方式
微操作是CPU在执行指令中,完成的基本操作.如送指令地址,取指,读指令,译码,送操作数地址,取操作数,运算,写回结果等.微操作是指令执行部件接受微命令后进行的操作.
指令中所包含的微操作要遵循一个时间表,即指令的时序(相当于作息时间表).
1.指令时序(sequence)的控制方式:
控制器重要的功能是进行指令的时序控制.指令中每个微操作要由对应的时序信号激发(启动).基本控制方式有同步和异步两种.
返回
指令时序的控制方式
(1)同步(synchronous):以时定序.每条指令和每个微操作的执行,都由时序信号(即CPU的基准时钟)来控制,一旦时序结束,操作也结束.
(2)异步(asynchronous):以序定时.没有基准的时钟信号.一个微操作是用前一个微操作的结束信号启动的.
例:CPU I/O
时钟
微操作
信号1
微操作
信号2
命令1
微操作信号1
回答1
信号2
回答2
读请求
READY
同步控制的时序
(3)联合控制方式:是同、异步两种方式的结合,即把大部分操作安排在固定的机器周期,对某些时间难以确定的操作用回答方式进行.也就是,对各种不同指令的微操作实行大部分统一,小部分区别对待的办法.例,对公共的取指操作用同步方式,对I/O操作用异步方式.
同步控制时序:
计算机的工作过程是 取指 分析指令 执行指令 周而复始的过程.
1.指令周期:从取指到执行指令,完成一系列微操作所需的时间.
周期:即机器周期,一般一个指令周期可划分为几个 CPU周期,把微操作分配在各个CPU周期中.
CPU周期随指令不同而不同,但第一个周期必定是取指周期,所以,任何一条指令最少要二个CPU周期.
详见图
同步控制的时序
指令的微操作分析
(3)时钟周期:是由CPU时钟定义的定长时间间隔,是CPU工作的电最小时间单位,也叫节拍脉冲或T周期.见图.
指令的微操作分析
指令周期长度的确定:指令周期随指令的不同而异.
1.非访内指令:
(1)特点:不访内存,不从其中取数.一般只需二个CPU周期.即取指和执行周期.
(2)周期分配:
CPU周期1(取指):从M中取指 IP+1 对操作码分析,确定执行哪些微操作.
CPU周期2(执行):根据对操作码分析结果 向有关部件发操作控制信号
详见
指令的微操作分析
2.直接访内指令: (1)特点:必访内存,一般要三个CPU周期.
(2)周期分配:
周期1:取指(同上)
周期2:操作数地址 AR 完成地址译码(直接寻址)
周期3:取出操作数 运算
3.间接访内指令:
(1)特点:一般要4个CPU周期.
(2)周期分配
周期1:取指(同上)
周期2:操作数地址 AR 完成间接地址译码(算地址)
周期3:取出操作数地址 进行地址译码
周期4:取操作数 运算
详见
指令的微操作分析
指令周期的确定
4.程序控制指令
(1)特点:改变程序执行的顺序,由2个CPU周期组成.
(2)周期分配
周期1:取指(同上) IP+1
周期2:转移目标地址 IP
结论:任何一条指令的第一个CPU周期都是取指周期.
指令周期的确定
同步控制方式下,可采用以下策略确定指令周期.
1.集中(centralized)控制方式:
(1)原则:统一划齐.即不管何种指令,都以最长的指令周期为标准分配相同的节拍数.
优点:时序电路简单. 缺点:大量浪费时间.
指令周期的确定
2.分散(dispersed)的节拍控制:
(1)原则:按需分配.即按指令的需要分配微操作数的种类和数目,尤其是执行指令周期,复杂指令分配的CPU周期多.
优点:可有效提高运行速度. 缺点:增加时序部件复杂性
3.集中/局部混合控制方式:是前二种方案的折中.
(1)中央周期:把绝大多数指令安排在固定的机器周期内完成
(2)局部周期:对少数复杂指令(,,浮点运算)按需插入附加的节拍,即局部周期.
优点:兼顾集中和分散两种控制方式的优缺点,取长补短,使用广泛.
5.时序的形成:(1)时序信号(timing signal)
CPU中有类似“作息时间”的东西,使计算机各部件能协调工作要建立时间标志,时间标志要通过时序信号实现.
5.时序的形成
时序信号的基本体制是:
节拍电位,节拍脉冲,即电位--脉冲制.
典型例子:D触发器.数据加在触发器的电位输入端,而打入数据的控制信号是在触发器的时钟输入端.
节拍(beam):是时序系统的时间标尺的基本单位,每一节拍有1节拍脉冲,作为寄存器的触发脉冲,还有1个节拍电位,其宽度与时钟周期一致.若干机器周期构成1个指令周期.
节拍电位:表示一个CPU周期的时间,是较大的时间单位.
节拍脉冲:在一个节拍电位中又包含若干个节拍脉冲,以表示较小的时间单位.在节拍脉冲P的后沿引起节拍电位.
(2)图例:图是最简单的二分频,每个CPU周期包含2个时钟周期.
Q Q
D P
一
0 1
控制器设计
控制器由CPU寄存器,操作控制部件和时序部件组成.
寄存器:(1)功能:组成CPU中的信息通路.
(2)种类:IP(或程序计数器PC),IR,AR,AC和标志寄存器F.
2.操作控制部件:
(1)功能:根据指令OP码和时序信号产生各种操作控制信号.
指令 时序+微操作信号 组合逻辑电路
操作控制部件可用 微程序
组合逻辑--存储逻辑
3.时序部件:
(1)功能:对各种操作实施时间上的严格控制.
(2)组成:主时钟源,节拍发生器,启停控制逻辑.
节拍发生器是关键部件,可是一环形计数器,也可是计数译码电路.
译码
实
现
返回
组合逻辑控制器
(Combinational Logical Cotroller)
1.组合逻辑实现控制器的基本方法
(1)特点:又叫硬布线(hard-wired)控制器,要求控制器产生的同一种微操作的所有操作进行归纳综合,把凡要执行这一微操作的所有条件都考虑在内,然后用逻辑电路实现.
微操作控制电路C=F(Im ,Mi,Tk,Bj)
其中: Im_---操作译码器输出, Bj---状态条件信号
Mi---节拍电位, Tk ---节拍脉冲
(2)设计目标:以使用最少元件和取得最高操作速度为设计目标
(3)设计微操作控制线路的步骤
微操作
归纳
综合
逻辑
电路
条件(指令,时刻)
门电路+寄存器
组合逻辑控制器
●分解每条指令,归纳成若干基本操作.
●将各微操作落实到指令周期不同节拍中,编排操作时间表
●把各微操作时间表综合分析后,求出各相同微操作产生条件的逻辑表达式,并画出操作控制线路.
2.实例介绍:一模型机的组合逻辑控制的逻辑实现.
(1)指令译码器:
●功能:与地址译码器相当,完成“多选一”功能.
(2)组合逻辑网络的构成:
(1)功能:用指令译码器的输出(例ADD),即一条指令信号对其进行驱动,并在不同节拍中产生不同的微操作控制信号.
●发往各部件的控制信号:不带上标,例LM,ER等8个.
●每条指令在不同的节拍中所需发出的同一类微操作的控制信号,例LM LM LM LM.
1
2
3
4
组合逻辑控制器
(3)控制原理:以ADD指令为例,它包含的微操作
●取指令:节拍T0 EP:IP送指令地址
LM LM ;指令地址 MAR
T1 ER ER ;读指令 T2:CP IP+1;公操作
LI ;指令送IR
●执行指令:
T3 EI EI; IR分二部分送出
LM LM;把操作数地址 MAR
T4 ER ER; 内存输出操作数
LB LB;把操作数 B寄存器
T5 EA EA; 数A至ALU T6 EU EU; ALU送出结果
EB EB; 数B至ALU LA LA; 结果送Ac
1
1
2
3
1
2
1
1
2
注1: T0 T1T2为取指周期,
是各指令的公共操作.
注2: T3 T4T5 T6为执行周期
该周期的微操作随指令而
异.
3
(4)组合逻辑控制器的优缺点
●优点:全硬件,执行速度快,在RISC中占一定市场.
●缺点:结构复杂,工作量大,易出错.指令或硬件结构变化会影响其内部结构,日后增减指令或改动结构困难.
(5)总结:
组合逻辑控制器的设计步骤
●写出每条指令,每个周期,每个节拍所需的全部操作命令信号,即操作时间表.写出每个命令的逻辑表达式.
●综合,归并操作命令,写出每个操作命令的与或逻辑表达式.
●逻辑化简.
●用基本逻辑电路实现每个操作控制命令.
微程序控制器
(Microprogrammed Controller)
1.微程序控制的基本思想:
微程序设计思想由英国剑桥大学的于1951年提出.1964年,IBM360系统的诞生是微程序设计发展的标志.
(1)本质:用软件方法组织和控制数据处理系统的信息传送,并最终用硬件实现.
(2)基本思想:把冯氏的“存储控制原理”引入控制器设计中,即把一条指令看成是一个微指令系列组成的微程序.
执行一条指令,就成为从取微指令,分析,执行到取下条微指令的过程,此法相当于把控制信号存储起来,所以又称存储控制逻辑方法.
(3)优点:使控制器设计规范化,并使其功能具有可修改性和可扩充性.
2.控制存储器(CM):专用于存放组成各条指令的微指令序列的ROM.每条指令的操作码被译码为所对应的微程序首址.
Control memory-简称控存
2.微程序控制器的组成
OP
AD
IR
CM
.
:
:
下一地址
IR
控制信号
(1)控制存储器(CM)
是微程序控制器的核
心,由ROM或EPROM组
成.存放各条指令对
应的微程序.
(2)微指令寄存器IR
和微地址形成电路
●IR:也叫控存数据
寄存器,它把控存取出
微指令分成操作码和
微地址部分,根据控制方式,微指令可分成:
A.水平型:微操作码部分的位数等于全机的信号个数,即每个信号占1位,
如图,.此法也叫直接控制或不译码法.
B.垂直型:又叫软方法.与机器指令相似,每条微指令只能完成对少量微操
作的控制,并行能力差,致使微程序长度长,执行慢,但微操作码短.
2.微程序控制器的组成
对图的说明(流程图)
MM指令IR OP —微程序首址 AR 驱动
从CM读出微指令 IR 后址取得下条微指令地址
0P译码器微命令
信号
●微地址码:其作用是形成下条微指令的微地址,下条(后继)微地址有二种形成方法:
A.增量方法: 是指顺序执行时,IR+1.
转移时,微指令中要指定所转向的微地址.
B.断定方式:下条微指令的微地址必须由前一条给出.
(3)指令操作码译码器:
功能是指出该指令对应的微程序的首地址.
译码
3.微程序控制器设计举例
设计步骤(共5步):
1)分析每条指令的基本微操作.
●分析指令执行流程,形成流程图,见图(P199).
2)对微操作进行归类,综合(共12种).
3)设计微指令格式
(1)微操作码部分
●采用水平型微指令结构(因微操作数目不多).12位作微指令操作码.每位对应一微指令.
(2)地址部分
●后继地址用断定方式,在微指令中给出.取4位,因24>12 (12条指令).
●最终结构:微操作码12位.后继地址用4位,共16位.见下图.
微操作码
后继地址
15 … 4 3 … 0
3.微程序控制器设计举例
4)微程序设计:
A.设计原则:按指令分解流程,编排其微程序.
B.取指部分作为微程序的公共部分.
C.后续微程序入口,通过译码得到.
模型机各指令的设计结果见表.
5)画出逻辑框图
根据指令的微程序,画出逻辑框图.见图.
3.微程序控制器设计举例
微程序入口 微指令地址 微指令码(八进制) 操作
命令码 后继地址
取指周期 00 6000 01 ARIP(指针送AR);R(读)
01 1400 IR MDR;IP IP+1
ADD 03 2200 10 AR ADDR,R
10 0040 11 Y MDR(一加数从MDR
Y)
11 0020 12 Z AC+Y;已在累加器中的
被加数与加数相加,从Z输出
12 0010 00 AC Z;从运算器输出AC
AC
B
Y
ALU
Z
.
.
.
.
.
.
.
以加法为例
微指令编码
微操作信号
.
.
.
.
.
6000
1400
.
.
.
2200
00
01
03
10
11
12
微地址译码器
时序部件
微地址寄存器
微地址形成器
转移微地址
0040
0020
0010
图 模型机微程序控制器逻辑框图
第五章 作业
~
计算机组成与结构
Computer Organization
and Architecture
(第六章)
顾 浩 赵宝华
目录
计算机并行技术概述
指令级并行技术
线程并行技术(自学)
非Neumann体系计算机系统(自学)
计算机元器件技术展望(自学)
计算机并行技术概述
计算机硬件并行技术的发展
计算机系统的发展主要是在元器件技术和体系结构两条战线上不断向前推进的。
1.并行性的概念
广义地讲,并行性包含同时性(simultaneity)和并发性(concurrency)两个方面。
同时性—指两个或多个事件在同一时刻发生。
并发性—指两个或多个事件在同一时间间隔内发生。
简单地说,在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不相同的功能,只要时间上互相重叠,就存在并行性。
计算机并行性开发的技术对策
并行性的开发主要从时间重叠、资源重复、资源共享3个方面展开.
1. 时间重叠
时间重叠是多个处理过程在时间上相互错开,轮流、重叠地使用同一套硬件设备的各个部分,以提高硬件的利用率而赢得高速度,获得较高的性能价格比.它是通过时间重叠技术实现并行处理,主要表现在各种流水线部件和流水线处理机,而不靠增加重复硬件设备,是一种“挖掘内部潜力”的方法。
流水线在指令和操作一级的实施,形成单处理机内部的指令流水线和操作流水线;进一步发展到任务一级,形成处理机级的流水线或称宏(macro)流水线。
计算机并行性开发的技术对策
2. 资源重复
资源重复是通过重复地设置硬件资源以大幅度提高计算机系统的性能,是一种“以多取胜”的方法。它的初级阶段是多存储体和多操作部件,目的在于把一个程序分成许多任务(过程),分给不同的部件去执行.这些部件在发展中功能不断增强,独立性不断提高,发展成为3个层次:
●在多个部件中的并行处理;
●在多台处理机中的并行处理─紧藕合多处理机系统;
●在多台自治的计算机系统中的并行处理──松藕合多处理机系统。
沿着这条路线形成的多处理机系统的特点是对称型(Symmetrical)或称同构型多处理机(Homogeneous Multiprocessor).它们由多个同类型的,至少同等功能的处理机组成,同时处理同一程序中能并行执行的多个任务。
计算机并行性开发的技术对策
3. 资源共享
资源共享是多个用户之间可以互相使用它者另一方的资源(硬件、软件、数据),以提高计算机设备利用率。计算机网络就是这一技术路线的产物.它通过计算机与通信技术的融合,实现信息资源共享。
Flynn分类法
1966年提出了一种按信息处理特征的计算机分类方法—按指令流和数据流对计算机进行分类的方法.他首先引入了下列定义:
● 指令流—机器执行的指令序列。
●数据流—由指令流调用的数据序列(包括输入数据和中间结果)。
●多倍性——在系统受限制的元件上处于同一执行阶段的指令或数据的最大可能个数。
按指令流和数据流分别具有的多倍性,可将计算机系统分为下列4类:
● SISD——单指令流单数据流系统;
● SIMD——单指令流多数据流系统;
● MISD——多指令流单数据流系统;
● MIMD——多指令流多数据流系统。
四类系统
1. SISD系统
SISD系统是传统的顺序处理计算机,通常由一个处理器和一个存储器组成.它通过执行单一的指令流对单一的数据流进行处理.即指令按顺序读取,指令部件一次只对一条指令进行译码,并只对一个操作部件分配数据。
2. SIMD系统
典型的SIMD系统由一个控制器、多个处理器、多个存储模块和一个互连网络组成.互连网络用来在各处理器和各存储模块间进行通信,由控制器向各个处理器“发布”指令,所有被“激活的”处理器在同一时刻执行同一条指令,这就是单指令流。但在每台流动的处理器执行这条指令时所用的数据是从它本身的存储器模块中读取的,所以各处理器加工的数据是不同的,这就是多数据流。
四类系统
3. MIMD系统
典型的MIMD系统由多台独立的处理机(包含处理器和控制器)、多个存储模块和一个互连网络组成;每个处理机执行自己的指令(多指令流),操作数据也是各取各的(多数据流).这是一种全面并行的计算机系统。MIMD的互连网络有两个不同级别——系统-系统级(如图(a)所示)和处理机-存储器接口级(如图(b)所示)上.
(1)系统-系统级MIMD系统:特点是各台处理机都有自己的存储器,互连网络仅仅用来进行处理机间的通信,通信带宽较窄,称为松耦合多处理机系统(loosely coupled multiprocessor system),一般多计算机系统就是指这种系统。
(2)处理机-存储器接口级的MIMD:特点是各台处理机共享公用的存储器,存储器可以由多个模块组成,互连网络用来在处理机-存储器之间传送信息,通信带宽较宽,称为紧耦合多处理机系统(tightly coupledmulti processor system),通常说的多处理系统一般就是指这一类型的系统.
四类系统
4. MISD系统
关于MISD系统的界定,众说不一,有的认为根本就不存在MISD系统;有的把流水线处理机划分在这一类.但也有的把流水线处理机称为SIMD系统一类。
指令级并行技术
指令流水技术
1. 指令的重叠与流水
指令的作业方式与CPU结构及其对指令的解释有关。早期的CPU虽也把指令分解为一系列的微指令,但如图所示,在同一时间段内处理器只能进行一个指令的作业;一条指令的作业完成后,才能开始另外一条指令的作业。
(1)顺序作业方式优点:控制简单.
(2)缺点:速度慢,因为当前操作完成前,下一步操作不能开始.另外机器各部件的利用率也不高,如主存与运算器(EU)不能同时工作。
(3)流水作业方式:当CPU分成多个相对独立的部件(如图所示),且可把一条指令解释为多个子过程时,不同的部件将分别对微指令流中不同的子过程进行操作,就形成流水作业方式,流水线是CPU实现高速作业的关键性技术。
2. 指令流水线结构
指令流水线:是将指令的整个执行过程进行分段处理.典型的指令执行过程是取指令-指令译码-形成地址-取操作数-执行指令-回写结果-修改指令指针,与此相对应的指令流水线由图所示的各部件组成。
若上述7步中,每一步需要一个时钟周期,从指令进入流水线,到出结果,要7个时钟周期;但此后每个时钟周期便可执行一条指令.设一条流水线由k个时间步(功能段)组成,每个时间步的长度为Δt。对n条指令顺序执行时所需的时间为n·k·Δt,而流水作业时所需时间为k·Δt+(n-1)Δt=(k+n-1)·Δt,吞吐量就提高了(k+n-1)/ n·k.显然,k值越大,流水线吞吐量提高得越高。
流水线的吞吐量主要由时间步最长的功能段决定.这个最长的功能段就是流水线的“瓶颈”。
解决“瓶颈” 的两条途径
解决流水线“瓶颈”(图(a))可以通过两条途径:
(1)将“瓶颈”部分再细分,如图(b)所示,当分成与其他时间步(设为1个时钟周期)几乎相等的功能段时,就会每一时间步(1个时钟周期)出一条指令.
(2)用“瓶颈”段复制的方法如图(c)所示,用数据分配器,将多条指令的“瓶颈”段(访存)并行地执行,加快执行过程.
3. 运算流水线
指令流水线是处理机级的流水技术.它还可用于部件级,把流水线技术引入运算操作中就形成运算流水线。
(1) 单功能和多功能流水线
●单功能流水线:只能实现一种特定的专门功能.
●多功能流水线:同一流水线可以有多种连结方式.实现多种功能.
图是T1-ASC计算机的功能块及3种功能连结方式。
(2)静态和动态流水线
●静态流水线:同一时间内只能按一种运算连结方式工作。 ●动态流水线在同一时间内允许按多种不同的运算连结方式工作.
●两者关系:单一流水线一定是静态流水线,动态流水线一定是多功能流水线,但多功能流水线可是动态的,也可是静态的.静态流水线仅当指令是同一类型时才能连续不断地作业。
4. 访存冲突
“取指令”与“执行指令”都要访问主存,一个要取指令,一个要取操作数.故重叠流水方式要求CPU能同时访问主存中的两个单元.这对一般将操作数和指令混合存储在同一主存中的机器来说是难以实现的.为实现重叠解释,应在硬件结构上采取措施。通常有如下一些方法:
(1) 设置两个独立编址的主存:分别存放操作数和指令.
(2) 采用多体交叉存储结构:使两条相邻指令的操作数不在同一存储体内.
(3) 指令预取技术,即指令缓冲技术:如8086 CPU中设置了指令队列,用于预先将指令取到指令队列中排队。
5. 相关处理
指令间的相关(instuction dependency)是指由于一段机器语言程序的相近指令之间出现了某种关联,使它们不能同时被解释,造成指令流水线出现停顿,从而影响指令流水线的效率.指令间的相关大体可分:
(1) 控制相关
当一条指令要等前一条(或几条)指令作出转移方向的决定后才能开始进入流水线时,便发生控制相关.典型的情况是条件转移指令:一条条件转移指令必须等待前面指令有结果后,才能让其下一条指令进入流水线。
●进行控制相关处理的第一步是要先确定是否转移指令.这一点在指令流水线的前端通过指令译码就能确定。
▲若是无条件转移指令:经指令译码便可确定转移目标,在该指令后的已经进入指令列中的指令一般都应废除,而后按转移地址重读新的指令序列.对流水线影响较小.
▲若是条件转移指令:指令部件就停止作业,直等到条件码给出,才能确定转移方向,但这时流水线中已经基本流空.若转移成功,要引入新的指令流;如若转移不成功,流水线上也无多少指令,执行部件要停止作业一段时间。
(2)数据相关
●数据相关的成因:发生在几条相近的指令间共用同一个存储单元或寄存器时,如某条流经指令部件的指令,为计算操作数地址要用到一个通用寄存器的内容,而其前产生这个通用寄存器的内容的指令还没有进入执行部件.这时指令部件中的流水作业只能暂停等待。
●数据相关的三种情形:
读-写相关(先写后读,RAW,Read After Write)
写-读相关(先读后写,WAR,Write Ater Read)
写-写相关(先写后写,WAW,Write After Write)
●两种控制方式:
①顺序流动流水线:流水线输出端的信息流出顺序与输入端指令的流入顺序一致.只可能发生先写后读的数据相关,即写数指令在前,读数指令在后.
与流水线的控
制方式有关
(2)数据相关
解决方法:设置专门的硬件进行检查.每次取数时,要对其前已在流水线上的写数指令的写数地址进行比较,若有相同地址,就会产生数相关,应推迟读数操作.这要影响程序的效率.为缩短等待时间,可采用数据旁路(bypassing)或称数据内部传递(internal forwarding)技术.它是在执行部件与指令部件之间设置直接传送数据的通路,使执行部件向主存或向寄存器传递数据的同时,把数直接传送到正在等待这个数的指令部件中去。
②非顺序流动流水线
在这种流水线中,指令的流动顺序可能发生变化.这时会发生另外两种数相关.处理的办法类似RAW,但要复杂得多。
流水线中的多发射技术
多发射技术,即在一个时钟周期内发出多条指令,常见的多发射技术有:
1. 超标量技术
超标量 (Super Scalar) 技术是指可以在每个时钟周期内同时并发多条独立指令,即以并行操作方式将两条或两条以上指令编译、执行之,如图(b)所示。
在超级标量机的处理机中配置多个功能部件和指令译码电路,还有多个寄存器端口和总线,以便能同时执行多个操作,但要由编译程序决定哪几条相邻的指令可以并行执行.请看下面的程序段:
MOV BL,5 ; ADD AX,0123H; ADD CL,AH
上面3条指令是互相独立的,它们之间不存在数相关,存在指令级并行性,程序段并行度为3.再看一例:
1. 超标量技术
INC AX
ADD AX,BX
MOV DS,AX
这3条指令间存在相关性,不能并行执行,程序段的并行度为1,指令只能逐条执行。
超级标量机不能重新安排指令的执行次序,但可通过编译程序采取优化技术,在将高级语言程序翻译成机器语言时,进行精心安排,把能并行执行的指令搭配起来,挖掘更多的指令并行性。
2. 超流水线(super pipe lining)技术
3. 超长指令字技术
2.超流水线 技术:是将一些流水线寄存器插入到流水线段中,通过对流水管道的再分,使每段的长度近似相等,以便现有硬件在每个周期内使用多次,或者是每个超流水线段都以数倍于基本时钟频率的速度运行。
3. 超长指令字(VLIW Very long instruction word)技术
超长指令字和超标量技术都采用多条指令在多处理部件中并行处理的体系结构,以便能在一个机器周期内流出多条指令,但区别在于:
●超标量的指令来自于同一标准指令流;VLIW较超标量具有更高的并行处理能力,且对优化编译器的要求更高,对Cache的容量要求更大些. VLIW则是由编译程序在编译时挖掘出指令间潜在的并行性后,把多条能并行执行的操作组合成一条具有多个操作段的超长指令这种VLIW计算机结构的指令.再由这条超长指令字(长达几百位~上千位控制)VLIW机中多
(a) 普通流水线作业
(b) 超标量流水作业
(c) 超流水线作业
(d) VLIW作业
IF:取指令 ID:译码 EX:执行 WR:写回
图 4种计算机执行指令的作业情况比较
返回
返回
个独立工作的功能部件,由每个操作段控制一个功能部件,
相当于同时执行多条指令其作用方式如图 (d) 所示。
3. 超长指令字(VLIW)技术
VLIW有下列3大特征:
●单一控制流,只有一个程序控制器,每个时钟周期启动一条超长指令;
●超长指令被划分成若干个字段,每个字段直接地、独立地控制每个ALU;
●由编译码安排,在一个周期中执行的不只是一个操作,可以是一组不同的操作,这些操作各自作用于独立的数据对象。
优化编译器是VLIW体系结构计算机的关键.优化编译器使用的常用技术是“压缩”技术,它将串行的操作序列合并转换成为并行的指令序列.人们认为,VLIW技术与优化编译器的结合,将是解决程序指令级细粒度并行性的一种有效方法。
Pentium CPU
Pentium是Intel公司于1993年推出的新一代32位微处理器.其集成度为310万个晶体管,其中除70%的晶体管用于与80386兼容的单元外,绝大部分用于提高整机性能上,如优化的超高速缓存、超标量结构及超流水线、转移指令预测、高速浮点部件等, 它有如下特点:
1. 超标量处理结构(1)两条流水线
如图所示,Pentium的超标量处理结构指在硬件上具有两条分开的整数流水线─U流水线和V流水线,每条流水线在一个周期内可流出一条常用指令,整个系统可在一个周期内流出两条整数指令.两条流水线分别拥有自己的ALU,当两条指令不相关时,Pentium便可同时执行它们.对于简单命令, Pentium处理器利用硬件上的布线逻辑代替微代码指令;对于较复杂的指令,Pentium处理器则采用经过优化的微代码,通过优化来影响编译生成命令的顺序。
图 (a) 和 (b) 分别为Intel 80486 CPU和Pentium CPU整数流水线的执行情况。
2. 独立的指令和数据超高速Cache
为适应两条整数流水线对指令和数据的双倍访问,Pentium为指令和数据各设一个独立的超高速缓冲存储器,使它们互不干扰,减少争用Cache的冲突。
Pentium芯片上的指令和数据超高速缓存容量都是8KB.采用双路组相联(two-way set associative) 结构,与主存交换信息的基本单位是行,每行的长度都是32个字节.每个超高速缓存都有一专用并行转换后备缓冲器TLB (Translation Lookaside Buffer),把线性地址转换为物理地址.数据超高速缓存的标志是三重的,可支持在一个相同周期内执行两个数据传送和一个查询(inquire).这样,当两个并行的ALU都需操作数时,可同时访问数据超高速缓存。
(2)两项重要技术:Pentium处理器的数据高速缓存采用两项重要技术:回写式(write back)高速缓冲及MESI(Modified,Exclusive,Shared,Invalid─修改/独用/共享/无效) 协议。
(2)两项重要技术
●回写式技术:指当写操作命中超高速缓存时,不需像通写(write through)方式那样把数据写入超高速缓存的同时即写入主存,而是采用将CPU送来的数据写入超高速缓存时在对应的超高速缓存标志位 (modified bit)上做标志的方法,表明此行内容与主存中的原本内容已不一致,等到该行需更新时再复制回主存.此技术可以减少内存写入操作次数,提高存储系统的整体性能。
● MESI协议:可确保超高速缓存内数据与主存数据的一致性,这对于先进的多处理器系统极为重要,因多个处理器经常需要同时使用同一组数据。
3.转移指令预测
Pentium有两个行长为32字节的预取缓冲区.Pentium处理器有一个转移目标缓存BTB (Branch Target Buffer) 用以保存有关的历史信息,在遇到转移时,预测是否发生转移以及将使用哪条支线,预测准则是基于先前曾使用的支线将会再度使用.若BTB预测不发生转移,预取指令将继续进行;若BTB预测将发生转移,则另一个预取缓冲区将根据预测预取指令.因此,不管转移实际上发生与否,所需的指令永远是在执行前预取出来.若BTB预测正确,流水线将立即执行下去,否则Pentium将尽快使流水线得到刷新,并去取正确的指令.当然,这种情况会产生至少3个时钟周期的延迟。
与其他方案相比较,Pentium所选用的BTB结构具有软件透明性,即不需将程序代码重新编译即可享用,故能全面提高整机速度及应用软件的性能。
4.高性能的浮点运算单元
Pentium内置的浮点运算部件具有自己的浮点寄存器堆、加法器和乘/除法器,故在一个机器周期内它也可发出一条浮点指令(最多也可发两条,但其中有一条必须是交换指令)。它的强化的FPU单元含有八级流水线及硬件实现的运算功能.8级流水线中前5级是和整数部件相同的,但后3级是专用的,如图所示其中整数指令把X1作为WB (回写) 使用。
大部分浮点指令首先在其中的一个整数流水线内开始执行,然后移往浮点流水线.对常用的浮点运算如加、乘及除等,均用硬件实施,以提高执行速度。
5. 其他技术特点
(1)增强的64位数据总线
(2)多重处理支援
Pentium最适合于两个或多个Pentium的多重处理系统。
(3)错误检测和功能冗余校验技术
Pentium处理器增设了大型机中才有的错误检验和功能冗余校验技术,以使计算网络中的数据保持完整性。
RISC处理器的体系结构
下面介绍RISC机为提高速度在内体系结构方面采用的技术措施:
1. 重叠寄存器窗口
有32个通用寄存器,有的已达上千个.通用寄存器的增加,能使RISC的大多数指令只在寄存器间进行操作,缓解了主存带宽造成的瓶颈.但寄存器数量的增多,又带来寄存器资源管理与分配的问题. 解决这个矛盾可以采用两种策略:
(1)软件法:设计一套寄存器分配算法并通过编译程序的优化处理来解决.
(2)硬件法:称为寄存器窗口( register windows )技术. 这是一种加快程序执行的技术,主要解决过程调用时因频繁地进行保存和恢复操作而使程序执行效率的降低.
●基本思想:是把整个通用寄存器分成多个小组,给每个过程分配一个寄存器小组,称为该过程的一个寄存器窗口.当发生过程调用时,CPU自动地在寄存器窗口之间切换,不再作保存和恢复操作.
2. 采用Cache
(1)设置彼此独立的两个Cache,分别存放指令和数据:
为提高存取指令的速度,RISC设置指令Cache是很必要的.并且,将数据放在Cache也可加快访存指令的执行速度.一般来说,若选用的Cache工作频率较高,每个机器周期内可访问Cache多次。
(2)将指令和数据放在同一个Cache内:
若对机器运行速度要求不高,则可考虑此方案,以动态地协调指令和数据在Cache中所占的空间比例,提高Cache的利用率,简化硬件.
3. 超标量结构
超标量是指微处理器内含有多个指令执行单元、多条指令执行流水线,以成倍提高处理器的运行速度.处理器的超标量设计方法在现代的处理器中已被越来越多地采用.
如Pentium是由两条并行的流水线构成,每条流水线都拥有自己的ALU、地址生成电路和数据超高速缓冲存储器接口,使Pentium可在一个时钟周期内执行两条简单指令,比相同时钟频率的80486 DX性能提高了一倍。
4. RISC编译系统
高级语言程序必须经过编译将它翻译成机器语言的可执行程序后,才能在机器上运行.在编译过程中还要对程序进行优化,以便产生高质量的执行程序。
(1)CISC设计思想:认为指令愈接近高级语言的语句,愈容易编译.其实并不尽然,当指令过多,每条指令又有大量的寻址方式可供选择时,编译程序每走一步,都面临大量需要选择的、具有类似效果的指令和寻址方式.这将使编译工作复杂化.同时指令长度和格式的多种多样性使得编译优化时更换或取消指令变得困难。
(2)RISC设计思想:因RISC机器的指令少、寻址方式少、编译程序在编译时通常只有一种选择,使编译程序的有关部分短而简单,从而提高了编译效率。
4. RISC编译系统
RISC机器的主要策略是“以快取胜”,为提高程序执行的速度,编译程序方面采取如下技术措施:
(1)为众多的寄存器设计好分配算法,尽量减少访存次数。
(2) 预先编好一些尽量不进行寄存器内容以及机器状态的保存和恢复工作的紧凑子程序,以满足某些复杂操作的需要.
(3) 恰当地调整指令顺序,减少指令相关和数据相关对流水线的影响.在RISC中,可能引起流水线延迟的主要有转移和取数两条指令:
CISC中的流水线的对策是:采用硬件互锁或猜测法等来解决由于指令相关而引起的断流问题。
RISC的对策是:主要依靠编译器中的优化程序,进行指令重组.因此,RISC优势的发挥除了硬件技术的支持外,很大程度上取决于编译器代码生成与优化的措施是否得力.这种软硬件相互融合的技术正是RISC技术的精华。
4. RISC编译系统
在RISC中,避免流水线因执行转移指令而断流的方法是用软件的静态指令调度方法,称为推迟转移(delayed branches)方法.一般说来,在流水线上由于“取下一条指令”与”执行上一条”并行进行,这样在转移指令产生转移地址时,已经来不及控制取下一条指令.
(1)推迟转移方法的思路:是在转移指令后面插入一条或n条(视流水线情况而定)与转移地址无关的指令,以破坏指令相关.因RISC机每条指令只要一个周期,故只插入一条就可以。
(2)编译程序具体实施方法:在编译过程中,编译程序先在所有的转移指令后面添加一条空操作(NOOP)指令,使流水线规整化;优化时再设法用选出(调整)的有效指令替代。
5. Power PC
Power PC是IBM,Apple,Moterola三家公司于1991年结盟生产的微机.它使用了Motorola的芯片制造技术、Apple的微机软件、IBM的体系结构,向长期被Intel占据的微处理器市场进军。
Power PC中的“PC”意为“powerful chip”,其中的Power基于20世纪80年代后期IBM在其801小型机的基础上开发的工作站和服务器中的Power体系,意为Performence Optimizaion With Enhanced RISC(性能优化的增强型RISC)。
(1)Power PC的特点
●高超的性能,价廉,容易仿真CISC指令集,可运行大量的现成的CISC计算机应用软件,即集工作站卓越性能、PC机的低成本及运行众多的软件等优点于一身。
●可扩性强,可覆盖从PDA (个人数字助理) 到多处理、超并行的中大型机,用单芯片提供整个解决方案。
5. Power PC
(2) Power PC 601的内部体系结构
Power PC 601(图)是Power PC第一个产品,设有32位的地址总线和64位的数据总线,工作频率分50,66,80 MHz 3种,并行执行定点、浮点及分支能力,统一的32 KB 8路Cache. 它有3个处理单元:分支单元(BPU)、整数处理单元(IU)和浮点执行单元(FPU)。
IU和FPU分别包括4个子单元:
●取指;
●分析指令(对指令解析,计算地址并取操作符);
●执行;
●存储结果(到数据高速缓冲存储器)。
PowerPC与Pentium的比较
RISC、CISC、VLIW技术的融合
1. CRIP(CISC-RISC Processor)
CISC体系结构的功能提高到一定程度后,指令系统的复杂性成其进一步提高功能的包袱,另因RISC技术的强烈冲击,迫使一些CISC制造商开始吸收RISC技术,开发和推出融CISC和RISC技术为一体的CRIP (CISC-RISC Processor) 技术产品.
由表可见,Intel公司的Pentium已经吸收了RISC技术;1993年3月推出的Pentium 66/60芯片成为典型的CRIP型微处理机;1995年面世的Pentium Pro,则是CRIP型体系结构的进一步完善和发展。
(1)Pentium 66/60 CPU采用超标量技术实现,它设置有3个指令处理部件:整数处理部件有双系统流水线(V-流水线和U-流水线);一个时钟周期可以并行地执行两条整数指令;i80386兼容部件,采用微码处理指令技术,负责处理在一个时钟周期内不能完成的复杂指令;浮点处理部件采用超级流水线技术实现。
1. CRIP(CISC-RISC Processor)
(2)Pentium pro是Pentium的换代产品,其特点是:
●它把X86的CISC指令分解成若干个类似于RISC指令的较简单的微操作.这样既保持了与X86体系结构的兼容性,又吸收了RISC技术的优点。
●乱序(out-of-roder)执行和推测执行.乱序执行同转移预测和推测执行(specutativeexecution)机构结合在一起,允许CPU使指令最有效地利用内部资源。
●具备更巨大的BTB(512个入口的转移目标缓冲器)和ROB(40个入口的重新排序缓冲器),使Pentium可以预测10~15层的嵌套转移。
●采用3路超标量结构和无阻塞的Cache方案.它的完全分离的64位前台总线和后台总线,使第二级Cache不必同主存、外设分时访问总线。
(Explicitly Parallel Instruction Computing ,显性并行指令计算)
1994年,Intel和HP决定联合开发新一代微处理器—基于IA-64架构的Merced,并共同定义了显性并行指令计算技术EPIC.
EPIC是一种超越超标量的新模式,它克服了VLIW处理器的缺点,实现下面的3步:
(1)由编译器先分析指令间的依赖关系;
(2)编译器将没有依赖关系的指令,按最多是3个指令为一组,组合成多个“组”;
(3)由内置的执行单元将分成组的指令群并行执行。
因每条指令究竟分给哪一个执行单元是由软件决定的,因而利用简单的硬件就可以提高指令的并行度,降低了处理器的制造成本。
3. RVIP技术和CRVIP技术
RVIP(RISC-VLIW Processor)技术和CRVIP(CISC-RISC-VLIW Processor)技术是将RISC超标量结构与VLIW技术融为一体,或将CRIP混合结构与VLIW技术融为一体的技术.
在融合VLIW和超标量结构技术的RVIP型或者CRVIP型微处理机中,将不必在其执行部件中设置复杂的执行顺序控制电路。因为在指令分发调度之前就已经弄清楚了这些指令之间的相关联性。
VLIW技术渗入的显著效果之一,就是它消除了超标量结构的过分的复杂性,从而使硬件系统结构设计获得简化。
流水线向量处理机
1. 向量计算
(1)向量:即批量有序数据的整体就称为向量。
(2)标量:通常向量中的元素是标量.标量是具有独立逻辑意义的最小数据单位,它可以是一个浮点数、定点数、逻辑量或字符,如一个年龄、一个性别等.以标量为对象的运算称标量运算.向量中的各标量元素之间存在着顺序关系,如
A =(a0,a1,a2,…,an-1)
即,向量A由n个标量组成,这n个标量存在前后顺序.其中n称为向量的长度.
(3)向量运算:是把两个向量(设为A,B)的对应元素进行运算,产生一个结果向量(设为C),如对运算C = A+B, 也可以表示成
ci = ai+bi 0≤i≤n-1
在一般通用计算机中,向量运算要用循环结构进行,如
for(i = 0;i < = n-1;i++)
ci = ai + bi;
1. 向量计算
显然,上述运算的效率是很低的.
而向量处理机的基本思想:
是并行地对这3个向量的各分量进行对应运算,如对上述向量
加可采用图所示的机器结构,其目的是用一条指令便可以
处理n个或n对数据,当然向量计算机也具有标量处理功能。
图 向量处理机框图
2. 向量的流水处理
向量处理机有两种典型的结构:阵列结构和流水结构.阵列结构采用多处理结构,是一种完全并行处理方式,将在节中介绍,这里先介绍流水结构。
通常,向量元素主要是浮点数,而浮点数的运算比较复杂,需经过多个节拍才能完成,所以目前绝大多数向量计算机都采用流水线结构, 故一般称向量计算机就是指流水线结构的向量计算机。
对向量的处理要设法避免流水线功能的频繁切换以及操作数间的相关,才能使流水线畅通、效率最高,保持每个节拍能送出一个结果元素,这就要求采取合适的处理方式。
向量的流水处理的举例
假定A,B,C,D,都是长度为n的向量,并有一个向量运算
D = A×(B+C)
若采取如下处理顺序
d0 = a0×(b0+c0)
d1 = a1×(b1+c1)
┆
di = ai×(bi+ci)
┆
dn-1 = an-1×(bn-1 + cn-1)
就要反复进行加与乘的运算,为此要不断切换流水线的功能,计算每个di的一次加和一次乘之间存在着数相关.如
bi + ci→ki
ki×ai→di
向量的流水处理的举例
这两次操作之间,因ki存在读-写相关,故每次都要等待,使流水作业效率降低。但若采用如下的处理顺序
K = B+C
D = K×A
加与乘之间只切换一次。
3. 向量计算机的系统结构
向量计算机系统的存储系统和流水线运算器是它的最关键的两个部件,它要求存储器系统能连续不断地向运算流水线提供数据,并连续不断地接收来自运算流水线的数据。
为保证流水线的连续作业,向量计算机应设法维持连续的数据流,如调整操作次序以减少数据流的请求以及改进体系结构等。
在体系结构方面,要求存储器系统能满足运算器的带宽要求.如读操作数、运算、写操作数要在一个时钟周期内完成,就要求存储系统能在一个时钟周期内读出两个操作数并写回一个操作数.而一般的RAM在一个时钟周期最多只能完成一个存储周期.即,向量计算机中的存储系统至少应具有3倍于一般存储器系统的带宽,目前主要采用如下的两种方法:
(1)用多个独立存储模块,支持相对独立的数据并发访问
基本思路是,如一个存储模块在一个时钟周期内最多能进行一次读/写,那么要在一个时钟周期内读/写n个独立数据就需要n个独立的存储模块.详见图.
3. 向量计算机的系统结构
图系统的每个存储模块与运算流水线间有3条相互独立的数据通路;各条数据通路可以同时工作,但一个存储模块在某一时刻只能为一个通路服务.假定A,B,C 3个向量各由8个分量组成,分别用
a0,a1,…,a7
b0,b1,…,b7
c0,c1,…,c7
表示,为避免冲突,可按图所示的方式存储。
设读操作用“R”表示、读ai用“Rai”表示,写操作用“W”表示、写ci用“Wci”表示,每个存储周期占两个时钟周期,运算流水线分为4段,则上述向量计算机有如图所示的工作时序.如运算器和存储器工作衔接得非常好,则整个作业是非常理想的。
由图可以看出,运算流水线与存储器间的衔接与存储方式的关系很大.按上述存储方式,Rai总可以与Rbi同步,如改变存储方式,如使所有的向量都从M0开始存放,即ai,bi,ci都存放在Mi中,则必须在输入端增加缓冲器,使A向量延迟2个时钟周期以便与B的对应元素同时进入加法流水线;而输出缓冲器则要延迟4个时钟周期,以免存储冲突。20世纪70年代中期制造的巨型机CDC STAR就采用这种结构.
(2)构造具有要求带宽的高速中间存储器
这是一种提高存储系统带宽的经济有效方案.1976年面市的美国Cray公司的产品Cray-1向量处理机(详见图)就采用了层次结构的存储器系统,这使其运算速度达亿次/秒以上。
Cray-1的运算流水线采用多个功能部件,共有12个功能部件,分为4组:
·3个向量功能部件—加、逻辑、移位;
·3个浮点功能部件—加、乘、求倒数近似值;
·4个标量功能部件—加、逻辑、移位、“1”的个数和前导“0”的个数计数;
·2个地址功能部件——加、乘。
这些功能部件本身都采用流水结构.只要不发生寄存器冲突,这些功能部件并行工作.除了求倒数部件需要14个时钟周期外,其余都在1~7个时钟周期之间。
4. 向量处理机中的并行技术
在向量处理机的运算流水线中,从系统结构上采取以下3种技术,使每个机器周期可以完成多个操作,相当于多条指令。
(1)多个功能部件
具有多个功能部件处理机,把ALU的多种功能分散到多个具有专门功能的部件,这些功能部件可以并行工作。在Cray-1中,12个功能部件都有单独的输入总线和输出总线,只要不发生中间存储器的冲突或功能部件的冲突,各中间存储器和各功能部件都能并行工作,这就大大加快了指令的处理速度。
(2)运算流水线:在向量处理机中,向量、标量和地址的运算都采用运算流水线.
(3)链接技术:即把一个流水线功能部件的输出结果直接输入到另一流水线功能部件的操作数寄存器中去,中间结果不存入存储器;只要不发生功能部件冲突或操作数寄存器的冲突,就可实现这种链接。
(a) 松耦合系统 (b)紧耦合系统
图 多处理器系统的两种典型结构
P
M
P
M
P
M
P
M
P
M
P
M
互
联
网
络
互
联
网
络
…
…
…
返回
图 指令的串行作业
图 指令的一次重叠
返回
返回
图 指令的流水作业
返回
图 指令流水线结构框图
返回
返回
返回
返回
图 Pentium的结构框图
返回
(a) 80486 CPU
(b) Pentium
图 80486 CPU与Pentium的整数流水线作业示意
返回
返回
返回
图 RISCⅡ的寄存器窗口
返回
图 PowerPC 601体系结构
返回
图 一个向量机的体系结构
返回
图 一种向量存放方式
返回
图 两个向量相加的流水线时序
返回
图 Cray-1系统简化结构图
返回
第六章 作业
ENIAC的由来
世界上第一台数字式电子计算机是由美国宾夕法尼亚大学的物理学家约翰·莫克利(John Mauchly)和工程师普雷斯伯·埃克特(J – Presper Eckert)领导研制的取名为ENIAC(Electronic Numerical Integrator And Calculator)的计算机。
1942年在宾夕法尼亚大学任教的莫克利提出了用电子管组成计算机的设想,这一方案得到了美国陆军弹道研究所高尔斯特丹(Goldstine)的关注。当时正值第二次世界大战之际,新武器研制中的弹道问题涉及许多复杂的计算,单靠手工计算已远远满足不了要求,急需自动计算的机器。于是在美国陆军部的资助下,1943年开始了ENIAC的研制,并于1946年完成。当时它的功能确实出类拔萃,例如它可以在一秒钟内进行5000次加法运算,3毫秒便可进行一次乘法运算,与手工计算相比速度要大大加快,60秒钟射程的弹道计算时间由原来的20分钟缩短到30秒。但它也明显存在着缺点。它体积庞大,机器中约有18800只电子管,1500个继电器,70000只电阻及其他各类电气元件,运行时耗电量很大。另外,它的存储容量很小,只能存20个字长为10位的十进位数,而且是用线路连接的方法来编排程序,因此每次解题都要靠人工改接连线,准备时间大大超过实际计算时间。
尽管如此,ENIAC的研制成功还是为以后计算机科学的发展提供了契机,而每克服它的一个缺点,都对计算机的发展带来很大影响,其中影响最大的要算是“程序存储”方式的采用。将程序存储方式的设想确立为体系的是美国数学家冯·诺依曼(Von Neumann),其思想是:计算机中设置存储器,将符号化的计算步骤存放在存储器中,然后依次取出存储的内容进行译码,并按照译码结果进行计算,从而实现计算机工作的自动化。