课堂笔记 2024/10/9
计组
概述
CPI:表示执行一条指令所需的时钟周期数。
对于一个程序或一台机器来说,其CPI指该程序或该机器指令集中的所有指令执行所需的平均时钟周期数,此时,CPI是一个平均值。
程序总时钟周期数=程序所含指令条数*CPI。如果有n种不同指令,程序总时钟周期数=
执行时间=时钟周期数*时钟周期=时钟周期数/时钟频率
数据的机器级表示
定点表示
1.定点整数
2.定点小数
浮点数表示
定点数编码表示
定点数编码表示方式:原码、补码、反码和移码。
原码=符号位+数值位
补码可以实现加减运算的统一,即用加法来实现减法运算。
实数的表示(计算机中专门用浮点数来表示实数)
IEEE754浮点数标准
阶码:移码/补码
尾数:原码/补码
教材上将指数的移码表示称为阶码。为什么用移码表示指数?因为指数可以是正数,也可以是负数,当进行浮点数加减计算时,必须先对阶(比较两个数的阶的大小并使之相等)。
规格化
为什么要规格化?浮点数尾数的位数决定浮点数的有效位数,有效位数越多,数据精度越高。要尽可能保留有效数字的位数,使有效数字尽量占满尾数数位。
尾数用原码表示,第一位总是1,因而可以忽略第一位的1,称为隐藏位。
隐藏小数点后第一位0 1、1 0
定点数运算
补码加减法
以及判断溢出方法
原码乘法
下图是手算乘法
下图是原码乘法
因为[Y]原=1.10111,所以Y0从低位开取,分别是1,1,1,0,1。(或者说C里面存的原来渐渐被挤掉的[Y]原的低位)
如果Y0=0,不用加[X]原,因为这一位0与[X]原一定等于0,0*任何数=0。
补码乘法
乘数 y 首先在末尾添加一个辅助位 0 ,每次讨论都是取 y 的最后两位,但每次移动仅移动一位。
判断 y 的最后两位是规则如下:
- 00或者11时,直接右移一位;
- 01时,先加x的补,然后右移一位;
- 10时,先加-x的补,然后右移一位。
参考资料
[计算机组成原理] Booth算法 —— 补码一位乘法 - 中年二班 - 博客园 (cnblogs.com)
关于双符号位
1.溢出检测:双符号位能够容易地检查加、减运算中的溢出情况。
2.符号表示:双符号位还用于表示数值的符号。例如,00表示正号,11表示负号。
3.上溢与下溢的判别:上溢发生在两个同符号的数相加(或相异符号数相减)时,运算结果超出所能表示的数据范围。
这里题目[X]原=1.01001,负数从原来的1.变成11.。
数据校验码
概念
数据在计算机内部进行计算、存取和传送过程中,由于元器件故障或噪音干扰等原因会出现差错。
冗余校验思想:除原数据信息外,还增加若干位编码,这些新增的代码称为校验位。
两个合法代码对应位上编码不同的位数称为码距,又称海明距离。
任意两个码字的海明距离的最小值称为该编码集的海明距离。
| 检查纠错位数 | 码距 |
|---|---|
| 检e位 | d>=e+1 |
| 纠e位 | d>=2e+1 |
| 纠e1位、检e2位 | d>=2*e1+e2+1 |
奇偶校验码
通过增加冗余位使得码字中1的个数恒为奇数或偶数的编码方法,是一种检错码。
码距=2
海明校验码
将有效信息按某种规律分成若干组,每组安排一个校验位,做奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正。实质上,海明校验是一种多重校验。
规则:
- 如果故障字各位都是0,无故障。
- 如果故障字有且仅有一位1,校验位有一位错了,不用纠正。
- 如果故障字有多位1,数据位出错,由故障字数值确定出错位,然后取反就可以纠错。
下图为校验位数的确定
下图为分组方式(n=8、k=4)
由表可知,每个数据位至少要参与两组奇偶校验码的生成。如M5与第一组(P1)和第四组(P4)有关。
循环冗余校验码(CRC码)
M(x)为n位二进制数据,将M(x)左移k位,用约定的生成多项式G(x)相除(G(x)是一个k+1位的二进制数),相除得到的k位余数就是校验位。
检验:如果接收到的数据和校验码位用同样的生成多项式G(x)相除,若正好除尽,没有错误;除不尽,有错误。
二进制的计算(补充)
求CRC码
CRC码检错例题
CRC码出错模式
(n=11,k=4为例)余数右加0再除多项式二进制取余数
加法器
笔记
下图为1位全加器逻辑电路图
下图为n位串行进位加法器
下图为并行进位全加器FA1~FA4的逻辑电路图
总结
串行进位加法器
并行进位加法器(两种)
- 组内并行组间串行
- 组内并行组间并行
延迟时间:组内并行组间并行<组内并行组间串行<串行进位加法器
复杂程度:组内并行组间并行>组内并行组间串行>串行进位加法器
原码除法运算
手算除法运算
(以定点小数为例,被除数绝对值必须小于输出绝对值)
恢复余数除法
(若ri<0,部分余数+除数,恢复余数)
补充:例题的符号位由0,1异或得出1
不恢复余数除法
上面两题答案一样
浮点数运算
浮点数加减法运算
浮点数乘法运算
指令系统
指令系统设计
固定长度操作码编码
可变长度操作码编码
寻址方式
操作类型
算术和逻辑运算指令
移位指令
传送指令
串指令
顺序控制指令
CPU控制指令
输入输出指令
指令系统
按照指令格式复杂度来分
MIPS
MIPS指令格式和寻址方式
习题
习题
1GHz=10^9Hz
结果应该小数点后移一位
单周期处理器设计
11条指令
总体结构
ALU(书P155...)和取指令部件
ALU(略写)参考书P155
PC=xxx...x00(30个x+2个0)
PC+4:意味着指向下一个指针
多周期处理器设计
.....前面不写了(指令系统、数据通路、控制单元...)
微命令编码
1.直接控制法
2.字段直接编码法
微指令地址的确定
1.计数器法
2.断定法
存储器
SRAM:存取时间=存取周期
DRAM:存取时间<存取周期
芯片的扩展
1.字扩展
2.位扩展
3.字位同时扩展
Cache
cache和主存的映射关系
cache中主存块的替换算法
命中率
习题1
习题2
外部存储设备
硬盘存储器
互连
程序中断和DMA![]()
习题
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
设写入磁盘存储器的数据代码是 10110111000010012,分别画出不归零制(NRZ)、 不归零-1 制(NRZ-1)、调相制(PE)、调频制(FM)和改进型调频制(MFM)等几种记录方 式的写电流波形,并指出哪些记录方式具有自同步能力。
参考【计算机组成原理】NRZ1、PM、FM、MFM的写电流波形及特点-CSDN博客
11.
某计算机系统的主存储器为 0000~1FFFH 的 ROM 地址空间,现在需要增加一个 16K×8 位的 RAM 地址空间,其起始地址为 2000H。可选用的 RAM 芯片为 8K×4 位, 芯片本身具有片选CS和写使能 WE 等控制信号。此外 CPU 提供了 16 条地址线 A15~A0 和 8 条数据线 D7~D0,以及 R/ W (读/写)、MREQ (存储器访问请求)等控制信号线。请 设计出 CPU 与 RAM 存储器连接的逻辑结构图。
片数:(16K*8)/(8K*4)=4片
12.
某硬盘存储器有 2 片盘片,每个盘片有两个记录面,存储区域内径 3 厘米,外径 8 厘米,道密度为 5000 道/厘米,最内圈磁道位密度为 60000 位/厘米,每个磁道划分为 128 个扇区,每个扇区 512 个字节,转速为 7200 转/分钟。试问: ①共有多少个存储面可用? ②共有多少个柱面可用? ③该硬盘存储器的非格式化容量是多少? ④该硬盘存储器的格式化容量是多少? ⑤在对硬盘读写时的数据传输率是多少?
非格式化容量通常大于格式化后的可用容量。
( 1 字节等于 8 位,而 1 GB 等于
字节)
①共有 2×2=4 个存储面可用。
②共有(8 厘米-3 厘米)/2×5000 道/厘米=12500 个柱面可用。
③非格式化容量为 3 厘米×π×60000 位/厘米×12500 道/面×4 面=3.29GB。
④格式化容量为 512 字节/扇区×128 扇区×12500 道/面×4 面=3.05GB。
⑤数据传输率为 512 字节/扇区×128 扇区×7200 转/分钟=7.5MB/s。
13.?
假定计算机系统需要容量为512字节RAM和512字节ROM的存储器。使用的RAM 芯片为 128 字×8 位,ROM 芯片为 512 字×8 位。RAM 芯片有CS及 WE 控制端,ROM芯片有CS控制端,CPU 有地址线 A15~A0,数据线 D7~D0,读写控制线 R/ W 等。试确 定各存储器芯片的地址空间,指出存储器以及各存储器芯片需要的地址线数量,并画出存储器与 CPU 的连接图
14.
已知 x 和 y 的补码,请用补码一位乘法计算 x·y 的补码。
①[x]补=0.100112,[y]补=1.010112
②[x]补=1.001012,[y]补=1.100102
15.
已知 x 和 y 的原码,请用原码不恢复余数除法计算 x/y 的原码。
①[x]原=0.100112,[y]原=1.111012
②[x]原=1.101112,[y]原=1.110112
16.
CPU 的内部结构如图 6-1 所示,如果指令系统中有加、减、乘、除四种算术运算指令,每种指令的第一个地址码均为寄存器 R1,而第二个地址码有关于 R2 的寄存器寻址、 寄存器间接寻址和关于 mem 的存储器直接寻址这三种寻址方式,试设计一个包含这四种指令执行过程的流程图。
17.
图 6-2 是采用双总线结构的 CPU 内部数据通路,图中 IR 为指令寄存器,PC 为程 序计数器,M 为主存储器,MAR 为主存地址寄存器,MDR 为主存数据寄存器,ALU 由+、-控制信号决定完成何种操作,控制信号 G 控制一个门电路。一些传输线上标注了控制信 号,下标中有 in 的表示寄存器输入控制信号,下标中有 out 的表示寄存器输出控制信号, 未标注名称的信号线为直通线,不受控制。
①“ADD R1,R2”指令完成 R1+R2→R1的操作,请画出其指令周期流程图,并列出相应的控制信号序列。
②“SUB R0,R3”指令完成 R0-R3→R0的操作,请画出其指令周期流程图,并列出相应的控制信号序列。
软工
数据流图设计原则
1.父图与子图的平衡原则
2.数据守恒原则
3.守恒加工原则
参考大佬文章 我的软考之路(八)——三大原则学会数据流图-腾讯云开发者社区-腾讯云 (tencent.com)
数据字典
例题:某电话可以拨分机号和外线号码。分机号是从7201至7299。外线号先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455、466、888、552中任意一个号码。分局号是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。
电话号码=分机号|外线号码
分机号=[7201|7202|7203|…|7297|7298|7299]
外线号=9+[市话号码|长话号码]
长话号码=区号+市话号码
区号=[100|101|102|…|298|299|300]
市话号码=局号+分局号
局号=[455|466|888|552]
分局号=4{数字}4
数字=[0|1|2|3|4|5|6|7|8|9]
成本/效益分析(经济可行性研究)
假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内能节约5000元。3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率。
数据流图
例
自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFD图,并写出数据词典中的数据流条目。
操作系统
1.
操作系统:是一种系统软件,是由若干程序所组成的集合,它负责计算机系统的全部软件、硬件资源分配、调度和管理,使系统高效、安全地运行,并为用户提供简单、直观、灵活的接口,以便用户使用计算机系统。
操作系统功能:处理机管理、存储管理、设备管理、文件管理、用户接口
操作系统类型:
批处理操作系统
分时操作系统
实时操作系统
个人计算机操作系统
网络操作系统
并行操作系统
分布式系统
操作系统特征:并发性、共享性、虚拟性、不确定性
2.
引入线程原因:
提高系统内程序执行的并发程度
减少进程切换所需时间
提高系统的处理能力
在多处理机系统中,线程能更好地刻画程序执行的并行特性,充分发挥多处理机的优势。
3.
进程的描述:进程的组成、进程控制块、进程上下文与进程上下文切换、进程空间
进程的组成:
(1)进程的进程控制块(PCB Process Control Block)
(2)有关程序段
(3)相应的数据结构集
(PCB包括有关进程的描述信息、控制信息和资源信息等,是进程动态特征的集中反映。)
进程上下文:进程的物理实体与支持进程执行的物理环境的合称。
进程上下文切换:进程上下文切换发生在不同的进程之间而不是同一个进程内。
进程空间或虚空间:进程拥有的自己生存的地址空间,该空间由一些连续或不连续的存储块所组成,主要用于存储相应的进程映像。(划分为用户空间和系统空间。)
进程的特征:
动态性、并发性、独立性、异步性
① 程序是静态的概念,进程是动态的概念;
② 进程是一个独立运行的活动单位;
③ 进程是竞争系统资源的基本单位;
④进程具有并发特征,而程序没有;
⑤一个程序可以对应多个进程,一个进程至少包含一个程序。
进程的状态及转换:
就绪、执行、阻塞
执行:获取到运行必备的资源、程序正在处理机上执行
阻塞:等待某个事件的发送暂停执行、即使现在给他CPU控制权,也没法执行
就绪:获得除CPU之外的所有资源,一旦获得CPU控制权就可以立刻执行
