第一章、计算机组成与体系结构
第一节.数据的表示
二进制转十进制:权值相加。即一个二进制数为1010.1,转为十进制为:
十六进制转十进制:同样的,权值相加。即一个十六进制为100121,转为十进制为:
十进制转十六进制:同上一样的,把除2和乘2换成除16和乘16
原码反码补码移码
1.原码:将一个十进制数转换为二进制数,并且该二进制数的首位表示正负,0表示正,1表示负,不足八位的就在符号位(首位)与二进制数中间用零填充。如-1的原码就是10000001
2.反码:原码在计算机中进行加减不能得到正确的答案,而反码的加减则符合事实,正数的反码为本身,负数的反码为其原码除符号位(首位)不变外全部取反,即零变为一,一变为零
3.补码:正数的补码与原码相同,负数的补码即为其反码加一
4.移码:将正数和负数的补码首位取反,其余位不改变
5.各自数值表示范围:
浮点数运算:
1.浮点数的概念:浮点数即科学计数法,如
,
$$
然后结果格式化(即通过指数的转化保证尾数必须为非零的一位数)如:
CPU由运算器和控制器组成
运算器(ALU)包括:
1.累加寄存器(AC):专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。能进行加,减,读出,移位,求补等操作。是运算器的 主要部分。
2.程序状态寄存器(PSW):该部件用来存放两类信息,一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位,有无溢出,结 果正负,信息是否为零等;另一类是存放控制信息,如允许中断,跟踪标志等。
控制器包括:
1.程序计数器(PC):程序计数器中存放的是下一条指令的地址。由于多数情况下程序是顺序执行的,所以程序计数器设计成自动加一的装 置。当出现转移指令时,就需重填程序计数器。
2.指令寄存器(IR):中央处理器正在执行的操作码表存放在这里,即当前正在执行的所有指令
3.指令译码器:将操作码解码,告诉中央处理器该做什么。
4.时序部件
注:CPU的寻址方式出了直接寻址以外还有多种寻址方式,目的是为了在效率和方便性上找一个平衡
CPU根据周期指令的不同阶段来区分内存中以二进制编码形式存放的指令和数据
指令最先进入到数据寄存器暂存起来,然后再拿到指令寄存器中,再交给指令编译器来解码进而运算,而这一过程一结束,就会迅速提取程序计数器中的下一条指令,所以,程序计数器中储存的始终是暂未执行的,下一条指令的“地址”
第三节.计算机体系结构分类(Flynn)
1.单指令流单数据流(SISD):其实就是传统顺序执行的单处理计数机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配 数据。
2.单指令流多数据流(SIMD):以并行处理机为代表,并行处理机包括多个重复的处理单元,由单一指令部件控制,按照同一指令流的要求 为它们分配各自所需的不同数据
3.多指令流单数据流(MISD):具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出 又作为另一个处理单元的输出。只有理论意义而无实例
4.多指令流多数据流(MIMD):是指能实现作业、任务、指令等各级全面并行的多机系统。多个处理机,能进行多任务处理。
第四节.CISC和RISC
复杂指令集架构(CISC):是当前CPU的主流架构之一,一些主流厂商。比如:AMD、Intel一直沿用CISC
简单指令集架构(RISC):可以理解为是CISC的反向操作,通常有20多个简化的指令集,指令长度固定,并通过专门的load和store进 行内存寻址;指令长度固定、指令种类尽量少;寻址方式单一,多寄存器寻址;增加寄存器数目以减少访 问次数;用硬布线电路实现指令解码,快速完成指令译码。
第五节.流水线
流水线的基本概念:
1、指令执行的流程:取指----分析----执行。注:指令执行可能有多步,据题意回答
2、流水线的概念:流水线是指在程序执行时多条指令重叠进行操作的一种并处理实现技术。各种部件同时处理是针对不同指令而言 的,他们可以同时为多条指令的不同部分进行工作,以提高个部分的利用率和指令的平均执行速度
注:流水线不可提高单条指令的执行速度
流水线周期及流水线执行时间计算:
1、流水线周期计算:流水线周期为执行时间最长的一段
2、流水线执行时间计算:
(1)、理论公式:1条指令完整执行的时间+(指令条数-1)*流水线周期
(2)、实际公式:一个完整指令的步骤数+(指令条数-1)*流水线周期
注:计算时优先用理论公式,选项中没有该答案时再采用实际公式
流水线吞吐率计算:
1、概念:是指在单位时间内流水线所完成的任务数量或输出的结果数量,因此流水线的吞吐率为一个流水级时间的倒数,即最长流 水级时间的倒数
如果各段流水的操作时间不同,则流水线的吞吐率是最长流水段时间的倒数
最大吞吐率取决于流水线中最慢一段所需的时间
如果流水线出现断流,加速比会明显下降
要使加速比和效率最大化应该对流水线各级采用相同的运行时间
流水线采用异步控制并不会给流水线性能带来改善,反而会增加控制电路的复杂性
2、计算公式:TP=指令条数/流水线执行时间
3、流水线最大吞吐率计算公式:1/&;其中&是流水线周期
流水线的加速比:
1、概念:完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比
2、计算公式:
流水线加速比越大越好
流水线效率:
第六节.层次化存储器结构
注:内存存储外存的部分内容,cache存储内存的部分内容,CPU只处理cache中的指令,cache的作用是精简内存中重复出现的指 令,提高CPU的执行效率,使得计算机的运算速度得到极大的提升;此外,结构中由上至下,速度越来越慢,但容量越来越大
第七节.高速缓存(cache)
1.cache的功能:提高CPU输入输出的速率,突破冯诺依曼瓶颈,即CPU与存储器系统间数据传送宽带限制,在程序执行过程中, Cache与主存的地址映射是由硬件自动完成的。
2.与cache相关的计算:如果以h代表对cache的访问命中率,t1表示cache的周期时间,t2表示主存储器周期时间,以读操作为例,使 用“chche+主存储器”的系统的平均周期为t3,则:
注:CPU会在cache中寻找它需要的数据,如果不能找到,CPU就将前往内存中寻找,而cache的访问命中率就是CPU需要的数据在 cache中被找到的比例,未能找到的数据CPU将前往内存中进行再次寻找
3.内存与cache地址映射的三种方式:分别是直接映像、全相连映像,组相连映像
注:这三种映射方式都是计算机硬件自动完成的,不是软件
4.替换算法:替换算法的目的是使cache获得尽可能高的命中率,有以下四种:随机替换算法、先进先出算法、近期最少使用算法、优 化替换算法
注:现代的计算机cache系统是分为了三个级别的,访问时先从第一层开始访问,直至三个级别的cache都被访问完全时才 会访问内存
5.虚拟存储器:即CPU在给出需要访问的内存地址时,给出的并不是真正的物理地址,而是物理地址的抽象,虚拟存储器是由主存-辅存 两级存储器组成
影响Cache命中率的因素有:容量、替换算法、其组织方式等
第八节.主存
主存的分类
1.随机存取存储器(RAM):断电后所有数据都将清除。
有两类RAM分别是:静态的(SRAM)和动态的(DRAM),静态的比动态的速度更快,价格也贵。
静态的(SRAM)用来作为高速缓冲存储器(Cache),动态的(DRAM)用来作为主存及图形系统的帧缓冲区
SRAM将每个位存储在一个双隐态的存储器单元中,DRAM将每个位存储为对一个电容的充电,由于电容非常小,在 10~100ms时间内会失去电荷,所以需要周期性地刷新充电以保持信息
2.只读存储器(ROM):断电后仍然能够存储信息
主存的编址:
1.概念:主存的编址就是把许多块芯片组成相应的存储器
注:一般表示方式如下图,其中左图一中的8表示它有8个地址空间,4表示每一个地址空间存储了4位的信息,而两个图一则可以 拼接为图二,两个图二可以拼接为图三
2.编址相关计算:
例题 :地址编号从80000H到BFFFFH且按字节编址的内存容量为()KB,若用16K * 4 bit的存储器芯片构成该内存,共需()片。
A.128 B.256 C.512 D.1024
A.8 B.16 C.32 D.64
解题方法:
1,看单位H,是十六进制。
-
十六进制中,B表示11,F表示15
-
内存容量= 后 - 前 + 1
BFFFF - 80000 + 1 = 11 FFFF- 80000 +1= 3 FFFF + 1 = 40000H byte
(1)转十进制==》
第二个空: 16K * 4bit = 2的4次方 * 2的10次方 * 2的2次方 = 2的16次方
256KB = 256 * 8 bit
求块数: (256 * 8 bit )/ (16K * 4bit )= 16 * 2 =32块
因此,选BC
第九节.磁盘结构与参数
盘面用来保存数据(存于磁道)
磁头用来读取数据
存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
第十节.总线
概念:总线是连接计算机有关部件的一组信号线,是计算机用来传送信息代码的公共通道。
根据总线所处的位置不同,总线通常被分为3种类型:
1.内部总线:微机内部的,各个外围芯片与处理器直接的总线,属于芯片级别
2.系统总线:即为各个插线板与系统之间的总线;其中系统总线又包括以下三种总线:
(1)数据总线:如32位,64位等一次性能够传输的位
(2)地址总线:假设该计算机的地址总线为32位,那就代表它的地址空间为2^32个字节
(3)控制总线:发送相应的控制信号的总线
3.外部总线:即微机和外部设备的总线
注:总线上的多个部件之间只能分时向总线发送数据,但可以同时从总线接收数据
单行总线控制简单,扩充方便,但同一时刻只能在两个设备之间传输,使系统总体数据传输的效率和速度受到限制
并行总线适合近距离高速数据传输
串行总线适合长距离数据传输
专用总线在设计上可以与连接设备实现最佳匹配
第十一节.系统可靠性分析与设计
串联系统:
1.串联系统的结构:只要一个子系统失效,则整改系统都将失效
2.串联系统可靠性的计算:即各个串联子系统可靠性相乘,如上图,其中R为可靠性,此外,1-可靠性即为失效率,而总的失效率即 为串联各个部件的失效率作和(近似计算)
并联系统:
1.并联系统的结构:少数子系统失效将不会影响整个结果
2.并联系统可靠性的计算:通过计算失效率来求得可靠性,即各个子系统的失效率相乘,再由1减去它,即可得到系统可靠性
模冗余系统与混合系统
第十二节.差错控制---CRC与海明效验码
检错与纠错:
1.检错:将错误检查出来
2.纠错:将错误检查出来的同时并纠正
码距及其作用:
1.码距的概念:指整个编码系统中任意两个码字的最小距离。如A变化X个位得到B,则X就为码距,如:若使用2位长度的二进制编 码,若以A=11,B=00为例,A,B之间的最小码距为2
2.码距的作用:增大码距能够起到检错的作用。因为数据在传输的过程中如果链路出现了问题,那么将会使得接收到的二进制数发生 变化;若码距过小,则很可能造成信息的混淆,增大码距就使得被改变的二进制数混淆信息的概率极大的降低;若码距 再进行增大,则能够起到纠错的作用,因为数据链路出错的概率比较低,只能造成传输中极少二进制数的改变,我们 可以根据该传输失真的二进制数中大部分二进制数的构成来进行推断,推断出结果就达到了纠错的目的。
注:在一个码组内为了检测e个误码,要求最小码距d应满足:d>=e+1
在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1
奇偶效验码(PCC):
概念:根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。
(1).水平奇偶效验码:对每一个数据的编码添加校验位,使信息位与校验位处于同一行.
(2).垂直奇偶效验码:把数据分成若干组,一组数据排成一行,再加一行校验码. 针对每一行列采用 奇校验 或 偶校验 例: 有32位数据 10100101 00110110 11001100 10101011
(3):水平垂直奇偶校验码:同时用水平校验和垂直校验
海明校验码:
汉明码也是利用奇偶性来校验数据的,它是一种多重奇偶校验检错系统,它通过在数据位之间插入k个校验位,来扩大码距,从而实现检错 和纠错.
循环冗余效验码(CRC):
这是一种可以检错但不能纠错的效验码
奇偶校验码(PCC)只能校验一位错误,循环冗余校验码(CRC)的检错能力更强,可以检出多位错误。
1.CRC的概念:在对信息进行编码的时候在其尾部加入一些校验信息,让编码后的数据能够与循环校验码的生成多项式相除余数为 零,若不为零则说明传输过程出现了错误,其中,原码加上(增添在右方)校验信息加(做加法)上余数所得的码即为CRC
注(1):生成多项式是一个二进制数,如"X^4+X^3+X+1",这个生成多项式实际上就是二进制数11011;在相除时,需在原码后方添加 一些0,添加的0的个数等于生成多项式的位数减去1,增加的0即为校验信息。
注(2):二进制的除法与算术除法相似,唯一不同的是所得除数在作减法时,减得的值要取绝对值,即0-1=1;这样使得整个除法运算 中不存在借位。
第十三节.输入与输出系统
需要CPU参与:
无条件传送:外设总是准备好的,无条件,随时接收和提供数据
程序查询方式:CPU利用程序来查询外设的状态,准备好了再传数据
中断方式:CPU不等待,也不执行程序查询外设的状态,而是由外设准备好后向CPU发出中断请求
不需要CPU参与:
DMA方式(直接内存存储方式):数据的传输是在主存和外设之间进行,不需要CPU的干预,实际操作是由DMA硬件直接执行完成的
通道方式和外围处理机方式:更近一步减轻CPU对I/O操作的控制,更进一步提高了CPU的工作效率,但是以增加更多硬件为代价
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!