软件设计师之计算机系统基础知识

**

一、软件设计师之计算机系统基础知识**

(注:此篇博客针对自己在做题时的错误对一些难点和易错点进行列举)
1、负整数的三码转换
(1)原码转反码:符号位不变,数值位分别按位取反。
eg. X= -110 1001
X原=1110 1001
X反=1001 0110
(2)反码转原码:符号位不变,数值位分别按位取反。
(3)原码转补码:符号位不变,数值位分别按位取反,并在末尾加1。
eg.X=-110 1001
X原=1110 1001
X反=1001 0110
X补=1001 0111

 (*补充:各类运算都可以采用补码进行,特别是对于有符号数的运算。在计算机中设计补码的目的一是为了使符号位能与有效值部分一起参加运算,从而简化运算规则,使运算部分更简单;二是为了使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。因此在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计。*)

2、机器字长为n时各种码制表示的带符号数的范围

在这里插入图片描述
注:补码表示的0与原码和反码不同!
-0的补码为0000 0000
+0的补码为0000 0000

这里可以知道,在表示数据的时候,补码比原码少了一个-0,而由于表示数据所用的位数是一样的,也就是能表示的整数的个数不会变,所以补码会比原码和补码多表示一个数

3、码距与检错、纠错的关系
(1)在一个码组内为了检测e个误码,要求最小码距应该满足:d>=e+1
(2)在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1

4、Flynn分类法
(1)单指令流单数据流(SISD)——传统的计算机包含单个CPU,它从存储在内存中的程序那里获得指令,并作用于单一的数据流(本例中就是一个指令处理一条数据)。
(2)单指令流多数据流(SIMD)——单个的指令流作用于多于一个的数据流上。例如有数据4、5和3、2,一个单指令执行两个独立的加法运算:4+5和3+2,就被称为单指令流多数据流。SIMD的一个例子就是一个数组或向量处理系统,它可以对不同的数据并行执行相同的操作。
(3)多指令流单数据流(MISD)——用多个指令作用于单个数据流的情况实际上很少见。这种冗余多用于容错系统。(注:此结构类型属于理论模型,未见成形产品
(4)多指令流多数据流(MIMD)——这种系统类似于多个SISD系统。实际上,MIMD系统的一个常见例子是多处理器计算机,如Sun的企业级服务器。

5、判断溢出的三个方法
溢出的概念:溢出是指运算结果超出机器数的表示范围。从这个概念可以了解到,两个异号数相加不会产生溢出,仅两个同号数相加时蔡有可能产生溢出。
(1)溢出判断逻辑一……操作数符号位
溢出

Fa,Fb—加数,被加数符号位

Fs—运算和符号位

(2)溢出判断逻辑二……产生进位
溢出=Cf⊕C=1

Cf—符号位运算产生的进位

C —最高有效位产生的进位

(3)溢出判断逻辑三……变形补码
单符号位的信息量只能表示两种可能,数为 正或为负,如产生溢出,就会使符号位含义产 生混乱。将符号位扩充到二位,采用变形补码 (或称模4补码),就能通过符号位直接判断 是否溢出。变形补码为:{符号位,原数}

变形补码用00表示正,11表示负。 计算结果符号位为:

00—结果为正,无溢出;
11—结果为负,无溢出;
01—结果为正溢出;
10—结果为负溢出;

溢出=Fs1⊕Fs2

注意:数据在主存中仍为单符号,运算时传送 到运算器时扩充成双符号,运算结束后紧缩成 单符号位存入主存中。

原理
对于有符号数相加,产生溢出的情况只可能是两个正数相加或两个负数相加。

逻辑一表示:两个正数相加得到了负数或两个负数相加得到了正数

逻辑二表示:最高有效位产生进位,若结果位正数,则溢出,若为负数,则不溢出

逻辑三表示:若双符号的两位不同,则无法用符号位表示最高位,无法压缩为单符号位

6、存储器相关

存储器是计算机(包括微机)硬件系统的重要组成部分,有了存储器,计算机才具有“记忆”功能,才能把程序及数据的代码保存起来,才能使计算机系统脱离人的干预,而自动完成信息的处理功能。存储器的三项主要性能指标是容量、速度和成本。存储器的存取速度直接决定了整个计算机的运行速度,因此,存取速度是存储系统的重要性能指标之一。

主存储器:指的是主板上的存取部件,是CPU直接与之沟通,并用其存储数据的部件。
主存储器通常分为RAM(Random Access Memory随机存取存储器)和ROM(Read-Only Memory只读内存),RAM可读可写,ROM只读不写。

主存与CPU之间的硬连接。主存与CPU的硬连接有三组连线:地址总线(AB)、数据总线(DB)和控制总线(CB)

寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快途径。寄存器是CPU内部的原件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。寄存器是CPU为了运算,必须要有的临时存放数据的器件;而cache是为了弥补CPU和内存上的差异设置的缓存。显然cache的速度在寄存器register与内存之间。

7、I/O设备和CPU之间的数据传送控制方式
常用的控制方式有四种分别为程序直接控制方式、中断控制方式、DMA方式和通道方式。
在这里插入图片描述
8、计算题部分错题总结
(1)若内存按字节编址,用存储容量为16Kx8位的存储器芯片构成地址编号B0000H~EFFFFH的内存空间,则至少需要___片。
A.8 B.10 C.12 D.16
解析:首先算出B0000H~EFFFFH的内存大小空间,即为EFFFFH-B0000H+1=40000H,转换为二进制为100 0000 0000 0000 0000,即为2的18次方,即为256KB,因为按字节编址,16Kx8位的芯片即为16Kx1字节的芯片,所以256KB/16KB=16,故答案为B。

(2)设用2Kx8位的存储芯片组成16Kx8位的存储器(地址单元位0000H~3FFFH,每个芯片的地址空间连续),则地址单元0B1FH所在的芯片的最小地址编号为____
A.0000H B.2800H C.2000H D.0800H
解析:组成16Kx8位的存储器需要8个2Kx8的存储芯片,故高3位为片选地址,后11位为片内地址,0B1FH用二进制表示为00 1011 0001 1111,故高3位为001,所以最小地址的二进制为00 1000 0000 0000即0800H。故答案选D.

(3)高速缓存cache与主存间采用全相连映射方式,高速缓存的容量为4MB,分为4块,每块1MB,主存容量256MB。地址变换表如图所示,则主存地址为8888888H时,高速缓存地址为___
0 38H
1 88H
2 59H
3 67H
解析:由于高速缓存的容量为4MB,分为4块,所以22位长地址中前两位位块号,后二十位为块内地址。主存容量为256MB,所以主存块号为28-20=8位,块内地址为20位,,主存地址8888888H化为二进制数为1000 1000 1000 1000 1000 1000 1000,其中斜体为块号88H,加粗为块内地址88888.查表得Cache对应的块号为1H,所以高速缓存的地址为188888H。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值