软件设计师(一):计算机组成与体系结构

十进制转R进制使用短除法

结合C语言中的不同变量+之间的赋值,掌握变量的真值及其机器数值的表示

数据类型 类型标识符 所占用字节数
短整型 short 2
整型 int 4
长整形 long long 8
浮点型(单精度) float 4
浮点型(双精度) double 8
浮点型(高精度) long double 12
字符型 char 1
布尔型 bool 1

IEEE754标准单精度实型数的真值与机器数的表示,加减运算

浮点数表示

浮点数转换实例:

假定在一个程序中定义了变量X,Y,其中X是short型(补码表示),Y是float型(用IEEE754单精度标准表示),X的机器数是FFF1H,Y的机器数是4580 1000H,则变量X、Y的真值分别是多少p>

溢出

溢出的原因:运算结果超出数据表示范围

溢出的判断方法Ⅰ:进位

表示范围:

原码的表示范围

  • 原码整数:若机器字长为n+1 ,原码整数的表示范围:-(2的n次方-1)到(2的n次方-1)。
  • 真值0有正0与负0
  • 原码小数:若机器字长为n+1 ,原码小数的表示范围:-(1-2的-n次方)到(1-2的-n次方-1)。

补码

  • 正数:[X]补=[X]原
  • 负数:符 除外,各位取反,末位加1
  • [X]原=11001001 [X]补=10110111

设机器数字长为 8 位(其中一位为符 位)

  • 8位原码整数的表示范围127—-+127
  • 8位补码整数的表示范围128—-+127
  • n位补码整数的表示范围 1000…0——-011…1 —> -2n-1——2n-1-1
  • n位无符 整数的表示范围 0——-11111111 —> 0—–2n-1

浮点数的取值范围

运算的常见标志位

4、CISC与RISC

5.2 流水线计算

指令条数为100,流水线执行时间为203ns,所以流水线的吞吐率TP=100/203,流水线最大吞吐率是一种理想情况,即TPmax=1/2。(Δt=流水线周期=2ns)。

5.4 流水线加速比

6、层次化存储结构

主存可分为:随机存取存储器(RAM)和只读存储器(ROM)。对于这两种类型,一个明显的区别是:内存是属于RAM的,一旦断电之后,内存中的所有数据都将被清除掉,无法进行保存;而ROM在断电之后,仍然可以存储信息内容。

高速缓存中的地址映像方法:直接映像、全相联映像、组相联映像。

**直接映像:**指主存的块与Cache块的对应关系是固定的。优点是地址变换简单,缺点是灵活性差、Cache块冲突率高。

**全相联映像:**允许主存的任一块可以调入Cache存储器的任何一个块的空间中。优点是Cache块冲突率低、灵活性好,缺点是访问速度慢、地址变换较复杂、成本太高。

**组相联映像:**是前两种方式的折衷方案,即组采用直接映像方式、块采用全相联映像方式。

Cache(高速缓存)是什么样的strong>

  • Cache是一种小容量高速缓冲存储器,它由SRAM组成。
  • Cache直接制作在CPU芯片内,速度几乎与CPU一样快。
  • 程序运行时,CPU使用的一部分数据/指令会预先成批拷贝在Cache中,Cache的内容是主存储器中部分内容的映象。
  • 当CPU需要从内存读(写)数据或指令时,先检查Cache,若有,就直接从Cache中读取,而不用访问主存储器。

Cache映射(Cache Mapping)

  • 什么是Cache的映射功能p>

    • 把访问的局部主存区域取到Cache中时,该放到Cache的何处li>
    • Cache行比主存块少,多个主存块映射到一个Cache行中
  • 如何进行映射p>

    • 把主存空间划分成大小相等的主存块(Block)
    • Cache中存放一个主存块的对应单位称为槽(Slot)或行(line),有书中也称之为块(Block)
  • 将主存块和Cache行按照以下三种方式进行映射

    • 直接(Direct):每个主存块映射到Cache的固定行
    • 全相联(Full Associate):每个主存块映射到Cache的任一行
    • 组相联(Set Associate):每个主存块映射到Cache固定组中任一行

