1.冯诺依曼机器特点:(第一台具有存储功能的计算机:EDVAC)
(1)计算机运算器、存储器、控制器、输入设备和输出设备五大部分组成;
(2)指令和数据都是二进制;
(3)按存储程序的方式进行;
(4)早期以运算器为中心,现代计算机以存储器为中心;
(5)指令在存储器内按顺序存放,通常按自动的顺序取出执行;
(6)指令由操作码和地址码组成
2.三个字长的概念及其区别(重点)
(1)机器字长:CPU一次能够处理的二进制数据的位数。
(2)存储字长:按照某个地址访问某个存储单元获取的二进制数据的位数。(存储字长一般等于MDR寄存器位数,字节的整数倍)
(3)指令字长:一条指令所含的二进制位数
3.MAR,MDR
(1)MAR:存储地址寄存器,保存需要访问的存储单元地址,反映存储单元的个数。
(2)MDR: 存储数据寄存器,缓存读出/写入存储单元的数据。反映存储字长.。
存储器的最大容量由MAR,MDR两者决定。
eg:MAR寄存器的位数为16位,MDR寄存器的位数为16位,存储器的最大容量是多少?
1)MAR寄存器的位数为16位,能表示的地址个数为2的16次方,为64K;
2)MDR寄存器的位数为16位,说明存储字长为16位,也即2个字节;
3)存储器的最大容量为64K * 2B = 128K B
4.在计算机系统结构中,什么是翻译?什么是解释?
1)翻译:将一种语言编写的程序全部翻译成另一种语言,然后再执行;
2)解释:将一种语言编写的程序的一条语句翻译成另一种语言的一条或多条语句,然后执行,执行完这条语言后,再解释下一条。
5.CPU性能指标:(CPU由寄存器,运算器,控制器组成)
(1)*主频
(2)CPI(每条指令执行需要的时间)
(3)指令数
6.运算器核心部件:算术逻辑运算部件(ALU)*
7.计算机所含信息仍以二进制方式表示,原因:物理器件的性能决定
8.总线分为三类:地址总线,数据总线,控制总线,数据总线双向,地址总线单向(CPU向主存,外围设备传输地址信息)
9.计算机主机是由CPU和主存组成
10.SRAM和DRAM芯片的引脚数量计算:
(1)SRAM:数据线+地址线+读/写控制线(1/2)+片选线(1)
eg:某一个RAM芯片容量:512*8位,除电源和接地端外该芯片引脚数量最少为:19
解答:512=2的9次方 8位需要8根地址线,所以:9+8+1+1=19
(2)DRAM:(数据线/2+地址线+行,列通选线+片选线+读写控制线)(DRAM采用地址复用技术,地址线在RAM计算的基础上减半,该信息可告诉也可不告诉)
11.常见的存储系统层次结构有哪两种?透明性如何?各自用来解决什么问题的?
(1)缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对所有的程序员完全透明。
(2)主存-辅存层次:用来解决主存容量不够的问题,由操作系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。
12.**字在存储单元中有两种存储方式,大端方式和小端方式:(该题目可能出现在选择题)
(1)大端方式:字的低位存在内存的高地址中,而字的高位存在内存的低地址中;
(2)小端方式:字的低位存在内存的低地址中,而字的高位存在内存的高地址中。
13.只读存储器分类:(ROM)(注意(2,3,4区别)
(1)掩模ROM(MROM):出厂后内容不能被更改。
(2)PROM:可编程只读存储器,可以进行一次性编程;(一旦写入,无法修改)
(3)EPROM:可擦除只读ROM,用紫外线照射;(可擦除可以多次修改)
(1)EEPROM:电可擦除只读ROM,是EPROM下属概念,通过电气擦除
(4)FLash Memory(闪速存储器):采用EEPROM的非易失性存储器
EPROM不能替代RAM:
(1)EPROM写入次数有限(寿命有限)
(2)写入时间过长
14.存储系统层次结构:
存储系统要求:存储容量大,速度快,单位成本低
按照速度快慢(价格)进行排序:寄存器>cache>主存>辅存(外存),而容量则相反
存储器的性能指标
(1)存储容量:存储字数字长(如1M8位)
(2)单位成本
(3)存储速度:数据传输率=数据宽度/存取周期
存储系统层次结构主要体现在"cache-主存"和"主存-辅存",前者解决CPU和主存速度不匹配问题,主存-辅存解决存储系统的容量问题,主存和cache之间的数据调动是由硬件自动完成,对所有程序员都透明,而主存和辅存之间的数据调动是由硬件和操作系统完成的,对应用程序员是透明的
15.RAM和ROM存取方式为随机存取
16.cache命中率和平均访问时间以及访问效率的计算(重点)
设nc表示cache完成存取的总次数,nm表示主存完成的存取次数,h为命中率,所以有:h=nc/nc+nm
tc表示命中时cache存储周期,tm表示未命中时的主存周期,1-h表示未命中率,cache,主存平均访问时间为:ta=htc+(tm+tc)(1-h)
e为访问效率:e=tc/ta,e越接近1越好
17.DRAM,SRAM区别:(重点)
(1)SRAM:触发器存储信息,不需要刷新,常用于做高速缓冲器,断电信息易丢失,非破坏性读出,存取速度快,集成度较低,功耗较大,地址线一次传送,存储成本高;
(2)DRAM:电容存储信息,需要刷新,断电信息丢失,破坏性读出,存取速度慢,集成度较高,功耗较低,常用做主存,地址线行列分两次传送,存储成本低;
18.计算机主要的性能指标:
1.机器字长(一般等于内部寄存器的大小,字长越长,表示的数范围越大,计算精度越高,一般为字节的整数倍)
2.数据通路带宽:外部数据总线的宽度
3.主存容量:(存储信息的最大容量)
4.运算速度
(1)吞吐量和响应时间
吞吐量主要取决于主存的存取周期
响应时间:(包括CPU时间与等待时间)
(2)主频和CPU时钟周期
CPU时钟周期:是CPU最小的时间单位
主频:机器内部时钟频率,主频越高,执行指令速度越快
(3)CPI(每条指令执行需要的时间)
(4)CPU执行时间:一个程序所花费的时间
CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
(5)MIPS MFLOPS
MIPS:每秒执行多少百万条指令
MFLOPS:每秒执行多少次百万次浮点运算
19.计算机软件分类:
(1)系统软件:保证计算机高效,正确运行的基础软件,主要有os,数据库管理系统(DBMS,注意不是数据库系统)语言处理程序,编译程序等
(2)应用软件
20.校验码(重点)
1.奇偶校验码:(能发现错误但不能纠错)
奇校验码:整个校验码1的个数为奇数
偶校验码:整个校验码1的个数为偶数
2.海明校验码(重点)(直接看例题,秒懂)
eg:在n=4,k=3时,求1010的海明码?
解答:n为有效信息位数,k为校验位的位数则满足:
n+k+1<=2的k次方(若要检测两位错,则增加一位校验位,即k+1位,这里是校正一位和发现一位错)
H7 H6 H5 H4 H3 H2 H1
D4 D3 D2 P3 D1 P2 P1(P1,P2,P3为校验位,Pi在海明码2的i-1次方的位置上)
P1=D1异或D2异或D4=0
P2=D1异或D3异或D4=1
P3=D2异或D3异或D4=0
所以,1010对应的海明码为1010010
3.循环冗余校验码(CRC常用于大量传输数据,在计算机网络计算过,还是老规矩,看例题,秒懂)
eg:设多项式G(X)=X3+X2+1,信息码101001,求对应的CRC码
解答:将G(X)转换为表达式为1101(一共4位)
将元信息码左移3位(比G(X)少一位)为101001000
101001000模2除法,余数为001,即CRC为101001001(原信息码加上余数)
21.字符的编码以及汉字的编码
(1)字符编码(ASCII码):一共128个,7位二进制编码,编码值32-126可印刷
(2)汉字的编码:
输入编码:用于输入(包括国标码和区位码)
汉字机内码:内部处理
汉字字形码:输出
国标码=(16进制区位码)+2020H
汉字机内码=(16进制国标码)+8080H
(3)字符串:每个字节存储一个字符,可以按照大端方式也可小端方式(参照第12)
22.DRAM刷新方式:
(1)集中刷新:利用一段固定的时间,对存储器进行刷新,读写操作不受刷新影响,系统的存取速度较高,但存在死区,死区的时间内,不能访问存储器。
(2)分散刷新:前半部分读写,后半部分用于刷新某一行,这样增加了系统存取周期,降低了整机的速度,但是分散刷新没有死区。
(3)异步刷新:将刷新周期除以行数,得到两次刷新操作之间的时间间隔t,逻辑电路利用t产生一次刷新请求,提高了整机的工作效率。
23.主存与CPU的连接
(1)扩展:位扩展和字扩展,字位扩展
(2)片选:线选法和译码片选法
24.cache映射方式:(括号为教材概念)
CPU与cache之间的数据交换以字为单位,cache与主存之间的数据交换为cache块为单位
(1)直接映射(直接映像):主存数据块只能装入cache唯一的位置(冲突概率最高,空间利用率最低)
(2)全相联映射(全相联映像):可以将主存数据块装入cache任何一个位置(冲突概率低,空间利用率和命中率高)
(3)组相联映射(组相联映像):将cache分为若干组,一个数据块可以装入一组内的任何一个位置(组间直接映射,组内全相联映射)
cache替换算法:
(1)随机算法(2)先进先出(3)近期最少使用(体现程序的局部性原理)(4)最不经常使用
25.指令系统以及寻址方式(重点)
一:(指令格式:(包含操作码和地址码))
指令:是计算机运行的最小功能单位。
指令系统:一台计算机所有指令的集合。
指令字长取决于操作码长度,操作数码的长度和操作地址的个数。指令的长度与机器字长没有关系,定长指令与指令的长度没有关系。
按照指令长度:
单字长指令:指令长度等于机器字长
半字长指令:指令长度等于机器字长的一半
双字长指令:指令长度等于机器字长的两倍
按照指令的长度是否相等:
(1)定长指令结构
(2)变长指令结构
根据指令的操作数地址码的数目分为:
(1)零地址指令:给出操作码OP,没有显地址)
(2)一地址指令:OP(A1)->A1
(3)二地址指令:(A1)OP(A2)->A1
(4)三地址指令:(A1)OP(A2)->A3(完成一条三地址需要访问4次存储器(取指令1次,取两个操作数2次,存放结果1次)
(5)四地址指令:(A1)OP(A2)->A3,A4=下一条将要执行指令的地址
扩展操作码指令格式:(目的:保持指令长度不变而增加指令的数量)
设计扩展操作码指令注意:
(1)不允许短码是长码的前缀
(2)各指令的操作码不能重复
二:(寻址方式)(重点)
寻址方式分为指令寻址(寻找下一条将要执行的指令地址)和数据寻址(寻找操作数的地址)
(1)指令寻址分为两种:
part1:顺序寻址(通过程序计数器PC加一,自动形成下一条指令的地址)
part2:跳跃寻址(转移指令实现的)
(2)数据寻址分为以下:
part1:隐含寻址(指令隐含操作数的地址)
ACC对单地址指令格式来说是隐含地址。
优点:隐含地址有利于缩短指令字长
缺点:增加存储操作数或隐含地址的硬件
part2:立即(数)寻址(地址地段指出的是操作数本身,称为立即数)
优点:执行阶段不访问主存·,指令的执行时间最短;
缺点:A的位数的限制了立即数的范围
part3:直接寻址(EA=A)
优点:执行阶段访问一次主存
缺点:A的位数决定了指令的操作数寻址范围,操作数的地址不易修改
part4:间接寻址(EA=(A))
优点:扩大寻址范围
缺点:执行阶段多次访问主存(一次间接寻址访问两次主存)
part5:寄存器寻址(EA=Ri)(指令在执行阶段不访问主存,只访问寄存器,执行速度快,支持向量/矩阵运算)
特点:寻址速度较快,一般大于间接寻址,寄存器个数有限
part6:寄存器间接寻址(EA=(Ri))
特点:寻址速度大于一般的间接寻址,指令执行阶段需要访问主存(操作数在主存中)
part7:相对寻址(EA=(PC)+A)A为相对于指令地址的位移量,补码表示
特点:操作数的地址不是固定的,随着pc变化而变化,相对寻址广泛用于转移指令。
相对寻址是多道程序设计最重要的寻址方式
part8:基址变址EA=(BR)+A,(BR)是基址寄存器的内容,A为形式地址
基址寄存器面向OS,内容由OS/管理程序确定,主要用于解决程序逻辑空间与存储器物理空间的无关性,基址不变,形式地址可变。
优点:扩大寻址范围,利于多道程序设计
part9:变址寻址EA=(IX)+A,IX是变址寄存器,A为形式地址
变址寻址是面向用户的,执行过程中,寄存器内容可以由用户改变,形式地址不变。
part10:堆栈寻址
硬堆栈:(寄存器堆栈)
软堆栈:(从主存划出一段区域来做堆栈)这种方法最合算,最常用。
堆栈:用来暂存中断断点,子程序调用时返回地址,状态标志及现场信息等,也可用于子程序调用时参数传递。
进栈:
(SP)-1 ->SP
(A)->(SP)
出栈:
((SP))->A
(SP)+1->SP
寻址方法,有效地址以及访问次数比较
寻址方式 有效地址 访问主存次数
隐含寻址 程序指定 0
立即寻址 A(操作数) 0
直接寻址 EA=A 1
一次间接寻址 EA=(A) 2
寄存器寻址 EA=Ri 0
寄存器间接一次寻址 EA=(Ri) 1
相对寻址 EA=(PC)+A 1
基址寻址 EA=(BR)+A 1
变址寻址 EA=(IX)+A 1
三(CISC,RISC)
CISC:复杂指令系统计算机
(指令数目多,字长不固定,寻址方式多,寄存器数量少,一般微程序控制)
RISC:精简指令系统计算机
(指令数目少,字长固定,寻址方式少,寄存器数量少,一般为组合逻辑控制)
26.虚拟存储器(主存和联机工作的辅存构成)
(1)引入虚拟存储器目的:解决主存不足的问题
用户编程允许涉及的地址为虚地址或者逻辑地址,对应的存储空间为虚拟空间或者程序空间。
实际的主存单元地址为实地址或者为物理地址,实地址对应主存地址空间。
虚地址比实地址大很多。
(2)虚拟存储器分类:
1.页式虚拟存储器(以页为单位的虚拟存储器)
虚拟空间和主存空间都被划分为同样大小的页,主存的页为实页,虚存的页为虚页,把虚拟地址分为两个字段,虚页号和页内地址。虚地址到实地址之间的转换由页表实现的。
特点:页面长度固定,页表简单,调入方便,页不是逻辑独立的实体,会有碎片产生。
2.段式虚拟存储器(以段为单位的虚拟存储器)
虚拟地址分为段号和段内地址,虚拟地址到实地址之间的转换通过段表实现
特点:具有逻辑独立性,易于编译,管理,便于多道程序的共享,段长度可变,分配空间不便,容易在段间留下碎片。
3.段页式虚拟存储器(每段再划分固定大小的页,主存空间也划分为大小相等的页,程序对主存的调入,调出以页为基本传送单位)
虚地址分为段号,段内页号,页内地址
特点:兼具页式和段式虚拟存储器的优点,可以按照段实现共享和保护,地址变换过程中需要两次查表,系统开销较大。
27.二进制的十进制数常用的BCD码
(1)8421码(最常用):是一种有权码,设各位的数值为b3,b2,b1,b0权值依次为8,4,2,1,表示的十进制数为D=8b3+4b2+2b1+1b0。如果两个8421码相加和小于等于1001即十进制的9,则不要修正,否则,需要将结果加6修正。
(2)余3码:在8421的基础上加3.如8:1000对应的余3码为1011
(3)2421码:是一种有权码,大于等于5的4位2进制数中最高位为1,小于5的最高位为0。