例如二进制
小数点指数的是01234依次上去,例如 0就是2的-1次方,1是就是-2次方。
小数点前边的整数是01234依次下去,例如1就是2的4次方,0是2的3次发,1是2的2次发以此类推。
因为0乘任何数都是0所以0是不需要算权重的算1就可以了
这样就能把二进制转换为十进制
如七进制只需要把底数换成7就可以了
是什么进制就把底数换成什么进制的数即可
如果要把什么数转成什么进制就除什么数就可以了,如果转七进制就除七转十六进制就除16以此类推。注意一点,除到最后一个数还需要整除为0才可以。
Cache高速缓冲存储器,用来平衡CPU到主存之间速度不匹配的问题
主存是由硬件自动完成的,Cache存储主存中的部分数据从而实现平衡cpu和主存的速度
转换八进制每隔3个数就分割一段,高位不足3位数就补0。然后在通过二进制幂的方法,如第一段的110,1就对应2的1次发,第二个1就是2的2次放以此类推。
转成16进制就是1对4的关系
每4个数字取一位将4位二进制按幂相加就能得到对应的十六进制数。例如1110转换成10进制就是14然后通过16进制表示方法然后14就是转换成E
十六进制转换二进制也是同理
原码就是把一个数转成二进制的表达形式,就好比10进制数1转成二进制数还是1。那么就要在他的左边补上七个0将其补全,不够八位数的都要补全
00000001
最高位的符号位0就是代表正数。
10000001
对于负数而言符号位就是1.
原码在机器里面是不能直接参加运算的
反码的数值跟原码的数值是一样的。
先把符号位选出来,然后在原码的基础上按位取反。原码是0就改成1。
反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反,则得到这个数字的反码表示形式。
补码的表示方法是:
正数的补码就是其本身;
负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)
[+1] = [0000 0001]原= [0000 0001]反= [0000 0001]补
[-1] = [1000 0001]原= [1111 1110]反= [1111 1111]补
移码等于补码的符号位取反
移码是作用于阶码上的,移码的表示方法是:
正数的最高符号位用1表示;
负数的最高符号位用0表示;
其余原码位不变。
[+1]=[00000001]原 =[00000001]反=[00000001]补=[10000001]移
[-1]=[10000001]原=[11111110]反=[11111111]补=[00000001]移
如n=8,8就是8个比特位,代进去公式计算数值范围。就是-127~127但是如果是反码就是-128到127
xiangguan
反码的取值范围
冯诺依曼计算机的特点。
1.计算机由存储器,输入设备,输出设备,运算器,控制器五大部件组成
2.指令和数据以同等地位存于存储器,可按地址访问。
3.指令和数据用二进制表示。
4.指令由操作码和地址码组成。
5.存储程序。
6.以运算器为中心。
1.计算机由存储器,输入设备,输出设备,运算器,控制器五大部件组成
流水线的计算公式
高速缓存Cache他有以下特点:
1.他位于cpu和主存之间,他由硬件来实现容量小一般在几kb和几MB之间
2.速度比储存快5-10倍由快速的半导体制成,他的内容是组成内容的副本所以Cache是无法扩大组成的容量。
3.对于程序员来说他是透明的。
4.Cache既可以存放程序又可以存放数据,Cache存储器用于存放组成的部分拷贝内容。
5.控制部分的功能判断cpu要访问的信息,是否在catch储存器中,若在那就是命中,若不在即为没有命中。命中时可以直接对catch存储器寻址,未命中时则需要从主存中读取数据并且按照确定的替换算法把该数据重写写入catch存储器中,若是写入操作则将数据写入储存即可。
第0区的第0块到第m区的第0块都是指向我们主存储区的第0块,这就是直接映像
如果在Cache中没有命中,就会再次访问存储再次找到他的数据,那这样就要重新写入一个算法到组中重新替换数据
一个具有良好时间局部性的程序,被引用过一次的内存位置很可能在不愿的将来再被多次引用
在一个具有良好空间局部性的程序中,如果一个内存位置被引用了一次,那么程序很可能在不远的未来引用附近的一个内存位置。
小结
重复引用相同变量的程序有良好的时间局部性。
对于具有步长为K的引用模式的程序,步长越小,空间局部性越好。在内存中以大步长跳来跳去的程序空间局部性会很差。
对于取指令来说,循环有很好的时间和空间局部性。循环体越小,循环迭代次数越多,局部性越好
MAR地址寄存器影响储存的容量。
MDR是数据计算器他影响存储器的字长。
MAR存储的存储块有八个
MDR的字长就是四位
计算方式就是用C7FFFH减去AC000H+1就是他的长度
结果为1C000H
把1C000H转换成二进制
二进制结果=1 1100 0000 0000 0000
因为内存地址是字节,而题目要求是__K,所以要转换,字节转KB就要消掉10个零,因为K=2^10次方 然后题目需要我们换算成K个地址单元
里面的K指的是也就是KB,我们把上面的值换算后的结果就是
1C000H=1110000KB
十六进制的H=二进制的B
然后通过下列结果可知1k=2的10次方,我们这里有十个1 1100 00 | 00 0000 0000直接转换成K
选择题中的KB的K代表2的十次方
1k=2的10次方
1m=2的10次方k=2的20次方
1G=2的10次方m=2的20次方k=2的30次方
在把二进制的权结果相加起来即可就是结果
题目要求每个存储单元存储了多少位。
总的地址单元刚刚算出来是112K
拿总的地址单元去乘于内存地址单元16bit
112 * 16b=总的存储单元的位数
因为是由28片存储芯片构成然后每一片的存储芯片有16K的存储单元。
112/28=4B
3个R进行了并连,两个R也进行了并联然后通过一条线把他们串链起来。
先求三个R并联的可靠度。
(1-R)的3次方因为有3个部件
然后在用1-部件失效率的乘积就是
1-(1-R)3次方
第二个也是一样
1-R的2次方
1-(1-R)的二次方
最后把他们串联起来也就是把他们相乘
1-(1-R)的3次方
1-(1-R)的2次方
答案选B
基本概念
根据前驱图画出六个进程中是v先操作还是p先操作。
例如
先执行a然后在释放执行b。
然后在P2中 S2执行前要先保证a先执行完成了
P(a)先把a给锁定住,等a执行完成后在执行s2,执行后又释放Vc和Vd
【【2023软件设计师备考】软考中级 | 软件设计师考点理论精讲【零基础适用】】 【精准空降到 41:49】 https://www.bilibili.com/video/BV1Qc411G7fB/?p=11&share_source=copy_web&vd_source=af778914115b89f34cb4173246467e35&t=2509
把每个需要的数量相乘然后同时-1,在把第一个加上1让他刚刚好合适多出一个,然后第一个执行完成后会直接释放5个R出来这样就不会死锁
最大需求量-已分配资源数可得还需要资源的数量
只有02满足了剩下资源数的条件,等待P2执行完成后会释放全部的资源这样就可以给别的进程调用。
有均匀的思想,让每一块不至于每个分区过大也不至于过小
例题
状态位,访问位,修改位,1就是真0就是假。题目中1号没有访问过。
流水线的计算公式