计算机组成原理
南波兔不写巴哥
这个作者很懒,什么都没留下…
展开
-
数据寻址 10种总结
(非偏移)数据寻址:本指令的地址码指明的真实地址地址码的解读方式很多,应该用哪一种呢?可能是绝对地址,也可能是相对本程序起点,也可能是相对pc用bit位来标识地址解读: 形式地址A–>有效地址EA多种方式:直接寻址:EA=A取指令、执行指令访存 两次简单,不需要计算地址位数有限,对地址大小限制若数据存储地址改变,则gg了,灵活性太差了间接寻址:EA=(A)A中存储的是有效地址三次访存扩大了寻址范围;很像递归的过程,便于编程但多次访存,浪费原创 2022-02-04 21:03:51 · 1408 阅读 · 0 评论 -
指令寻址 顺序、跳跃
指令寻址:cpu下一条执行的指令的指令地址顺序寻址存在下面的问题一条指令不是一个字?(很正常)按字节编址两个字一个指令。。。按照存储字长和指令的倍数差距,从而来设定每次pc+?变长指令?cpu卡操作码,来进行判断当前指令的总字节数npc + n总之 pc = pc + “1”"1"是一个指令字长跳跃寻址由转移指令指出每一条指令都分为 取指令、执行指令 两个阶段...原创 2022-02-04 21:02:19 · 432 阅读 · 0 评论 -
指令系统及指令
指令系统按照地址码数目不同,来分类定长、变长指令操作码长度是否可变操作类型:数据传送、算术逻辑、移位(运算)、转移操作(控制)、输入输出扩展操作码指令格式定长指令字结构+可变长操作码一种扩展方式若前4位是1111,则一定不是三地址指令;反之一定当然上面的方式,只是一种,我们可以这样来,将11xx的全都看作少地址指令,就能减少当前的多地址指令,增加后面的少地址指令此方式会增加指令的丰富性;但是的控制器的复杂程度增加设计方向两种设计方向cisc复杂 c原创 2022-02-04 21:01:09 · 463 阅读 · 0 评论 -
虚拟存储系统
虚拟存储器和操作系统中的一样页式存储我们的程序很大,需要连续的主存空间不现实所以将一个程序,在逻辑上拆分为若干个大小相等的页面,离散的放入不同的主存块中每个页面大小和物理块的大小相同两个地址逻辑地址:程序员视角 (地址=逻辑页号+页内地址)机器指令中都是逻辑地址物理地址:实际地址 (地址=实际页号+页内地址)页表实现 两个地址的映射页表放在主存中页表中每一行是页表项将逻辑页号转换为实际页号页表基址寄存器:指明页表在主存的存放位置 即,帮我们在主存中找到页表原创 2022-02-03 17:29:32 · 444 阅读 · 0 评论 -
cache 概念、主存映射、替换算法、写策略
cache基于程序的局部性原理突然想起之前字节面试时问过这个问题,当时是回答的按列不连续,但是忘记说cache的存在了,由于会将空间局部放进cache,所以实际上按列无法直接访问cache,故速度更慢每次被访问的主存块,一定会被立即调入cachecache与主存的映射标记 标识cache中的每个块是主存的哪个块有效位 标识是否有效 (可以区分0块和空)全相连映射直接映射组相连映射和直接映射区别不大其实总结:全连接映原创 2022-02-03 17:28:26 · 886 阅读 · 0 评论 -
双端口RAM与多模块 解决RAM速度过慢
提高主存的速度存取周期DRAM的读取之后,由于电容的缘由,所以需要充电恢复充电时间甚至可以达到3r,也就是3倍存取时间多核cpu? 双端口RAM双端口RAM适合多个cpu多体并行存储器可以理解为4根内存条也就是将地址的几位拿出来,作为不同内存条的体号,也就是不同存储芯片的总的地址不一样体内地址放在地位很适合连续访问的场景体内地址放高位:nTnTnT 高位适合单纯的扩容体内地址放低位:T+(n−1)rT+(n-1)rT+(n−1)r模块的数..原创 2022-02-03 17:25:53 · 499 阅读 · 0 评论 -
主存储器与cpu的连接
位扩展扩展字长数据总线宽度>存储芯片字长(MAR、MDR基本集成到了cpu中去了)地址全连上,片选全选上,数据一个连一个就ok了字扩展增加主存的存储字数cpu地址线>存储器地址线通过译码器,将多余的地址线转换成片选信号,同时只选中一个芯片同时扩展补充通过存储器请求信号和译码器使能端保证,地址信号稳定之后再读取,防止出错cpu先发地址,再使能有效,激活片选,然后再使能无效,使得数据保持稳定...原创 2022-02-03 17:24:02 · 711 阅读 · 0 评论 -
ROM芯片
RAM芯片:易失性,断电后数据消失 random access memory 主存ROM:非易失性,端点后数据不会丢失 read only memory 辅存MROMMASK read only memory厂家写入,之后只读不大行PROMprogrammable 可编程可写一次EPROMerasable programmableUVEPROM用紫外线擦除所有信息 ultraviolet raysEEPROM电擦除特定信息 ElectricallyFlash M.原创 2022-02-03 17:22:28 · 1245 阅读 · 0 评论 -
SRAM和DRAM
RAM:随机访问存储器上一节的就是DRAM 栅极电容SRAM是双稳态触发器双稳态省了一个充电的步骤,栅极电容读取后就破坏了,需要充电恢复但成本、集成度和功耗也显而易见刷新:电容的电荷会慢慢流失,2ms需要不断的充电刷新,保持电荷,否则信息就流失而双稳态触发器只要VCC高电压,则不需要刷新刷新周期:2ms每次刷新矩阵的一整行,读出一行的信息,然后重新写入,占用一个读/写周期一般读写都是us级别采用第三种刷新方式总结:栅极电容 因为电容带来的优点是结构简单,集成度高,.原创 2022-02-03 17:21:55 · 491 阅读 · 0 评论 -
存储系统基本概念与组成
存储系统基本概念这里的恢复时间,可以理解成,钢笔写在纸上,墨水干的时间主存储器的基本组成一个存储单元,是由一个电容和一个mos管组成,一端接地。当mos管被给5v电压时,mos管接通,此时就可以知道电容上有没有较多的电荷,有电荷则为1,无则为0多个存储元排成一排,就是存储单元。每个元就是一个bit,一个存储单元就是一个存储字。它们由同一根线激活mos管,从而同时输出电容的结果多个存储单元就构成了存储矩阵译码器用于字选择控制电路用于控制;同时,保证地址信号稳定,译码器才开原创 2022-02-03 17:21:19 · 767 阅读 · 0 评论 -
算数逻辑单元
数电相关知识与门、或门、非门、与非、或非。。德摩根律异或门可由与、或、非组合实现奇偶校验可以用异或门实现加法器一位全加器也可以用异或门实现串行加法器,在一位加法器的基础上,加一个进位触发器,保存进位位并行加法器这种实际上,还是串行,因为高位的加法,需要低位的进位串行进位的并行加法器加法器的改进并行进位的并行加法器同时进位也就是利用低位的输入,可以直接得到进位但是显而易见,CiC_iCi的表达式越来越长,到4时..原创 2022-02-02 21:05:53 · 411 阅读 · 0 评论 -
浮点数运算
加减运算这两差不多,没啥强制类型转换这里是用的32位机器做的示例然后float到int的精度丢失在于,int无法表示小数进度主要看浮点数的尾数原创 2022-02-02 21:05:22 · 166 阅读 · 0 评论 -
浮点数表示
浮点数的表示浮点数的表示定点数在字节数固定时,表示范围有限,且我们不能无限制增加字节数科学计数法eg 3.026∗10113.026*10^{11}3.026∗1011+11 +3.026(阶符)阶码 (数符)尾数阶码E反映数值大小,使用补码或移码尾数M部分反映数值精度,使用原码或者补码当存储空间一定时,不同的存储方式会导致精度不同eg 3.026∗1011和0.003∗10143.026*10^{11} 和 0.003*10^{14}3.026∗1011和0.00原创 2022-02-02 21:04:50 · 1412 阅读 · 0 评论 -
数据的存储与排列
大小端模式比如做加法,是从低有效位开始计算,然后往高有效位进位边界对齐注意,现代计算机是按字节编址,按字、半字、字节寻址无论是字,还是半字,寻址时,转换成字节每次访存只能读/写一个字这里的每一行都是一个字,每次读取一行,就是 一个字边界对齐这种是空间换时间,会浪费空间,来进行填充边界不对齐,不需要填充,存储紧凑,但是在读取s时,因为s是半字,被分到两个字里,所以需要读取两次,时间变慢(固态有4k对齐的那个,应该就是差不多的类似)...原创 2022-02-02 21:04:17 · 104 阅读 · 0 评论 -
定点数乘除法
原码乘法这里 乘法算的是 数值位,符号位另算(异或运算),然后加上去每一次都是一位来乘法,用乘数的最高位(MQ的最低位)和被乘数相乘,将结果和ACC进行加法,再对ACC-MQ进行逻辑右移看上面的图,就知道它是怎么算的了,确实秒补码乘法这里多一个辅助位将MQ多扩展了一位所以最低位是原来MQ的最低位,而辅助位是目前的最低位同样的,ACC和X都是多了一位,为了和MQ一样ACC和X是双符号位的补码,而MQ是单符号位的补码右移是算数右移,用与符号位..原创 2022-02-01 21:19:07 · 909 阅读 · 0 评论 -
定点数的加减运算
补码转原码更快的方式:从高位起第一个1为分界线,左边数值位全部取反(符号位不变),右边不变,则可以得到最终的原码可能会发生溢出只需要考虑加法,因为最终都是加法分为上溢(>127)与下溢(<-128)异号不可能溢出正数+正数 上溢负数+负数 下溢溢出判断方法一:单符号位SsS_sSs 被加数符号、BsB_sBs加数符号、SsS_sSs结果符号V=AsBsSs‾+As‾Bs‾SsV=A_sB_s\overline{S_s}+\overline{A_s}\over.原创 2022-02-01 21:18:29 · 325 阅读 · 0 评论 -
定点数的移位运算
算数移位原码:符号位不变,仅对数值位移位,溢出丢弃,空缺补0右移时,丢弃位若为1,则丢失精度左移时,丢弃位若为1,则严重误差反码:正数是一样的;负数,空缺补1补码:因为加了一个1,所以对于从高位到低位,第一个1往高位,与原码相同;第一个1往低位,与反码相同于是,同反码部分补1,同原码部分补0-20 * 7 = -20 *(1+2+4) 移位+加法 = 乘法逻辑移位可以看做是对无符号数的移位都补0循环移位一般是,溢出的位补充空缺的位进位..原创 2022-02-01 21:17:35 · 578 阅读 · 0 评论 -
定点数表示 原码、反码、补码、移码
相对应的概念为浮点数浮点数:小数点位置不固定,浮动 9.96007 *10^2 科学计数法定点数:小数点位置固定:996.007无符号数无符号位数的绝对值0 - 2^n -1只有整数,没有小数有符号数定点整数,小数点在最后一位定点小数,小数点在符号位后(尾数:数值部分)原码:用尾数表示真值的绝对值,符号位 0/1对应正/负整数范围 −(2n−1)<=x<=2n−1-(2^n -1) <=x<=2^n-1−(2n−1)&l..原创 2022-02-01 21:16:00 · 773 阅读 · 0 评论 -
循环冗余校验码
约定 除数,传送余数除法是模2除法只看最高位然后模2减就是异或生成多项式就是除数,是约定好的当总位数+1<=2^校验位时,余数可以指示哪一个位置出错,从而纠错其中加1是对于000这种正确的状态一般用于检错一般用于计算机网络...原创 2022-02-01 21:14:08 · 204 阅读 · 0 评论 -
海明校验码
海明码是基于偶校验的扩展,将信息位分组进行偶校验海明码可以针对一位跳变,进行纠错(指明那一位出了错,就是纠错,因为非0即1)针对两位跳变,海明码可以检错海明码原理将所有的信息位分组,保证,所有的组都有一个全部重叠,都有一个不重叠,也就是2进制的分组每个分组一个校验位进行标识,总的bit数就是n+k (2^k > n+k)所有的校验位可以标识当前出错的一个bit这个原理和小白鼠试毒很像,也是分组,老鼠那里是10只老鼠试1000瓶药,一瓶有毒,2的10次方刚好可以表示1024,每个老鼠.原创 2022-01-31 21:22:54 · 549 阅读 · 0 评论 -
奇偶校验码
关于校验发现错误码字:若干位代码组成的一个字码间距离:两个码字逐位对比,不同位的个数码距:编码方案,各合法码字间的最小距离称为码矩左边码矩为1,右边为2,对于右边,若只发生了一位跳变,则一定会进入非法状态;而只有发生2位及以上的跳变,才会变成另外一种合法码字,让我们无法检测所以右边使用多bit来描述少状态,实际上是提高了码距,提高了检测错误能力,降低了合法跳变的可能d=1,无检错能力;d=2,有检错能力;d>=3时,若设计合理,可能有检错、纠错能力奇偶校验码浪费一.原创 2022-01-31 21:21:42 · 245 阅读 · 0 评论 -
数据表示与编码
数据表示与运算进位计数制2/8/162B16H 0X10D10 —2^n除留余法10–2将2的n次方列出来,然后快速的表示,例如260 = 256 + 4直值:符合人类习惯的数字机器数:数字实际存到机器里的形式,符号数字化BCD码每四个bit对应一个10进制数字,从而符合人类习惯浪费6个位置8421码5:01019: 1001加法:5+8 ,落在10-15区间内,加上一个6,向高位进1,从而实现9+9,也是加上6所以区间是 1010 -原创 2022-01-31 21:21:10 · 946 阅读 · 0 评论 -
计算机性能指标
存储器MAR位数:存储单元个数MDR:存储字长,每个存储单元的大小cpui主频:数字脉冲信号震荡的频率有的动作在一个周期内完不成,也很正常cpu动作的节奏cpu时钟周期主频与时钟周期互为倒数一定程度上反映性能,十分的直观CPI:Clock cycle per instruction 执行一条指令所需的时钟周期数不同指令cpi不同,甚至相同的指令执行两次,都可能不同,可能与当前状态有关这里是一个平均值IPS instructions per second 每秒执.原创 2022-01-31 21:20:09 · 134 阅读 · 0 评论 -
计算系统层次
这里的微指令,实际就是指令的多个子步骤,上面一节有说原创 2022-01-31 21:19:42 · 68 阅读 · 0 评论 -
计算机硬件细节
主存储器两个结构一一对应寄存器:存放数据,速度快字(看计算机)与字节(8bit)是不一样的字一般是8的k倍运算器ACC、MQ、X都是寄存器ALU成本最高控制器工作过程1-4 取指令5 分析指令6-8 执行取数指令取指令到分析指令,其实都是一样而且重复的之后的类似...原创 2022-01-31 21:18:47 · 73 阅读 · 0 评论 -
计算机硬件基本组成
冯诺依曼机存储程序概念提出:将指令预先输入存储器五大部件组成指令和数据同等地位,存储与存储器,可按地址寻访指令和数据用二进制表示指令由操作码和地址码组成存储程序以运算器为中心数据传送必须经过存储器数据计算效率变低对此,现代计算机结构进行改进,以存储器为中心,解放运算器生产力现代计算机结构进一步简化此处,辅存,例如硬盘,是属于I/O的;而主存,即内存,属于主机。它们都是 存储器。但存在主存和辅存的区别...原创 2022-01-31 21:17:58 · 174 阅读 · 0 评论 -
计算机发展历史
信息传递0/1表示信息通过电信号传递数据低电平、高电平 (电压高低)金属针脚来传递电信号通道cpu、内存等通过主板上的印刷电路传递信息计算机系统计算机系统 = 硬件 + 软件软件系统软件应用软件第一台计算机1946埃尼阿克冯诺依曼电子管纸袋第二代计算机晶体管:贝尔实验室成员肖克利退出贝尔、创建肖克利公司其公司八叛徒创立仙童半导体公司,发明集成电路摩尔等人离开仙童,创立intel桑德斯离开仙童,创立amd磁带原创 2022-01-31 21:17:16 · 72 阅读 · 0 评论 -
计算机组成原理 食用目录
本文为本人学习计算机组成原理的学习笔记目录,本系列会采用截屏、总结、分析等方式进行知识点的记录。所看视频为王道考研视频。刚好在入职之前,补一补计算机体系知识。慌慌张张一年,总算有时间干自己的事了,就趁这个寒假,把要做事之一的计算机组成原理给学了。...原创 2022-01-31 15:07:47 · 169 阅读 · 0 评论