计算机组成与体系结构(2-4分)
课程摘要
计算机组成结构
CPU组成
骚戴理解:
- 指令寄存器(IR)存放的是从内存中取得指令,就像个中间站一样,不过是存放指令的中间站
- 程序计数器(PC)存放的是指令的地址,还有计数的功能
- 地址寄存器(AR)存放的是cpu访问内存单元的地址
- 指令译码器(ID)是把操作码解析成对应的指令操作
讲解地址:12-CPU组成_哔哩哔哩_bilibili
真题
真题
冯.诺依曼结构与哈佛结构
骚戴理解:一股用于嵌入式系统处理器(DSP),数字信号处理(DSP)
嵌入式-芯片
MCU典型代表是单片机,体积小从而使功耗和成本下降
DSP处理器对系统结构和指令进行了特殊设计,适合数字信号处理
SOC是一个有专用目标的集成电路,其中包括完整系统并有嵌入式软件的全部内容,一般说来soc称为系统级芯片,也称片上系统,SOC是一种技术(注意SOC不是芯片),是以实际的,确定的系统功能开始,到软/硬件划分,并完成设计的整个过程,SOC是信息系统核心的芯片集成是将系统关键部件集成在一块芯片上,完成信息系统的核心功能,SOC是将微处理器,模拟ip核,数字ip核和存储器(或片外存储控制接口)集成在单一芯片上,是面向持定用途的标准产品
骚戴理解:SoC是微小型系统,MCU是芯片级计算机
真题
真题
讲解地址:13-冯诺依曼结构与哈佛结构_哔哩哔哩_bilibili
真题
解析
此题考察系统级芯片soc的相关概念,属于超纲低频考点。soc是一个具有专用目标的集成电路,包含了完整的系统并嵌入了软件。从狭义角度来讲,soc是信息系统核心的芯片集成,将系统关键部件集成在一块芯片上。从广义角度来讲,soc是一个微型系统,可以将大脑,心脏,眼睛和手等组成部分理解为一个整体。国内外学术界一般将soc定义为将微处理器,模拟ip核,数字ip核和存储器集成在单一芯片上的定制或面向特定用途的标准产品。因此,说soc是一块处理器芯片是错误的,而a,c,d的说法是正确的。
骚戴理解:B的描述应该是MCU
真题
解析
此题考察嵌入式软硬件相关知识,属于超纲低频考点。cortex-m3处理器不带mmu(内存管理单元)uc/os-ll是一种典型的嵌入式操作系统。
AI芯片
通常,Al芯片的技术架构包括GPU、FPGA、ASIC 等三种。
- GPU是一种通用的高效支持Al应用的芯片,但是价格和功耗相对较高。
- FPGA 可以对芯片硬件层进行编程和配置,实现半定制化,功耗相对较低。
- ASIC是专门为特定的Al产品或服务而设计的芯片,主要用于加速机器学习,特别是神经网络和深度学习,具有非常高的能效比。
AI芯片的关键特征/关键特点是新型的计算范式、训练和推断、大数据处理能力、可重构的能力
真题
解析
此题考察a芯片的相关概念,属于新技术范畴。gpu是一种通用的高效支持a应用的芯片,但是价格和功耗相对较高。fpga可以对芯片硬件层进行编程和配置,实现半定制化,功耗相对较低。asic是专门为特定的ai产品或服务而设计的芯片,主要用于加速机器学习,特别是神经网络和深度学习,具有非常高的能效比。本题考查的是a芯片的基本技术架构,如gpu,fpga和asic等,选a.
真题
解析
此题考察ai芯片的相关概念,属于超纲低频考点。ai芯片的特点包括新型的计算范式,训练和推断,大数据处理能力,数据精度,可重构的能力和开发工具,其中数据处理要求和可重构的能力考虑重要。干扰项包括信号处理能力,可定制性和图像处理能力。
层次化存储结构
骚戴理解:程序员不能对Cache操作(透明性),其他的都可以操作
真题
讲解地址:14-层次化存储结构_哔哩哔哩_bilibili
Cache
骚戴理解:cache的设计思想是在合理的成本下提高命中率
真题
真题
骚戴理解:A选项错误的地方在于替换算法的时间复杂度与Cache命中率没有啥关系
讲解地址:15-Cache_哔哩哔哩_bilibili
主存编址计算
计算机的基本单位
讲解地址:计算机基本单位_哔哩哔哩_bilibili
十进制与二进制
骚戴理解:这里会二进制和十进制互转就行
八进制与十六进制
骚戴理解:这里会八进制和十六进制互转就行,A-F是从10到15
讲解地址:八进制与十六进制_哔哩哔哩_bilibili
八进制和十六进制转二进制
骚戴理解:也就是一个16进制的数要用4个2进制的数来表示
一个16进制对应转成4个二进制
一个8进制对应转成3个二进制
讲解地址:八进制转二进制与十六进制转二进制_哔哩哔哩_bilibili
进制加减法
二进制相加 二进制相减
0111+1010=10001 100-1=011
八进制相加 八进制相减
167(O)+43(O)=232 205(O)-7(O)=176
十六进制相加 十六进制相减
ABDFE(H)+1024(H)=ACE22(H) 90E(H)-F(H)=8FF(H)
讲解地址:进制加减法_哔哩哔哩_bilibili
骚戴理解:这里很容易做错,特别注意无论是进1还是借1都要看是多少进制,二进制就满2进1,借的那个 1当2用,八进制满8进1,借的那个 1当8用,十六进制就满16进1,借的那个 1当16用,这里我很容易会在16进制减法的时候脑补成2进制
例题
骚戴理解:
- 大地址减小地址+1,再转kb,注意这里的加1只是加1,不是每个都加1,也就是计算结果27BFF+1,不是27BFF+11111,这里我一开始就理解错了
- 算出来是27C00后要知道怎么转化,应该是2*164+7*163+122*162
- 注意内存是按字节编址,所以最后转化后得到的值是B单位!1KB=1024B,所以计算结果还要除以1024!
讲解地址:例题1_哔哩哔哩_bilibili
例题
骚戴理解:注意内存按字节编址,所以最后转化后得到的值是B单位,1B=8bit!32K*8bit其实就是32KB,然后在把KB化成B,这样单位就统一了,最后再去约分
真题
讲解地址:2010年下半年第4题_哔哩哔哩_bilibili
*真题
真题
真题
真题
真题
真题
真题
数据传输控制方式(输入输出控制方式)
程序查询方式(程序直接控制方式)
讲解地址:输入输出(IO)控制方式_哔哩哔哩_bilibili
中断驱动方式
DMA方式(直接存储器存储方式)
骚戴理解:DMA传输数据比中断驱动方式传输数据要快点
真题
真题
真题
真题
真题
骚戴理解:进行数据块传送时是不需要CPU干预的,只有开始传送数据块跟结束数据块传送时才要
真题
真题
讲解地址:2013年上半年第4题_哔哩哔哩_bilibili
真题
真题
真题
总线
讲解地址:总线_哔哩哔哩_bilibili
真题
真题
真题
讲解地址:2010年下半年第3题_哔哩哔哩_bilibili
真题
真题
真题
讲解地址:2015年上半年第5题_哔哩哔哩_bilibili
真题
真题
真题
解析
此题考察串行总线的相关概念。串行总线适宜长距离传输数据,但是需要注意半双工和全双工的区别,全双工是一条线发一条线收,全双工模式虽然可以适用于长距离传输数据,但半双工模式也可以使用。其次,串行总线传输的波特率可以在使用中进行改变,因此选项b是错误的。串行总线的数据发送和接收可以使用多种方式,包括程序查询和中断方式等,因此选项d是错误的。本题选择c选项。
真题
解析
此题考察的是半双工总线和全双工总线的概念,属于超纲低频考点。半双工传输指的是数据可以在一个信号载体的两个方向上传输,但只能单向进行,即不能同时传输,相当于半个全双工传输。半双工传输包含一个双向线路,可以在两个方向上传递数据,但只有单向传输的能力。而全双工传输允许数据在两个方向上同时传输,相当于两个单工通信方式的结合,能够进行双向即时的信号传输。全双工传输需要两个独立的通道用于发送和接收数据,并且这两个通道可以同时进行数据传输。
RISC和CISC
骚戴理解:这里呢可以记忆为复含维生素C,所以CISC是复杂指令集计算机,那RISC就是精简指令集计算机,精简指令集计算机就寄存器很多,支持流水线,其他的都不如复杂指令集计算机,实现译码方式不同,RISC是硬布线控制逻辑(组合逻辑控制器),CISC是微程序控制技术
讲解地址:RISC与CISC_哔哩哔哩_bilibili
真题
真题
真题
真题
真题
流水线
骚戴理解:
- 吞吐率=指令条数/【一条完整指令的时间+(n-1)*流水线周期】
- 流水线的总共时间=一条完整指令的时间+(n-1)*流水线周期
- 加速比=不使用流水线的执行时间/使用流水线的执行时间
其中n是指令条数,流水线周期是流水线时间里面最大的一个时间
讲解地址:流水线公式_哔哩哔哩_bilibili
*真题
讲解地址:2015年上半年第6题_哔哩哔哩_bilibili
真题
真题
真题
真题
骚戴理解:吞吐率=指令条数/【一条完整指令的时间+(n-1)*流水线周期】,其中n是指令条数,流水线周期是流水线时间里面最大的一个时间,例如上面是3t
真题
骚戴理解:流水线的总共时间=一条完整指令的时间+(n-1)*流水线周期
真题
真题
真题
真题
真题
骚戴理解:
- 这里第一题要看清楚题目,第一题并没有指定是多少条指令,我一开始就是用的10条算的发现没有这个答案
- 加速比=不使用流水线的执行时间/使用流水线的执行时间
检验码
奇偶检验码
骚戴理解:奇偶检验码只能检查错误不能纠正错误,也就是它能够发现你错了但是错哪里了不知道,并且奇数校验只能检查出代码奇数个出错的编码不能检查出偶数个出错的编码,例如1001用奇数检验码传的时候是11001,如果有1个编码(或者奇数个编码)出错了,假如变成了11000,那就可以检验的出来这个编码出错了,如果是偶数个编码出错,例如变成了11010,这里两个编码都出错了,但是检验不出来,因为1的个数始终是3个
海明码
骚戴理解:海明码可以检错和纠错,码距是3,这里记得公式2k>=n+k+1就行,其中k是检验位,n是数据位
循环冗余检验码(CRC)
骚戴理解:码距为2,可以检错不能纠错
讲解地址:奇偶校验码_哔哩哔哩_bilibili
真题
真题
真题
真题
真题
真题
真题
讲解地址:2018年上半年第4、5题_哔哩哔哩_bilibili
真题
真题
真题
骚戴理解:
- 首先题目中的函数应该是X5+X3+X1+X0,然后就可以知道最高次幂是5,所以就需要在信息码字后面加5个0,得到111000110 00000
- 由于最高次幂是5,所以得到除数101011,怎么得到的呢?从5写到0,然后如果对应的函数有这个次幂的值就在下面写1,没有就是0,例如上面这个函数可以转化为X5+X3+X1+X0,提取出来就是5310,也就是5310这些位置都是1,其他的都是0,如下图所示
- 模二运算规则是同0异1进行计算,相同就是0,不同就是1
- 最后就是下面红色标出的部分的值是怎么计算的,这里我一开始研究了半天,应该就是模二运算得到的结果个数少于除数,那就要补数,如果补数只要补1位,那蓝色画出来的这部分对应的值就是1,如果要补多个,那就最后一个是1,其他的都是0
好文参考:计算循环冗余码(CRC)_循环冗余码(crc)及计算方法_千椽的博客-CSDN博客