计算机组成原理课件 计算机组成与结构课件.docx
《计算机组成原理课件 计算机组成与结构课件.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课件 计算机组成与结构课件.docx(17页珍藏版)》请在冰豆网上搜索。
计算机组成原理课件计算机组成与结构课件
《计算机组成与结构》主要知识点
使用教材:
唐朔飞主编《计算机组成原理》高等教育出版社2008版
第6章计算机的运算方法
一、定点机器数
1、三种定点机器数的定义(字长n+1位):
正数的符号位为0,负数的符号位为1。
小数点默认。
定点小数:
定点整数:
[X]原=X(0≤X<1)/1-X(-1<X≤0)[X]原=X(0≤X<1)/2n-X(-2n<X≤0)
[X]反=X(0≤X<1)/2-2n+X(-1<X≤0)[X]反=X(0≤X<1)/2n+1-1+X(-2n<X≤0)
[X]补=X(0≤X<1)/2+X(-1≤X<0)[X]补=X(0≤X<1)/2n+X(-2n≤X<0)
2、操作:
①原码:
不足n位的整数在符号位之后补0,不足n位的小数在有效值之后补0;②正数的原码、反码和补码相同;③负数的反码为其原码的尾数按位取反;负数的补码为其反码末位加1。
3、定点数的值域
①定点整数的值域
原码:
-(2n-1)~+(2n-1)补码:
-2n~+(2n-1)分辨率=1
②定点小数的值域
原码:
-(1-2-n)~+(1-2-n)补码:
-1~+(1-2-n)分辨率=2-n
4、n位无符号数的值域:
0~2n-1,分辨率=1
5、有关性质
①0的补码是唯一的。
②[-0.5]补=[-0.5]原
③[[X]补]补=[X]原,[[X]反]反=[X]原
④n位定点整数的补码扩展为m+n位补码,只需将符号位向高m位扩展。
⑤求负数的补码:
原码尾数最低位的1的左边各位(除符号位外)按位取反。
二、浮点机器数
1、浮点数N=±M×R±E,由一段定点整数表示阶(±E),一段定小整数表示尾数(±M)。
2、阶的移码:
[X]移=2m+X(-2m≤X<+2m)
性质:
①某数的移码与其补码的符号位相反;②两数的移码进行加减运算,其结果的符号位应取反。
3、浮点数的规格化:
尾数的真值的最高数据位为1,即1/2≤│M│<1。
①规格化后尾数的原码:
0.1xx…x/1.1xx…x
②规格化后尾数的补码:
0.1xx…x/1.0xx…x
③[-0.5]补=[-0.5]原=1.100…0,不列入规格化。
4、浮点数的值域(若阶码m+1位和尾数n+1位均用补码表示,且已规格化):
5、IEEE754标准浮点数
浮点数
符号位S
阶码E
尾数M
转换公式
短实数(32位)
1
8
23
(-1)S×1.M×2E-127
长实数(64位)
1
11
52
(-1)S×1.M×2E-1023
三、十进制数和字符的编码
1、十进制数的编码:
8421BCD码(4位)。
符号位在数字之后,+(1100),-(1101)。
2、西文(半角)字符的编码:
ASCII码(7位)。
存储在计算机中占1个字节,其标识位(即每个字节的最高位)为0。
3、汉字(全角)字符的编码:
国标码(双7位)。
存储在计算机中占2个字节,其标识位(即每个字节的最高位)为1。
四、数据的校验与纠错
1、奇偶校验:
具体分为奇校验和偶校验,能检测一位数据出错。
①发送方形成偶校验位P=D7
D6
D5
D4
D3
D2
D1
D0(逻辑式取非得奇校验位)
②将校验码PD7D6D5D4D3D2D1D0发送,接收方用偶校验检测:
P
D7
D6
D5
D4
D3
D2
D1
D0=1表示出现奇偶性错,否则无奇偶性错。
2、海明码校验:
是一种分组奇偶校验,能检测一位数据出错并自动纠错。
适用于并行数据传送。
海明码的形成规则:
①数据位位数n和校验位位数k的关系:
2k≥n+k+1;
②校验位位于海明码中2的整幂位号上;
③海明码的每一位位号分解成2的幂级数,由此确定校验位Pi关于数据位的逻辑函数。
[例1]8421BCD码的海明码的编码与校验。
因n=4,取k=3,则海明码的总位数为7。
海明码:
H7H6H5H4H3H2H1
数据位/校验位:
D3D2D1P2D0P1P0
分解位号:
4+2+14+24+142+121
各校验位与数据位的偶校验关系:
P0=D3
D1
D0P1=D3
D2
D0P2=D3
D2
D1
发送海明码,接收方产生指误字S2S1S0:
S2=P2
D3
D2
D1S1=P1
D3
D2
D0S0=P0
D3
D1
D0
当S2S1S0=000时接收数据无错,否则S2S1S0的值表示某位海明码出错。
其自动纠错逻辑:
Hi’=mi
Hi(mi为S2S1S0的逻辑最小项,其中i=1,2,…,7。
)
3、循环冗余码(CRC码)的校验:
能检测一位数据出错并自动纠错,适用于串行数据传送。
①校验位的产生:
n位数据多项式M(x)左移k位,用模2除法除以k+1位生成多项式G(x),得k位余数R(x)。
R(x)即校验位。
②CRC码的形成:
M(x)×2k+R(x)为CRC码,供发送方发送。
③CRC码的校验:
接收方将收到的CRC码除以G(x),若余数为0接收信息无错,否则出错。
五、补码的加减法运算
1、补码加减法的算法
①[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补=[X]补+
+1
②参与运算的操作数用补码表示,符号位作为数的一部分参与运算,运算结果为补码。
2、补码的加减法运算电路
3、溢出判断
①单符号位判断法:
OF=
=1溢出
②进位判断法:
OF=Cn
Cn-1=1溢出
③双符号位(变形补码,定点小数的模为4)判断法:
OF=Zf1
Zf2=1溢出(01为正溢出,10为负溢出)
4、十进制加减法运算:
①十进制加法:
当低4位大于9或低4位向高4位有进位时“加6”修正;②十进制减法:
当低4位向高4位有借位时“减6”修正;
六、定点乘除法运算
1、原码一位乘运算器
①原码一位乘算法
Ⅰ.被乘数和乘数的绝对值参与运算;
Ⅱ.用部分积(初值为n个0)和乘数构成2n位数;
Ⅲ.若乘数的最低位为1则在部分积下面加被乘数,否则不加被乘数;
Ⅳ.部分积与乘数一起右移一位,然后重复第Ⅲ步。
第n次右移后得乘积绝对值;
Ⅴ.乘积的符号位由被乘数和乘数的符号位取异或。
②原码一位乘运算电路(如图)
Ⅰ.乘法启动→F置1→脉冲通过与门1→计数器加1,同时部分积与乘数右移一位;
Ⅱ.乘数的最低位Yi为1则部分积加X,否则部分积加0;
Ⅲ.经过n个脉冲计数满→F复位→封锁工作脉冲,结束运算。
2、补码一位乘运算器
①补码一位乘(Booth)算法
Ⅰ.被乘数和部分积(初值为全0)取双符号位;
Ⅱ.乘数取单符号位,其最低位增设附加位Yn+1,初值为0;
00/11,部分积右移一位;
Ⅲ.乘数末位与附加位YnYn+1=01,部分积+[X]补后右移一位;
10,部分积+[-X]补后右移一位;
Ⅳ.重复第Ⅲ步n+1次,但最后一次不移位。
②补码一位乘运算电路(如图)
3、原码一位除运算器
①原码一位除(加减交替法)算法
Ⅰ.取被除数和除数绝对值参与运算;
Ⅱ.X-Y(X+[-Y]补)得部分余数R,第一次试商0;
Ⅲ.若R为正则商1,部分余左移一位后减Y;若R为负则商0,部分余左移一位后加Y;
Ⅳ.重复第Ⅲ步直到获得n+1位商,但最后一次不移位。
Ⅴ.商的符号位由被除数和除数的符号位取异或。
②原码一位除运算电路(如图)
七、定点运算器的基本结构
1、单总线结构:
需要3个节拍完成一次双操作数的运算。
2、双总线结构:
需要2个节拍完成一次双操作数的运算。
3、三总线结构:
只需1个节拍完成一次双操作数的运算。
4、算术逻辑单元电路
①串行进位递推式:
Ci=di+tiCi-1(设Δt为一个基本门电路的延时,则di=AiBi,ti=Ai+Bi需延时2Δt)
②16位串行进位加法器的总延时为:
(2×16+2)Δt
③16位组内组间两重并行进位加法器的总延时为:
(2+2+2)Δt
④4位并行进位ALU74LS181(图6.30):
能实现16种算术运算和16种逻辑运算。
⑤组间并行进位链74LS182(图6.25)
八、浮点四则运算
1、浮点加减法运算
①对阶:
求阶差ΔE,然后小阶向大阶看齐,即将阶码小的尾数右移ΔE位;
②尾数相加减:
采用变形补码进行运算
③规格化处理:
Ⅰ.右规:
若结果尾数的双符号位不同,将结果尾数右移一位,且相应的阶码加1;Ⅱ.左规:
若结果尾数的最高数据位与符号位相同,将结果尾数左移且相应的阶码减小。
④舍入操作:
对于结果尾数从右边移出的那一位,采用“0舍1入法”/“末位恒置1法”。
⑤溢出判断:
浮点数的溢出表现为规格化后阶码的溢出。
若阶码下溢置运算结果为0,若阶码上溢置溢出标志为1。
2、浮点乘法运算:
①阶码相加、尾数相乘;②规格化处理;③舍入操作;④溢出判断
3、浮点除法运算:
①尾数调整:
若被除数尾数绝对值大于或等于除数尾数绝对值,则将被除数右规,以确保商的尾数的定点小数;②阶码求差、尾数相除。
③溢出判断
九、逻辑及移位运算
1、逻辑运算:
针对无符号数。
①非:
逐位取反;②与:
两个数逐位相与;③或:
两个数逐位相或;④异或:
模2加/减。
2、移位运算:
①逻辑移位:
针对无符号数操作,左移高位添0,右移低位添0。
②算术移位:
针对有符号数的操作。
若左移使符号位发生变化,则溢出标志置1。
机器数
添补方法
正数
原码、反码、补码
左移、右移均添0
负数
原码
右移次高位添0,左移低位添0
反码
右移次高位添1,左移低位添1
补码
右移次高位添1,左移低位添0
第4章存储器
一、概述
1、存储器的分类
①按存储介质划分:
半导体存储器、磁介质存储器、光盘存储器
②按存取方式划分:
随机读写存储器(RAM)、只读存储器(ROM)、串行访问存储器(磁盘和光盘)、相联存储器(可按地址寻址也可按关键字检索的一种半导体存储器)。
2、存储系统的三级层次结构(图4.31)
①缓存—主存:
采用Cache技术提高CPU的整体访存速度。
②主存—辅存:
采用虚拟存储技术拓展CPU的整体访存空间。
3、半导体存储器的性能指标
①存储容量=芯片数×每块芯片字数×每个字的字长(bit),每块芯片字数由芯片的地址线宽决定(2n个字),字长决定芯片的数据线宽。
②存取周期(ns):
连续两次访存所需的最短时间。
③存储器的带宽(b/s)=每个存储周期可访问的数据位长/存储周期
二、主存储器(主存)
1、CPU与主存的接口寄存器:
主存地址寄存器MAR、主存数据寄存器MDR
2、存储芯片(图4.7):
地址译码驱动器、读/写控制电路、存储矩阵。
3、半导体存储芯片的地址译码方式
①双译码方式(图4.10):
n位地址分为行、列地址两段。
译码后,与行字线和列字线均为高电平相连的存储单元被选中。
SRAM芯片采用的方式。
②行、列地址分时输入译码(图4.20):
首先行选通信号
产生一个负脉冲将行地址打入行地址锁存器,接着列选通信号
产生一个负脉冲将列地址打入列地址锁存器。
于是行、列译码器同时译码选中某存储单元。
DRAM芯片采用的方式。
4、CPU对主存的访问时序
①CPU读主存:
Ⅰ.CPU将地址送MAR;Ⅱ.MAR中的地址经译码后选中某一存储单元;Ⅲ.CPU发读控制信号R/
=1,该存储单元数据送入MDR。
②CPU写主存:
Ⅰ.CPU将地址送MAR;Ⅱ.MAR中的地址经译码后选中某一存储单元,同时CPU将数据送MDR;Ⅲ.CPU发写控制信号R/
=0,则MDR中的数据写入该存储单元。
三、半导体随机读写存储器:
掉电后信息丢失。
1、静态RAM(SRAM)
①基本位元电路:
T1~T4管组成双稳态触发器,T5、T6管控制触发器与位线的联系,T7、T8管控制位线与读写电路的联系。
②读/写控制电路:
当片选无效(
=1)时,与门输出低电平,使G1~G3均截止,不能进行读写。
当片选有效(
=0)时,若R/
=1,G1、G3截止,G2选通,位线电平经G2送I/O线上;若R/
=0,G1、G3选通,G2截止,I/O信号经G1、G3产生一对互补信号打入触发器。
2、动态RAM(DRAM):
①写操作:
行、列字线均变高使Ti、Tj管导通,写“1”时位线为高电平,对C充电;写“0”时位线为低电平,对C放电。
②读操作:
行、列字线均变高使Ti、Tj管导通,读“1”时C上电荷经位线向读/写放大电路放电,产生读“1”输出信号送I/O线;读“0”时无放电电流。
③刷新(虚读):
行字线变高使Ti管导通,列字线保持低电平使Tj管截止,读/写放大电路对C回写,而C的信息不会送入I/O线上。
④DRAM的刷新方式
Ⅰ.集中刷新:
对全部存储单元集中一段时间逐行刷新,死区时间长。
Ⅱ.分散刷新:
访存一次刷新一行交叉进行,存取周期长。
Ⅲ.异步刷新:
连续访存多次后才刷新一行,既缩短死区时间又缩短存取周期。
行地址计数器周期性地计数产生行地址,由
的负脉冲(
保持为1)将其打入DRAM,对某一行存储单元刷新。
行地址计数器的计数(或
)周期=电容器上电荷的允许维持时间/存储矩阵的行数
3、SRAM和DRAM比较:
①存储机理不同;②SRAM速度快;③DRAM容量大;④DRAM需外围刷新电路;⑤SRAM静态功耗低。
⑥DRAM的动态功耗低。
四、半导体只读存储器:
掉电后信息保持。
1、掩膜ROM(图4.27):
字线与位线交点处集成一个NMOS管即存储信息1,否则存储信息0。
2、PROM(图4.29):
字线与位线交点处的耦合元件熔丝烧断即存储信息0,否则存储信息1。
3、EPROM(图4.30):
可用紫外线照射将固化的信息擦除,重新编程写入。
4、EEPROM:
可用较高电压将固化的信息擦除,重新编程写入。
5、闪速存储器(FlashMemory):
在EEPROM的基础上增加了电擦除电路和重新写入的电路。
五、存储器与CPU的连接
1、存储容量的扩展
①位扩展:
将各芯片的地址线、片选线(
)、写使能线(
)并联,各芯片的数据线构成存储器的数据总线。
②字扩展:
高位地址译码产生各芯片的片选信号,低位地址为片内地址。
③存储器电路的设计方法
Ⅰ.根据实际要求选择芯片;
Ⅱ.列出各芯片的全部地址,分解各芯片的片内地址和片选地址;
Ⅲ.根据片内地址的多少选择以哪种芯片为主,求各芯片的片选逻辑;
Ⅳ.根据各芯片的片内地址和片选逻辑作电路图。
[例2]PC机的前640KB称为基本内存,在该存储区之后开辟一个32KB的高速存储区,采用容量为16K×8bit的SRAM芯片构成。
①确定高速存储区的地址范围(用16进制表示);②确定每片SRAM的片选地址(用二进制表示);③设计该高速存储区的电路。
①高速存储区的地址范围:
A0000H~A7FFFH
②第一片的片选地址A19~A14=101000B;第二片的片选地址A19~A14=101001B
2、存储器的组织
①体内顺序编址存储器(图4.42):
高位地址译码产生各存储体的片选信号(体号),低位地址为各存储体内存储单元地址。
②多体交叉编址存储器(图4.43):
低位地址译码产生各存储体的片选信号(体号),高位地址为各存储体内存储单元地址。
③带宽(b/s):
m(为2的整幂)个存储体交叉编址的带宽为其m个存储体顺序编址的带宽的m倍。
④CPU访存的数据对准原则:
针对多体交叉编址存储器,字节数据从任意地址存取,字数据从偶地址存取,双字数据从4的整数倍地址存取,……
六、高速缓存(Cache)
1、Cache技术的基本原理:
CPU发主存地址访存,若Cache命中,就直接对Cache进行访问;否则要访问主存中的指定字数据,同时将含该字的数据块调入Cache,并修改块表标记。
根据CPU访存的局部性原理,接下来的访问命中Cache的概率非常大。
主存数据以字块为单位映射到Cache。
2、Cache技术的基本概念:
①命中率②效率③平均访问时间④块表:
属于Cache的一部分,用来记录已经映射到Cache中字块的块表标记(部分主存地址:
区号、组号、块号)。
3、Cache—主存地址映射
①直接映射(图4.54):
“对号入座”;
②全相联映射(图4.55):
“随机入座”
③组相联映射(图4.56):
组间采用直接映射,组内采用全相联映射。
4、替换策略:
①先进先出法;②近期最少使用法;③随机替换法
[例3]设主存容量1MB,cache容量16KB,块的大小为512B,按字节编址。
采用直接映象方式。
①写出主存与cache的地址格式;②画出地址映象示意图;③求块表容量;④主存地址为CDE8FH中的数据映射在cache中的何处?
①主存地址:
区号6位|区内块号5位|块内地址9位
Cache地址:
块号5位|块内地址9位
②直接地址映象示意图
③块表容量:
25×6bit
④主存地址CDE8FH=11001101111010001111,数据映射到cache中第15块的第143字节。
[例4]在上例中改用全相联映象进行分析。
①主存地址:
块号11位|块内地址9位
Cache地址:
块号5位|块内地址9位
②全相联地址映象示意图
③块表容量:
25×11bit
④主存地址CDE8FH中的数据可映射到cache中的任意块,在某块内的第143字节。
[例5]一个组相联地址映象,cache由64个存储块构成,每组包含4个存储块。
主存包含4096个存储块,每块由8字组成,每字为32位。
存储器按字节编址。
①写出主存与cache的地址格式;②画出地址映象示意图;③求块表容量;④主存地址为18AB9H中的数据映射在cache中的何处?
①主存地址:
区号6位|区内组号4位|组内块号2位|块内字地址3位|字节地址2位
Cache地址:
组号4位|组内块号2位|块内字地址3位|字节地址2位
②组相联地址映象示意图
③块表容量:
24×8×4bit
④主存地址18AB9H=11000101010111001,数据映射到cache中第5组中,字块为第20号、21号、22号或23号的任意位置上。
在其块内的第25字节。
三、磁表面存储器
1、主要性能指标:
①道密度和位密度
②容量=磁头数×磁道数(柱面数)×扇区数×每扇区字节数
③平均寻址时间=平均寻道时间+平均旋转延时
④数据传输率=道容量×磁盘转速
2、磁记录方式(图7.11):
追求记录密度大且具有自同步能力。
①见1就翻制(NRZ1)②调相制(PM)③调频制(FM)④改进调频制(MFM)
3、磁盘数据地址格式(图4.70):
磁盘数据按同心圆(磁道)存储,各磁道存储容量相同。
驱动器号|磁道号|磁头号|扇区号
四、光盘存储器
1、光盘按螺旋线存储数据。
一张CD-ROM光盘的最长播放时间为1小时,其扇区数据结构:
同步字|分|秒|1/75秒|模式1/2|数据区2KB|校验区288B
模式1的存储容量=60×60×75×2KB≈530MB
模式2的存储容量=60×60×75×(2KB+288B)≈600MB
2、CD-ROM光盘的数据传输率:
单倍速为150KB/s,n倍速为n×150KB/s。