第三章1、ALU(Arithmetic&LogicUnit):算术逻辑运算单元,计算机中可以进行逻辑运算和算术运算的部件。例1:(2345.459)10=2×103+3×102+4×101+5×100+4×10-1+5×10-2+9×10-3例2:(11011.011)2=1×24+1×23+0×22+1×21+1×2-0+0×2-1+1×2-2+1×2-3=(27.375)10例3:(123.67)8=1×82+2×81+3×80+6×8-1+7×8-2=(83.859375)102、十进制(Decimal)、二进制(Binary)、八进制(Octal)、十六进制(Hexdecimal)数分别用D、B、Q、H来标志。例如:(1011)2→(1011)B→1011B→1011b(123.45)2→(123.45)D→123.45D→123.45(2B.D)16=(2B.D)H=(43.8125)10=(53.64)Q3、十进制转化为R进制:转换方法整数部分:除以R取余,先得低位,直到商为0。小数部分:乘R取整,先得高位,直到积为0或者达到精度要求为止。例:(123.75)10=(?)21111011.11(123.75)10=(?)8173.64、写出X与Y的规格化浮点数。(1)X=-123.25(2)Y=34/128(1)X=(-123.25)10=(-1111011.01)2=-0.111101101×2+7EX=+7=(+00111)2,MX=-0.111101101[EX]补=000111,[MX]补=1.000010011则:[X]浮=1000111000010011(2)Y=(34/128)10=(0.010001)2=0.10001×2-1EY=-00001,MY=0.100010000[EY]补=111111,[MY]补=0.100010000则:[Y]浮=0111111100010000循环冗余码CRC(CyclicRedundancyCode),又称为多项式码。5、补码的加减运算的公式是:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补例:已知X=+1011,Y=-0100,用补码计算X+Y和X-Y。写出补码:[X]补=0,1011[Y]补=1,1100[-Y]补=0,0100计算:确定发生溢出的情况:正数相加,且结果符号位为1;负数相加,且结果符号位为0;正数-负数,且结果符号位为1;负数-正数,且结果符号位为0;6、双符号位判溢方法举例例:用补码计算X+Y和X-Y(1)X=+1000,Y=+1001(2)X=-1000,Y=1001Sf1Sf2=01,正溢出Sf1Sf2=11,无溢出Sf1Sf2=00,无溢出Sf1Sf2=10,负溢出7、机器数的移位运算:二进制数据(真值)每相对于小数点左移一位,相当于乘以2;每相对于小数点右移一位,相当于除以2。算术左移:符号位不变,高位移出,低位补0。算术右移:符号位不变,低位移出,高位正数补0,负数补1,即高位补符号位。例:设X=0.1001,Y=-0.0101,求[X]补=?0.1001[2X]补=?1.0010(溢出)[X/2]补=?0.0100[Y]补=?1.1011[2Y]补=?1.0110[Y/2]补=?1.11018、原码乘法及实现1、手工乘法算法手工计算1011×1101,步骤:手工算法:对应每1位乘数求得1项位积,并将位积逐位左移,然后将所有的位积一次相加,得到最后的乘积。2、原码一位乘法算法:假设[X]原=XSX1X2……Xn,[Y]原=YSY1Y2……Yn,P=X·Y,PS是积的符号:符号位单独处理Ps=Xs⊕Ys[X]补00,1000+[Y]补00,1001[X+Y]补01,0001+[-Y]补11,0111[X]补00,1000[X-Y]补11,1111[X]补11,1000+[Y]补00,1001[X+Y]补00,0001+[-Y]补11,0111[X]补11,1000[X-Y]补10,1111绝对值进行数值运算|P|=|X|*|Y|例如:X=+1011,Y=-1101,用原码一位乘法计算控制单元(ControlUnit,CU)第4章第五章一个二进制位(bit)是构成存储器的最小单位;字节(8bits)是数据存储的基本单位。单元地址是内存单元的唯一标志。存储器具有两种基本的访问操作:读和写。一、存储器的分类1、计算机存储系统中的存储器分类(1)按存储介质分类半导体器件:半导体存储器(RAM、ROM,用作主存)磁性材料:磁表面存储器(磁盘、磁带,用作辅存)光介质:光盘存储器(用作辅存)(2)按存取方式分类随机存取存储器:存储器中任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关(主存)顺序存取存储器:存取时间和存储单元的物理位置有关(磁盘、磁带)相联存储器:按内容访问。(3)按存储器的读写功能分类只读存储器(ROM):一般隐含指随机存取。读写存储器(RAM):一般隐含指随机存取。(4)按信息的可保存性分类永久记忆的存储器:又称非易失性存储器,在断电后还能保存信息(辅存、ROM)非永久记忆的存储器:又称易失性存储器,在断电后信息丢失(主存中的RAM)(5)按在计算机系统中的作用分类主存储器:又称内存,为主机的一部分,用于存放系统当前正在执行的数据和程序,属于临时存储器。辅助存储器:又称外存,为外部设备,用于存放暂不用的数据和程序,属于永久存储器。2、计算机的主存储器分类主存的地位:在现代计算机中,主存储器处于全机的中心地位。主存的分类:要求为随机存取、快速随机读写存储器(RAM)只读存储器(ROM)掩膜式只读存储器(MROM)可编程只读存储器(PROM)可擦除可编程序的只读存储器(EPROM)电可擦除的可编程序的只读存储器(E2PROM)闪存(Flashmemory):介于EPROM和E2PROM之间的永久性存储器二、主存储器的性能指标1、存储容量:指存储器可容纳的二进制信息量,描述存储容量的单位是字节或位。量化单位:1K=2101M=2201G=2301T=240存储器芯片的存储容量=存储单元个数×每存储单元的位数2、存储速度:由以下3个方法来衡量。存取时间(MemoryAccessTime):指启动一次存储器操作到完成该操作所需的全部时间。存取时间愈短,其性能愈好。通常存取时间用纳秒(ns=10-9s)为单位。存储周期(MemoryCycleTime):指存储器进行连续两次独立的存储器操作所需的最小间隔时间。通常存取周期TC大于存取时间tA,即TC≥tA。存储器带宽:是单位时间里存储器所能存取的最大信息量,存储器带宽的计量单位通常是位/秒(bps)或字节/秒,它是衡量数据传输速率的重要技术指标。存储容量、速度和价格的关系:速度快的存储器往往价格较高,容量也较小。容量、速度和价格三个指标是相互制约的。一、随机读写存储器RAM:静态存储器(SRAM)、动态存储器(DRAM)SRAM存储器:特点:使用双稳态触发器表示0和1代码。电源不掉电的情况下,信息稳定保持(静态)。存取速度快,集成度低(容量小),价格高。常用作高速缓冲存储器Cache。DRAM存储器的特点:使用半导体器件中分布电容上有无电荷来表示0和1代码。电源不掉电的情况下,信息也会丢失,因此需要不断刷新。存取速度慢,集成度高(容量大),价格低。常用作内存条。SRAM和DRAM的对比:二、只读存储器ROM几种非易失性存储器的比较:EDRAM,即增强型DRAMCDRAM,带Cache的DRAMEDORAM(ExtendedDataOutRAM)。也称“扩展数据输出RAM”SDRAM(SynchronousDynamicRAM),也称“同步DRAM”。RDRAM(RambusDRAM)DDRSDRAM(双倍速率SDRAM),简称DDR。二、存储器容量扩展的三种方法:从字长方向扩展、从字数方向扩展、从字长和字数方向扩展字扩展2、字扩展分析地址:A10用于选择芯片A9~A0用于选择芯片内的某一存储单元例5-1:设CPU有16根地址线,8根数据线,并用MREQ#作访存控制信号(低电平有效),用R/W#作读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K*4位SRAM;4K*8位SRAM;8K*8位SRAM;2K*8位ROM;4K*8位ROM;8K*8位ROM;及3:8译码器和各种门电路。要求:主存的地址空间满足下述条件:最小8K地址为系统程序区(ROM区),与其相邻的16K地址为用户程序区(RAM区),最大4K地址空间为系统程序区(ROM区)。请画出存储芯片的片选逻辑,存储芯片的种类、片数画出CPU与存储器的连接图。第二步:选择芯片最小8K系统程序区←8K*8位ROM,1片16K用户程序区←8K*8位SRAM,2片;4K系统程序工作区←4K*8位SRAM,1片。第三步,分配CPU地址线。CPU的低13位地址线A12~A0与1片8K*8位ROM和两片8K*8位SRAM芯片提供的地址线相连;将CPU的低12位地址线A11~A0与1片4K*8位SRAM芯片提供的地址线相连。例5-2:设有若干片256K×8位的SRAM芯片,问如何构成2048K×32位的存储器?需要多少片RAM芯片?该存储器需要多少根地址线?画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。解:采用字位扩展的方法。SRAM芯片个数:2048K/256K×32/8=32片每4片一组进行位扩展,共8组芯片进行字扩展片选:该存储器需要21条地址线A20~A0,其中高3位用于芯片选择接到74LS138芯片的CBA,低18位接到存储器芯片地址。高速缓冲存储器CacheCache是指位于CPU和主存之间的一个高速小容量的存储器,一般由SRAM构成。Cache功能:用于弥补CPU和主存之间的速度差异,提高CPU访问主存的平均速度。设置Cache的理论基础,是程序访问的局部性原理。Cache的内容是主存部分内容的副本,Cache的功能均由硬件实现,对程序员是透明的。Cache的速度比主存快5-10倍。Cache、主存与CPU的关系CPU在读写存储器时,Cache控制逻辑首先要依据地址来判断这个字是否在Cache中,若在Cache中,则称为“命中”;若不在,则称为“不命中”。针对命中/不命中、读/写操作,Cache的处理是不同的:读命中:立即从Cache读出送给CPU;读不命中:通常有两种解决方法:A)将主存中该字所在的数据块复制到Cache中,然后再把这个字传送给CPU;B)把此字从主存读出送到CPU,同时,把包含这个字的数据块从主存中读出送到Cache中。写不命中:直接将该字写入主存中,且不再调入Cache;写命中:通常也有两种方法进行处理:写贯穿方法:同时对Cache和主存进行写操作;写回:只写Cache,仅当此Cache块被替换时,才将该块写入主存Cache的命中率命中率指CPU访问主存数据时,命中Cache的次数,占全部访问次数的比率;失效率就指不命中Cache的次数,占全部访问次数的比率。命中率h取决于程序的行为、Cache的容量、组织CPU主存Cache字传送块传送方式、块大小。若tc表示Cache的访问时间,tm表示主存的访问时间,则Cache/主存系统的平均访问时间ta为:Cache/主存系统的访问效率e:如何根据主存地址,判断Cache有无命中并变换为Cache的地址,以便执行读写。有三种地址映射方式:直接映射\全相联映射\组相联映射Cache的数据块称为行,主存的数据块称为块,行与块是等长的;主存容量为2m块,Cache容量为2c行,每个字块中含2b字。三、替换算法1、随机替换算法2、先进先出算法(FIFO)3、最近最少使用算法(LRU)常用的写策略通常有写贯穿和写回两种设计Cache主要考虑五个问题:第一,容量。第二,Cache中行的大小。第三,Cache的组织(地址映射方式)。第四,指令和数据共用同一个Cach