第一章 计算机系统概论
一、计算机的分类
计算机分为电子数字计算机(按位运算)和电子模拟计算机(数值由连续量来表示,运算过程也是连续的)
电子数字计算机又分为专用计算机和通用计算机
通用计算机:
- 多核机
- 单片机
- PC机
- 服务器
- 大型机
- 超级计算机
计算机系统包括硬件(计算机的物质基础)和软件(上层建筑)
二、计算机的硬件
1、计算机的硬件组成要素:
- 运算器
- 存储器
- 控制器
- 输入设备
- 输出设备
2、冯诺依曼机的特点:
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,可按地址访问
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
3、软硬件的关系
元器件构成的有形部件称为硬件
有各种用途的程序,称为软件
三、计算机系统的层次结构图
第五到第一级分别为:
高级语言级:编译程序
汇编语言级:汇编程序
操作系统级:操作系统
一般机器级:微程序
微程序设计级:直接由硬件执行
第二章 运算方法与运算器
一、数据
一个数要考虑数的类型和数的范围
数据包括:
- 数值型数据
- 非数值型数据
二、数值型数据
定点数:小数点的位置固定不变。
浮点数:小数点的位置允许浮动。
1、定点数
即纯整数
原码:+化为1,-化为0
范围:
−
(
2
n
−
1
)
…
…
+
(
2
n
−
1
)
-(2^n-1)……+(2^n-1)
−(2n−1)……+(2n−1)
反码:
范围:
−
(
2
n
−
1
)
…
…
+
(
2
n
−
1
)
-(2^n-1)……+(2^n-1)
−(2n−1)……+(2n−1)
补码:
范围:
−
(
2
n
)
…
…
+
(
2
n
−
1
)
-(2^n)……+(2^n-1)
−(2n)……+(2n−1)
**移码:**移码和补码尾数相同,符号位相反
将补码的符号位取反
2、浮点数
双精度:
Ms(1位)(符号) | E(11位)(阶码) | M(52位)(尾数) |
---|
单精度:
Ms符号位(1位) | E阶码位(8位) | M尾数位(23位) |
---|
指数=阶码-127
三、字符串
汉字的实现使用点阵
四、全加器
FA全加器可以提高ALU的速率,加速串行进位和并行进位
一片182CLA可以连四片181ALU/182CLA
182连181前:组内先行进位,组间串行进位
182连181后:组内先行进位,组间先行进位
P49
第三章 存储系统
一、cache
简介
-
位于内存和CPU之间,解决CPU和主存之间的速度不匹配问题。一般采用高速的SRAM构成。主存就是那个内存条,辅存就是硬盘,现在的Cache 一般在处理器芯片内部
-
缓存-主存层次主要解决CPU和主存速度不匹配的问题
主存-辅存层次主要解决存储系统的容量问题。
化成位/秒
公式
-
命中率:Nc表示cache完成存取的总次数,Nm表示主存完成存储的总次数
h = N c / ( N c + N m ) h=N_c/(N_c+N_m) h=Nc/(Nc+Nm) -
cache/主存系统的平均访问时间ta:tc代表命中时的cache访问时间,tm代表未命中时的cache访问时间
t a = h ∗ t c + ( 1 − h ) ∗ t m t_a=h*t_c+(1-h)*t_m ta=h∗tc+(1−h)∗tm -
访问效率:
e = t c / t a = t c / ( h ∗ t c + ( 1 − h ) ∗ t m ) e=tc/ta=tc/(h*t_c+(1-h)*t_m) e=tc/ta=tc/(h∗tc+(1−h)∗tm) -
主存与cache的访问时间之比
r = t m / t c r=t_m/t_c r=tm/tc
命中率h与程序的行为、cache的容量、组织方式、块的大小有关
二、存储器的技术指标
**存储容量:**存储器能存放二进制代码的总数,存储容量=存储单元个数×存储字长(存储单元的位数),存储容量常用字数或字节数来表示,如64KB、512KB、64MB等。
存储容量由字节化成位=32 *220 *8
单字长(32位):32 *220 *8/32 = 8M
半字长(16位):32 *220 *8/16 = 16M
双字长(64位):32 *220 *8/64 = 4M
速度:
- **存取时间:**又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时间
- **存储周期(存取时间):**连续启动两次读操作所需间隔的最小时间
- 存储器带宽: 单位时间里存储器所存取的信息量。若总线宽度为W位,则带宽=W/存储周期(bit/s)
三、存储器容量的扩充
位扩展
如128Kx4位扩展到128Kx8位,则需要2片SRAM芯片,8根数据线,4根连1,4根连2
地址线和控制线公用,数据线分高4位和低4位,分别与SRAM芯片的IO端相连接,两片同时工作
字扩展
如256Kx8位扩展到2048x8位,则需要8片SRAM芯片
地址总线A17~A0同时连接到8片SRAM的片内地址输入端,地址总线高位的A20~A18通过三八译码器分别产生8个片选信号,这8个芯片不会同时工作
字位扩展
先进行位扩展,再进行字扩展
小结
例题
四、多模块交叉存储器
m为模块数,T为存储周期,t为总线传送周期
顺序存储器
t 2 = m T t_2=mT t2=mT
交叉存储器
t 1 = T + ( m − 1 ) ∗ て t_1=T+(m-1)*て t1=T+(m−1)∗て
信息容量
q = 字长 ∗ 读出的字 q=字长*读出的字 q=字长∗读出的字
带宽
W = q / t 1 或 q / t 2 W=q/t_1或q/t_2 W=q/t1或q/t2
五、主存与cache的地址映射
全相联映射方式
标记s | 字地址W |
---|
w: 块大小=行大小=2w字节
s: 主存寻址单元数=2(s+w)字节=主存容量
直接映射方式
标记s-r | 行r | 字地址w |
---|
w: 块大小=2w
r: 行大小=2r
s: 主存块数=2(s)
标记=s-r
用主存容量的位数-r-w
组相联映射方式
标记s-d | 组号d | 字地址w |
---|
w: 块大小=行大小=2w
d: 共64行,每组4行,则有16组,16=2d
s: 主存的块数=2s
主存地址长度=s+w
主存寻址单元数=2s+w
虚拟存储器
页式虚拟存储器
快表和慢表,包括有效位和主存页面号
段式虚拟存储器
内有段表,段表有三个层次,分别是有效位、段起址、段长
优点:
- 段的逻辑独立性易于编译、管理
- 段长可以根据需要动态改变,允许自由调度
缺点:
- 分配较为麻烦
- 留下需要碎片,造成存储空间利用率低
- 需要更多的硬件支持
段页式虚拟存储器
每个程序先按逻辑结构分段,每段再按照实存的页大小分页,程序按页进行调入和调出操作,但也可按段进行编程、保护和共享
每道程序都通过一个段表和多个页表进行两级定位。段表中每个表项对应一个段,有一个指针指向该段的页表,然后通过页表找到在主存中的位置
六、存储器的读写周期波形图
第四章 指令系统
重点需要掌握:
- 进程管理=CPU管理
- 指令系统
- 指令
- 指令的寻址方式
- 指令的格式特点
一、概念
指令: 机器指令,每一条指令可完成一个独立的算术运算或逻辑运算操作
指令系统: 一台计算机中所有机器指令的集合
二、指令格式
操作码字段OP | 地址码字段A |
---|
1、操作码
一个包含n位操作码最多可以表示2n条指令
2、地址码
一地址: A指明操作码的地址,不是操作码本身
二地址: A1、A2分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,A1兼做存放操作结果的地址
三地址: A1为被操作数地址,A2为操作数地址,A3为存放操作结果的地址
3、二地址指令的类型
存储器存储器型指令(SS): 两个地址都在内存里
寄存器寄存器型指令(RR): 两个地址都需要访问寄存器,而不需要访问内存
寄存器存储器型指令(RS): 既要访问内存单元,又要访问寄存器
4、指令字长度
指令字长度: 一个指令字中包含二进制代码的位数
机器字长: 计算机能直接处理的二进制数据的位数(=主存单元的位数)
单字长指令: 指令字长度=机器字长度
半字长指令: 指令字长度=机器字长度/2
双字长指令: 指令字长度=机器字长度*2
5、例题
根据指令格式写指令格式的特点
- 单字长二地址指令
- 操作码字段OP可以指定27 =128条指令
- 源寄存器和目标寄存器都是通用寄存器,所以是RR型指令
变址寄存器+位移量=存储器
三、指令和数据的寻址方式
采用地址指定方式和数据寻址方式,形成操作数或指令地址的方式,称为寻址方式
1、指令的寻址方式
顺序寻址方式: 内存中的指令地址按序排序,然后依次访问,由程序计数器给出
跳跃寻址方式 :由本条指令给出,即有一部分存放下一个需要访问的指令地址,然后进行访问
2、操作数基本寻址方式
形成操作数有效地址的方法,称为操作数的寻址方式
操作数
操作数(operand),是 计算机指令中的一个组成部分,它规定了指令中进行数字运算的量 。操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。例如:mov a b 操作数(a 和 b)。在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法。
通常一条指令均包含 操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。
操作数是指令执行的参与者,也就是各种操作的对象.与之有关的是 操作码,所谓操作码是说明计算机要执行哪种,如传送,运算,移位,跳转等操作,它是指令中不可缺少的组成部分。
指令上的:A:操作数的有效地址
立即寻址方式:指令中有立即数的寻址方式,例如:MOV AX,1290H
寄存器寻址方式:操作数在寄存器中的寻址方式,例如:MOV AX,BX
直接寻址方式:操作数的有效地址直接放在指令中,例如:MOV AX,DS:[2000H]
段超越:数据不在数据段中,需要在指令中用段超越前缀(段寄存器名加冒号)指出
寄存器间接寻址方式:EA是间接从寄存器得到,例如:MOV AX,[BX]
寄存器相对寻址方式:EA是一个基址或变址寄存器内容再加上8或16位位移量之和,例如:MOV AX,[BX+1234H]
- 注意:位移量可以为TOP[],TOP为符号地址,即位移量,或者在中括号里,也可以用小点连接
基址变址寻址方式:EA为一个基址寄存器加变址寄存器的内容,例如: MOV AX,[BX+DI]
相对基址变址寻址方式:EA为一个基址寄存器加变址寄存器加位移量,例如:MOV AX,[MASK+BX+SI]
直接寻址: 在指令格式的地址字段中直接指出操作数在内存的地址
寄存器间接寻址: 指令格式中的寄存器内容不再是操作数,而是操作数的地址
偏移寻址:
- 相对寻址:EA=A+PC(程序计数器)
- 基址寻址:EA为一个基址寄存器加变址寄存器的内容,例如: MOV AX,[BX+DI]
- 变址寻址:EA为一个基址寄存器加变址寄存器加位移量
5。根据寻址方式的不同,指令可以是RR型、SS型、RS型
第五章 中央处理器
一、CPU
控制器和运算器是CPU的两大核心部件
CPU中的主要寄存器:
- 数据缓冲寄存器(DR)
- 数据地址寄存器(AR)
- 指令寄存器(IR)
- 程序计数器(PC)
- 通用寄存器(GR)
- 程序状态字寄存器(PSWR)
二、指令周期
P157 例5.1
三、微程序控制器
用软件的方法来设计硬件
思路:把操作控制信号编制成微指令,存放到控制存储器里。运行时,从存储器中取出微指令,产生指令运行所需的操作控制信号。
1、微命令和微操作
2、微指令与微程序
3、微程序控制器
-
控制存储器(CM)
这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。
-
微指令寄存器(μIR) 用来存放从CM取出的正在执行的微指令的信息
- 微地址寄存器(μMAR):决定将要访问的下一条微指令的地址
- 微命令寄存器(它是 构成μIR的一部分):保存一条微指令的操作控制字段和判别测试字段的信息
-
地址转移逻辑(微地址形成部件)
用来产生初始微地址和后继微地址,以保证微指令的连续执行。一般情况下,微指令由控存读出后就直接给出了下一条微指令的所在地址;当微程序发生转移时,需要通过判别测试字段P和执行部件的“状态条件”反馈信息,来修改微地址寄存器的内容来形成。
微程序控制器的工作过程:
- 执行取指令的公共操作,从主存中取出的机器指令就已存入指令寄存器IR中了
- 操作码字段通过微程序的入口地址,并送入微地址寄存器
- 从控制存储器中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。
- 一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的入口地址,从而继续第(1)步
4、机器指令与微指令的关系
- 一条机器指令对应一个微程序,这条微程序是由若干条微指令序列组成的
- 对应的硬件设备不同,从指令与微指令的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关
- 每一个CPU周期对应一条微指令
四、流水CPU
第六章 总线系统
总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。
一、分类
- 内部总线: CPU内部连接各寄存器及运算部件之间的总线
- 系统总线:
- I/O总线:
总线带宽P190:换算单位成字节
二、信息传送方式
串行传送: 只有一条传输线,且用脉冲传送,且不同时传输
并行传送: 对每个数据位都需要单独一条数据线,且同时传输
分时传送: 总线复用(某个传输线上既传送地址又传送数据信息,分时输出)或是共享总线的部件分时使用总线。
三、波特率
P198页
波特率=数据传送速率*每个字符格式的比特位
每个比特位占用时间Td是波特率的倒数
四、总线仲裁
1、分类
按照总线仲裁电路的位置不同,可分为集中式仲裁和分布式仲裁。。集中式仲裁又分为链式查询方式、计时器定时查询方式、独立请求方式
集中式仲裁: 集中式仲裁中每个功能模块有两条线连到总线控制器:一条是送往总线控制器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线BG
2、链式查询方式
3、计时器定时查询方法
在BS线为0时计数器开始计时,每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置1BS线,获得总线使用权,此时终止计数查询
优点:计数器的初值可以用程序来设置,可以方便地改变优先次序
缺点:会增加线数
4、独立请求方式
每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备的请求信号,总线仲裁器有一个排队序列,按一定的优先次序决定先相应哪一个
优点:响应时间快、对优先次序的控制相当灵活、可以屏蔽某个请求方法
小结:
5、分布式仲裁
第七章 外围设备
一、磁盘
二、磁盘存储器的技术指标
-
存储密度:道密度、位密度、面密度
-
平均寻址时间:1/(2*r)
-
平均存取时间:
平均访问时间(平均寻址时间)=平均寻道时间+平均等待时间
平均读写操作时间Ta=Ts(平均寻道时间)+ (1/2r)(平均寻址时间)+[b/(r*N)](数据传输时间)
b表示传送的字节数,N表示每磁道的字节数,r是磁盘旋转速率
-
数据传输率:=磁盘旋转速率*每条磁道容量
第八章 I/O系统
CPU管理外围设备的几种方式:
-
无条件传送方式(简单I/O方式)
外设始终处在就绪状态,CPU直接执行I/O指令进行数据传输
-
程序查询方式(条件查询方式)
CPU需要通过接口对目标设备的状态进行查询,外设准备就绪之后再进行发送或接收
优点:CPU的操作与外围设备的操作能够同步,而且软硬件结构都比较简单
缺点:会白白消耗掉CPU许多时间
-
程序中断方式
当第一个中断发生时,CPU暂停其现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到原来执行的任务,从其停止的地方开始执行程序
优点:节省了CPU宝贵的时间
缺点:软硬件相对变复杂,服务开销时间大
-
直接内存访问方式
DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据
优点:数据传送速率很快,因受到内存访问时间的限制
缺点:需要更多的硬件支持
适用于内存和高速外围设备之间大批数据交换的场合
-
通道和输入/输出处理器
均寻道时间+平均等待时间
平均读写操作时间Ta=Ts(平均寻道时间)+ (1/2r)(平均寻址时间)+[b/(r*N)](数据传输时间)
b表示传送的字节数,N表示每磁道的字节数,r是磁盘旋转速率
- 数据传输率:=磁盘旋转速率*每条磁道容量
[外链图片转存中…(img-A2U82XFh-1712054550322)]
[外链图片转存中…(img-YajUaFHF-1712054550322)]
第八章 I/O系统
CPU管理外围设备的几种方式:
-
无条件传送方式(简单I/O方式)
外设始终处在就绪状态,CPU直接执行I/O指令进行数据传输
-
程序查询方式(条件查询方式)
CPU需要通过接口对目标设备的状态进行查询,外设准备就绪之后再进行发送或接收
优点:CPU的操作与外围设备的操作能够同步,而且软硬件结构都比较简单
缺点:会白白消耗掉CPU许多时间
-
程序中断方式
当第一个中断发生时,CPU暂停其现行程序,而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到原来执行的任务,从其停止的地方开始执行程序
优点:节省了CPU宝贵的时间
缺点:软硬件相对变复杂,服务开销时间大
-
直接内存访问方式
DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和外围设备之间进行,以高速传送数据
优点:数据传送速率很快,因受到内存访问时间的限制
缺点:需要更多的硬件支持
适用于内存和高速外围设备之间大批数据交换的场合
-
通道和输入/输出处理器