cache行和主存块之间的映射方式

  • 容易实现,命中时间短

  • 无需考虑淘汰(替换)问题

  • 需要频繁的将Cache装入

  • 不够灵活,Cache存储空间得不到充分利用,命中率低

全相联映射:Cache的地址映射中,若主存中的任一块均可映射到Cache内的任一块的位置上。

题目:主存容量为512KB(2的19次方),Cache容量为4KB(2的12次方) ,每个字块为16个字,每个字32位.

有题目得每个字块是16*32bit 2的9次方,所以主存块数是2的10次方 缓存的块数为2的3次方。

  • 在直接映射方式下,主存的第几块映射到Cache的第4块(设起始字块为0)

    答:4、2的n次方+4……

  • 画出直接映射下,主存地址字段中各段的位数

    7、局部性原理

    参考答案:磁盘的旋转周期为33ms,表示旋转一圈耗时33ms,一共有11个记录,可以理解为读取1个记录消耗的时间为3ms。

    若采用单缓冲区顺序处理(如上图中的大圈),当我们把R0读取单缓冲区时,此时磁头跑到了R1的起始位置,但是此时是不能读取R1的,因为R0占用着缓冲区(还未处理完),所以新的记录是进不来的。当我们处理完缓冲区中的R0之后,花费了3ms,此时磁头已经跑到了R2的起始位置,但是我们接下来想要处理的应该是R1,所以这个时候磁头会一直转动,直到转过一圈,再次跑到R1的起始位置时,才可以处理R1。所以我们处理一个记录R0,一共耗时为:一个记录+一圈,也就是3+33=36ms。从R0到R9都是同样的道理,所以共耗时:36*10=360ms,而对于R10,我们就可以直接读取并处理,耗时为6ms,所以总共耗时为360+6=366ms。

    若对信息存储进行优化分布(如上图中的小圈),先看大圈,我们处理R0的时候,磁头跑到了R2,此时我们将R2假设为R1;而处理完R1之后,磁头跑到了R4,此时我们将R4假设为R2,以此类推,就得到了上图中的小圈。这样下来,就没有任何的时间浪费,那么读取和处理分别耗时3ms,也就是处理完一个记录耗时3+3=6ms,一共11个记录,总共耗时6*11=66ms。

    9、总线

    并联系统的可靠性(R)与失效率(μ)

    11、差错控制

    12、输入输出技术

    12.1 直接程序控制

    直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这种方法分为:无条件传送和程序查询方式两种情况。

    无条件传送:在此情况下,外设总是准备好的,它可以无条件的随时接收CPU发来的输出数据,也能够无条件的随时向CPU提供需要输入的数据。

    程序查询方式:在这种方式下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。

    12.2 中断方式

    对于程序控制I/O的方法,其主要的缺点在于CPU必须等待I/O系统完成数据的传输任务,整个系统的性能严重下降。

    利用中断方式完成数据的输入/输出过程为:当I/O系统与外设交换数据时,CPU无需等待也不必去查询I/O的状态,而可以抽身出来处理其他任务。当I/O系统准备好了以后,则发出中断请求信 通知CPU,CPU接到中断请求信 后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被中断的程序继续执行。

    与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。

    12.3 直接存储器存取方式(DMA)

    在计算机与外设交换数据的过程中,无论是程序控制方式,还是中断方式,都需要CPU通过执行程序来实现,这就限制了数据的传送速度。为进一步提高相应的速度,我们引入了DMA。

    DMA是指数据在内存与I/O设备间(通俗的说,就是主存与外设)的直接成块传送,即在内存与I/O设备间传送一个数据块的过程,不需要CPU的任何干涉,只需要CPU在过程开始时启动、在过程结束时处理,实际操作全部由DMA硬件自动执行完成,CPU在此传送过程中可以去做别的事情。

    12.4 输入/输出处理机(IOP)

    DMA方式的出现减轻了CPU对I/O操作的控制,使得CPU的效率显著提高。而通道方式的出现则进一步提高了CPU的效率。通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。

    通道方式大大提高了CPU的工作效率,然而这种效率的提高是以增加更多的硬件为代价的。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月6日
下一篇 2022年9月6日

相关推荐