通用计算机:单片机,微型机,小型机,中型机,大型机,超级计算机
计算机发展史:电子管(ENIAC) —— 晶体管 —— 中小规模集成电路 —— 大规模、超大规模集成电路 —— (有待发展)
冯.诺依曼:二进制表示方法和存储程序控制(计算机构想),EDVAC(计算机模型)
现代计算机发展方向:巨型化、微型化、网络化、智能化、多媒体化
吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量
响应时间:从输入有效到系统产生响应之间的时间度量,用时间单位来表示
利用率:在给定的时间间隔内,系统被实际使用的时间所占的比率,用百分比表示
处理机字长(机器字长):处理机运算器中一次能够完成二进制运算的位数,与系统数据总线宽度具有一定的相关性
总线宽度:一般指运算器与存储器之间的数据总线宽度
系统总线:构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。
主存储器容量:主存储器所能存储二进制数据的位数,或者说“主存储其中所有存储元(并非存储单元)的总数目”
存储元:用于保存一位0/1二进制数据的物理器件; 存储单元:能够保存一个字数据的器件,由若干个存储元构成;
主存储器带宽:单位时间内从主存储器读出的二进制信息量,一般用字节数/秒表示
主频:主时钟的频率叫CPU的主频,度量单位为MHz、GHz
时钟周期:主频的倒数,度量单位为微妙us、纳秒ns
CPU执行时间:CPU执行一般程序所占用的CPU时间。CPU执行时间 = CPI x 程序指令条数 x 时钟周期数
CPI:执行一条指令所需要的平均时钟周期数。平均CPI = 该程序所包含总的CPU时钟周期数 x 时钟周期数 = 某程序总的CPU时钟周期数 / 该程序包含的指令条数
MIPS:每秒百万指令数,即单位时间内执行的指令数。MIPS = 指令数 / (程序执行时间 x 10^6)
FLOPS:每秒百万次浮点操作数,衡量机器浮点操作的性能
计算机硬件:是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成
功能:处理所有的算术及逻辑运算,通常称为ALU
特点:
功能:保存所有的程序和数据
特点:
两个与主存相关的寄存器:
功能:根据所要执行指令的功能,按顺序发出各种控制命令,协调计算机各个部件的工作
主要任务:
指令的形式:
相关概念:
例一:
解析:在取指周期中从存储器独处的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。
例四:什么是内存,外存,CPU,适配器,并简述其功能。
解:半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调工作。
补充内容:https://blog.csdn.net/qq_41086461/article/details/84404547
0.0···0 = 0 <= |x| <= 1-2^(-n) = 0.1···1
原码
补码
求相反数的补码:连同符号位的所有位一起取反,末尾加一
移码
移码通常用于表示浮点数的阶码,与补码符号位相反,表示范围也与补码相同
浮点数:小数点位置可变,形如科学计数法中的数据表示
浮点数格式定义:N = R^e x M
机器数的一般表示形式:
浮点数规格化
目的:
要求:|尾数| >= 0.5
规格化处理:
浮点数的IEEE754标准
标准格式如下:
浮点数的最值:
数据校验原因:为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错的支持
数据校验基本原理:扩大码距
码距:任意两个合法码之间不用的二进制位的最少位数
奇偶校检码
根据数据中“1”的个数,设置1位校验位的值,分为奇校验和偶校验两种。
海明校验码
实现原理:
校验过程:
设K为有效信息的位数,r为校验位的位数,则整个码字的位数N应满足不等式:
分组原则:每个校验位Pi从低到高被分在海明码中位号2^(i-1)的位置
校验原则:海明码的每一位Hi有多个校验位校验,其关系是被校验的每一位位号等于校验它的个校验位的位号之和;每个信息位的位置写成2的幂次之和的形式。
校验位形成公式:第i组中的所有位(除pi)求异或
为了能检测两个错误,增加一位校验P,放在最高位,其中P = 所有位求异或
码距越大,纠错能力越强,但数据冗余也越大,即编码效率低了。
具体流程可参见例题六。
循环冗余检验码(CRC)
无内容
奇偶校验码 | 海明校验码 | 循环冗余校验码 |
---|---|---|
只能检错,无纠错能力 | 具有检错和纠错能力 | 具有很强的检错纠错能力 |
补码加法运算基本公式:
补码减法运算基本公式:
溢出:在定点数机器中,数的大小超出了定点数能表示的范围
溢出判别方法
基本的二进制加法、减法器
一位二进制数据的全加器的逻辑结构
串行乘法
原码一位乘法,计算流程参见例题七。
原码两位乘法运算规则表
具体计算流程可参见例题八。直接补码并行乘法
了解内容:
内部总线:指CPU内各部件的连线
外部总线:指系统总线,即CPU与存储器、I/O系统之间的连线
单向总线:信息只能向一个方向传送
双向总线:信息可以分为两个方向传送,既可以发送数据,也可以接收数据
例一:
设机器字长16位,定点表示,数值15位,数符1位,问 (1)定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?
例二:
设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。
例三:
若浮点数x的754标准存储格式为16进制 41360000,求其浮点数的十进制数值
解析:
例四:
将10进制 20.59375转换为754标准的32位浮点数的二进制存储格式
例六:
设待校验的数据为D7~D0 = 10101011,写出其海明校验码
解析:
例七:
设 X = 00.1101, Y = 0.1011,由原码乘法求[XY]原
解析:
例八:
设X = -0.1101,Y = 0.0110,由原码两位乘法求[XY]原
解析:
例九:
float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是 2^128 - 2^104
解析:
例十:
某字长为8位的计算机中,已知整型变量x、y的机器数分别为[x]补=1111 0100和[y]补=1011 0000,若整型变量z =2*x+y/2,则z的机器数为 1100 0000
解析:
乘以2为左移一位:2x=1110 1000
除以2为右移一位:y/2=1101 1000
例十一:
下列有关浮点数加减运算的叙述中,正确的是_I、II、III、IV_ 。 Ⅰ. 对阶操作不会引起阶码上溢或下溢 Ⅱ. 右规和尾数舍入都可能引起阶码上溢 Ⅲ. 左规时可能引起阶码下溢 Ⅳ. 尾数溢出时结果不一定溢出
解析:考查浮点数的加减运算。
EPROM:光擦除可编程的只读存储器
CD-ROM: 串行存取方式,顺序存储
存储容量:指存储器能存放二进制代码的总数
存取周期
存储器带宽
地址线:2^n个单元,对应有n根地址线
数据线:每个单元m位,对应有m根数据线
控制线
组成
存储器读/写的原则
读周期时间(Trc)、写周期时间(Twc)
读周期
读出时间(Taq):从地址有效到外部数据总线上的数据信息稳定所经历的时间
片选有效时间(Teq)、读控制有效时间(Tgq):从地址译码后,到数据稳定的时间间隔;片选信号、读控制信号所需要的维持的最短时间,二者相等。
写周期
写入时间(Twd):地址控制信号稳定后,到数据写入存储器所经历的时间
维持时间(Thd):读控制信号失效后的数据维持时间
地址多路开关:刷新时需要提供刷新地址,非刷新时需提供读写地址
刷新定时器:间隔固定的时间提供一次刷新请求
刷新地址计数器:刷新按行进行,用于提供对所要刷新的行进行计数
仲裁电路:对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权进行裁定
定时发生器:提供行地址选通/RAS、列地址选通/CAS和写信号/WE
DRAM的读写周期与SRAM相似,差别在于:
刷新:在固定时间内对所有存储单元,通过“读出(不输出)— 写入”的方式回复信息的操作过程
刷新方式:以存储矩阵的行为单位刷新
SARM、DRAM、ROM均可进行容量扩展
位扩展
存储单元数不变,每个单元的位数(字长)增加
存储芯片与cpu的引脚连接方式:
CPU对该存储器的访问是对各位扩展芯片相同地址单元的同时访问
由1K x 4的存储芯片构成1K x 8的存储器:
字扩展
每个单元位数不变,总的单元个数增加
存储芯片与cpu的引脚连接方式:
CPU对该存储器的访问是某一字扩展芯片的一个单元访问
由1K x 8的存储芯片构成2K x 8的存储器:
字位扩展
每个单元位数和总的单元个数都增加
扩展方法:
要求:能够计算出字位扩展所需的存储芯片的数目
例如:用L X K的芯片构成M X N的存储系统,所需的芯片数为 M / L X N / K
动态RAM和静态RAM的比较:
一种高密度、非易失性的读/写半导体存储器
以E^2PROM为基础,电擦除方式修改其内容
多模块交叉存储器采用时间并行技术
存储器的模块化组织方式有两种,分别是顺序方式和交叉方式
顺序方式
每个模块上的单元地址是连续的
某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作
存储单元地址:
交叉方式
某个模块的单元地址是不连续的;连续地址分布在相邻的不同模块内
对于数据的成块传送,各模块可以实现多模块流水式并行存取
存储单元地址:
使用cache的原因:CPU速度越来越快,主存储器与CPU的速度差距越来越大,影响CPU的工作效率
cache的作用:
结构模块化:
Cache的命中率:
主存系统的平均访问时间
地址映射的方式:全相连映射、直接映射、组相连映射
全相连映射
映射关系:主存中的任意字块可调进cache的任一行中
地址映射:
全相连映射的主存地址格式
优点:灵活性好(最理想)
缺点:成本高;速度太慢;一般较少使用
具体解题步骤见例题八
直接映射
映射关系:
其中主存块号为j,cache行号为i,c是cache行地址的位数
地址映射:
直接映射方式下的主存地址格式
优点:该映射函数实现简单,查找速度快
缺点:灵活性差
具体解题步骤见例题八
组相连映射
映射关系:
设cache共u组,每组r行,则映射函数如下:
组号 q = j mod u
j —— 主存块号
当cache的一组包含r行时,通常称为r路组相连映射
地址映射
组相连映射的特点
虚拟存储器的使用
虚拟存储器、TLB和Cache的关系
理解内容,不多详细介绍了。
例一:
设某存储器的存储矩阵为128x128,存取周期为0.5us,RAM刷新周期为2ms
1. 若采用集中式刷新方式,试分析其刷新过程。
2. 若采用分散式刷新方式,试分析其刷新过程。
解析:
1)
2)例二:
17.下列存储器中,在工作期间需要周期性刷新的是 _B_. A.SRAM B.SDRAM C.ROM D.FLASH
解析:
DRAM的数据以电荷的形式保存在电容中,需要以刷新的方式,不断为电容充放电;而SRAM则以双稳态为存储单元,不需要周期性的刷新。
例三:
用16K x 8的芯片构成64K x 8的存储器
解析:
例四:
CPU有16根地址线,8根数据线,要求主存地址空间满足:最小8k为系统程序区,与其相邻的16k地址为用户程序区,最大4k地址空间为系统程序工作区,画出逻辑图及指出芯片种类及片数
可选存储芯片:1K x 4RAM; 4K 8RAM; 8K x 8RAM; 2K x 8ROM; 4K x 8ROM; 8K x 8ROM
解析:
例五:
假定用若干个2k x 4位芯片组成一个8k x 8的存储器,则地址0B1FH所在芯片的最小地址是 _0800H_
解析:考查主存储器扩展的地址分配
例六:
设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度64位,总线传送周期T=50ns。问顺序存储器和交叉存储器的带宽各是多少?
解析:
例七:
CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间
解析:
例八:
设主存容量1MB,Cache容量为16KB,块的大小为512B,分别采用全相连映射方式、直接相连映射
解析:
全相连映射:
直接相连映射:
例九:
设主存共512个单元,cache共32个单元,块大小为8个字节,试用直接映射方式组织cache
解析:
例十:
某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是(4 )。
解析:
组相联映射方式下,主存块按模Q(Q为Cache组数)映射到Cache对应组中的任一块;Cache共有16块,采用2路组相联映射,故Cache共分16/2=8组;主存块大小为32字节,按字节编址,故主存129号单元所在主存块为第129/32=4块;4 Mod 8=4,故129号单元所在主存块应装入Cache第4组中任一块
程序 —— 用于解决实际问题的一系列指令
指令 —— 是计算机执行某种操作的命令
计算机指令分为:
指令系统:一台计算机中所有机器指令的集合
指令字:表示一条指令的机器字
指令格式
操作码字段的位数取决于指令系统的规模
操作码的类型
一条指令格式中有几个地址码字段,就称为是几地址指令
零地址指令
无任何操作数运算:如NOP、HALT等指令
单操作数运算:隐含一个操作数,如Acc
一地址指令
单操作数运算:OP(A1) —> A1,如INC指令
双操作数运算:隐含一个操作数
两地址指令
功能:(A1)OP(A2)—> A1,如ADD、XOR等指令
按操作数的寻址方式可分为RR型、RS型、SS型三种
RR型指令不需要访问存储器,所花时间最短;
RS型指令需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间
SS指令虽然也访问存储器,但节省了求有效地址运算的时间开销
三地址指令
功能:(A1)OP(A2)—> A3
多地址指令
这类指令功能强,一般用高档小型机或中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等
机器字长:运算器一次能处理的二进制的位数
指令字长
指令有半子长、单字长、双字长、多字长等不同的长度类型
指令系统可分为等长指令字结构、变长指令字结构两种
指令助记符:使用3~4个英文缩写字母来表示的指令操作码
机器指令对数据进行操作,数据通常分为一下四类:
典型二常用的寻址方式有:
例一:
采用操作码扩展方法设计一个具有三地址指令15条,双地址指令12条,单地址指令32条以及零地址指令16条的指令系统?
解析:此指令系统共75条指令,还可扩展指令
例二:
某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?
解析:
例三:
例四:
例五:
例六:
某计算机有16个通用寄存器,采用32位定长指令字操作码字段(含寻址方式位)为8位,Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式,若基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则Store指令中偏移量的取值范围是(-32768~+32767)
例七:
某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令29条,二地址指令107条,每个地址字段为6位,则指令字长至少应该是 _24_ 位
解析:
三地址指令有29条,所以它的操作码至少为5位。以5位进行计算,它剩余32-29=3种操作码给二地址。而二地址另外多了6位给操作码,因此它数量最大达3*64=192。所以指令字长最少为23位( 6 + 6 +6 + 5 = 26),因为计算机按字节编址,需要是8的倍数,所以指令字长至少应该是24位。
例八:
某计算机字长为32位,主存容量为64KB,采用单字长单地址指令,共有40条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式
解析:
例九:
某计算机字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统,如果采用通用寄存器做基址寄存器,则RS型指令的最大存储空间是多少
解析:
例十: