计算机系统是由硬件和软件组成的,它们协同工作来运行程序。计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。运算器、控制器等统称为中央处理单元(CPU )。
CPU 是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。
存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度高、容量小,一般用于临时存放程序、数据及中间结果。而后者容量大、速度慢,可以长期保存程序和数据。
输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。
作用:获取程序指令、对指令进行译码并执行。
(1)程序控制
(2) 操作控制
(3)时间控制
(4)数据处理
进制 | 数码 | 基数 | 位权 |
---|---|---|---|
十进制(D) | 0,1,2,3,4,5,6,7,8,9 | 10 | 10k |
二进制(B) | 0,1 | 2 | 2k |
十六进制(H) | 0~9,A,B,C,D,E,F | 16 | 16k |
10100.01 = 124+1 * 22+12-2
原码:最高位符号位,其余低位表示数值的绝对值
反码:正数反码是原码本身,负数反码原码取反(符号位不变)。
补码:正数的补码与原码相同,负数的补码是其反码末位加1(符号位不变)。
移码:补码的符号位按位取反。
整数 | 定点整数 | 数码个数 |
---|---|---|
原码 | —(2n-1-1) ~ 2n-1-1 | 2n-1 |
反码 | —(2n-1-1) ~ 2n-1-1 | 2n-1 |
补码 | —2n-1~2n-1-1 | 2n |
移码 | —2n-1~2n-1-1 | 2n |
补码、移码有人为定义,“0”的表现形式只有一种形式。
eg: 1. 采用n位补码(包含一个符号位)表示数据,可以直接表示数值( D )。
A、2n
B、-2n
C、2n-1
D、-2n-1
**补码有人为定义,当n=3时,-2n-1可以表示为 -4 **
A、72 B、-56
C、56 D、111
90H=10010000(补码),第一个“1”是符号位,而判断X的真值是通过原码判断。
90H 的反码:10001111,90H的原码:11110000,第一位是符号位。再由二进制转换为十进制。
2X=-(1* 26 + 1 * 25 +1*24+0+0+0+0)=-112
特点:
1、一般尾数用补码,阶码用移码
2、阶码的位数决定数的表示范围,位数越多范围越大
3、尾数的位数决定数的有效精度,位数越多精度越高
4、对阶时,小数向大数看齐
5、对阶是通过较小数的尾数右移实现的
eg:利用IEEE754标准将数176.0625表示为单精度浮点数。
解: (176.0625) = (10110000.0001)
1.01100000001=27
E=7+127=134=10000110
单精度表示为:0 10000 110 01100000001000000000000
1) 关系运算符及其优先次序
< (小于)、<=(小于等于)、 >(大于)、 >=(大于等于)优先级相同(高);
==(等于)、!=(不等于)优先级相同(低)
注:
逻辑或:全为零才取0;
逻辑与:全为1才取1;
异或:不同取1,相同取0;
非:取反。
扩大码距进行校验。
奇偶校验码编码方式是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。
奇校验:整个校验码(有效信息和校验位)中“1”的个数为奇数。
偶校验:整个校验码(有效信息和校验位)中“1”的个数为偶数。
注:奇偶校验,可检查1位(奇数个数据位出错)的错误,不可纠错。
可检错,不可纠错,不受奇偶位数。
优点:即可检错,又可纠错。
求取公式:2r>=m+r+1,其中r是最小值,m是信息位的个数
海明码利用奇偶性进行检错和纠错。
立即寻址方式
特点:操作数直接在指令中,速度快,灵活性差
直接寻址方式
特点:指令中存放的是操作数的地址
间接寻址方式
特点:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
寄存器寻址方式
特点:寄存器存放操作数
寄存器间接寻址方式
特点:寄存器内存放的是操作数的地址
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store 操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑(电路)控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
CISC:复杂,指令数量多,频率差别大,多寻址
RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线
1.概念
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
取指 ——> 分析 ——> 执行
相关计算:**流水线执行时间计算,流水线吞吐量、**流水线加速比(中级不涉及)、流水线效率(中级不涉及)
2.计算
流水线执行时长及周期
流水线周期为执行时间最长的一段
流水线计算公式为:
1条指令执行时间+(指令条数-1) 流水线周期*
理论公式:(t1+t2+……tk)+(n-1) t(默认使用)*
实践公式(k+n-1)△t(k表示分的部分数,n表示条数,t表示流水线周期)
eg:一条指令的执行过程可以分解为取指、分析、执行;在取指时间t 取指=3△t、分析时间t 分析=2△t、执行时间t 执行=4△t的情况下,若按串行方式执行,则10条指令全部执行完需要( 90 )△t;若按流水线的方式执行,流水线周期为( 4 )△t,则10条指令全部执行完需要( )△t。 解:串行方式执行即顺序执行,一条指令周期为3+2+4=9,所以10条需要90; 流水线执行:以 最长的执行时间为周期,所以周期为4; 10条:9+(10-1)*4=45;或3+2+10*4=45; 若理论公式没有答案,用实践公式:3*4+(10-1)*4=48
流水线吞吐率计算
流水线吞吐率(TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算公式: T P = 指令条数 流水线执行时间 TP=\frac{指令条数}{流水线执行时间} TP=流水线执行时间指令条数
eg:一条指令的执行过程可以分解为取指、分析和执行三步,取指时间t 取指=3△t、分析时间t 分析=2△t、执行时间t 执行=4△t。10指令的吞吐率?最大吞吐率? 解:吞吐率:TP=指令条数/流水线执行时间=10/45△t 最大吞吐率即流水线周期的倒数;即1/4△t
局部性原理是层次化存储结构的支撑;
时间局部性:刚被访问的内容,立即又被访问。
空间局部性:刚被访问的内容,临时的空间很快被访问。
存储器分类
存储位置——内存&外存
存取方式
1)按内容存取:相联存储器(如Cache)
2)按地址存取
工作方式
1)随机存取存储器RAM(如内存DRAM(动态)、SRAM(静态))掉电丢失。
2)只读存取器ROM(如BIOS),掉电保留,数据不会丢失
在计算机的存储系统中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)。
使用Cache改善系统性能的依据是程序的局部性原理。(时间局部性、空间局部性)
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读取操作为例,使用“Cache+主存储器”的系统平均周期为t3,则:t3=h*t1+(1-h) *t2,其中,(1-h)为失效率(未命中率)。
映像
直接相联映像:硬件电路较简单,但冲突率较高。
全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低。
组相联映像:直接相联与全相联的折中。
注:主存与Cache之间的地址映射由硬件直接完成。
eg:以下关于Cache(高速缓冲存储器)的叙述中不正确的是( A )
A、Cache的设置扩大了主存的容量
B、Cache的内容是主存部分内容的拷贝
C.、Cache的命中率并不随其容量增大线性地提高
D、Cache位于主存与CPU之间
在程序执行过程中,高速缓存(Cache)与主存间的地址映射由( D )
A、操作系统进行管理
B、存储管理软件进行管理
C、程序员自行安排
D、硬件自动完成
存储单元
存储单元个数=最大地址-最小地址+1
编址内容
按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字按字节编址:存储体的存储单元是字节
存储单元,即最小寻址单位是一个字节。
总容量=存储单元个数*编址内容(地址范围、编址内容==>总容量)
根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,
即:总片数=总容量/每片的容量
内存按字节编址,地址从A0000H到CFFFFH的内存。共有( D )字节,若用存储容量为64K×8bit的存储器芯片构成该内存空间,至少需要( B )片。 A、80KB B、96KB C、160KB D、192KB A、2 B、3 c、5 D、8 解: 存储单元个数=最大地址-最小地址+1; 总容量=存储单元个数*编制内容; 总容量=单位芯片容量*总片数; 存储单元个数:(CFFFFH+1)-A0000H=D0000H-A0000H=30000H,转换成十进制:3*16 4; z总容量:3*16 4*8bit/2 10KB; 补充:1K=2 10 1M=2 10K=2 20 1G=2 10M=2 20K=2 30 总片数:3*2 6KB/64K*8bit=3
程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/o能力不高,严重影响CPU的利用率。
**程序中断方式:**与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。CPU与数据传输并行.
中断处理过程:
CPU无需等待也不必查询I/o状态。
当I/O系统准备好以后,发出中断请求信号通知CPU;
CPU接到中断请求后,保存正在执行程序的现场(保存现场(栈)),打断的程序当前位置即为断点;
(通过中断向量表)转入I/O中的服务程序的执行,完成I/O系统的数据交换;
返回被打断的程序继续执行(恢复现场)。
**DMA方式:**DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。
(DMAC向总线裁决逻辑提出总线请求**;CPU执行完当前总线周期即可释放总线控制权。**此时DMA响应,通过DMAC通知I/O接口开始DMA传输。)
通道方式
I/O处理机
注:处理效率越来越高。
一条总线同一时刻仅允许一个设备发送,但允许多个设备接收(分时双工)。
总线的分类:
数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线(Address Bus):用来指定在RAM (Random AccessMemory)之中储存的数据的地址。
控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备。
软件可靠性是指系统在给定的时间间隔内、在给定条件下无失效运行的概率。若MTTF和MTTR分别表示平均无故障时间和平均修复时间,则公式( A )可用于计算软件可靠性。 A、MTTF/(1+MTTF) B、1/(1+MTTF) C.MTTR/(1+MTTR) D、1/(1+MTTR)
平均每条指令的平均时钟周期个数(CPI)
每(时钟)周期运行指令条数(IPC)
每秒百万个浮点操作(MFLOPS)
百万条指令每秒(MIPS)
eg1: 软件质量属性中,()是指软件每分钟可以处理多少个请求。 A、响应时间 B、吞吐量 C、负载 D、容量 注:响应时间:指提交请求到系统响应的时间; 吞吐量:指软件每分钟可以处理多少个请求; 负载:终端同时处理的请求数;
eg2:
解:加权平均数
4*0.35+2 *0.45+6 *0.2=3.5(CPI)执行一条指令平均需要3.5个时钟周期