1.1、运算器
算术逻辑单元ALU:数据的算术运算和逻辑运算
累加寄存器AC:通用寄存器,为ALU提供一个工作区,暂存数据
数据缓冲寄存器DR:写内存时,暂存指令或数据
状态条件寄存器PSW:存状态标志与控制标志(也可归为控制器)
1.2、控制器
程序计数器PC:存储下一条要执行指令的地址
指令寄存器IR:存储即将执行的指令
指令译码器ID:对指令中的操作码字段进行分析解释
时序部件:提供时序控制信号
2、计算机组成结构:冯诺依曼结构和哈佛结构
2.1、冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储结构。特点:
(1)指令和数据存储器合并一起
(2)指令和数据通过相同的数据总线传输(DB数据总线、AB地址总线)
2.2、哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。特点:
(1)一般用于嵌入式系统处理,如DSP数字信号处理器
(2)指令与数据分开存储,即程序存储器和数据存储器是两个独立的存储器,它们独立编址独立访问,可以并行读取,有较高数据吞吐率
(3)有4条总线:指令数据总线、指令地址总线、数据数据总线、数据地址总线
3、嵌入式芯片:DSP(数字信号处理器)、SoC(片上系统)、MPU(微处理器)、MCU(单片微型计算机或单片机)、GPU(图形处理器)
4.1、层次化存储结构:为了解决存储的容量、价格和速度之间的矛盾
4.2、Cache:按内容存取(相联存储器)
对软件开发人员透明
改善系统性能的依据是程序的局部性原理(时间局部性和空间局部性)
读写不可能同时进行
5、存储系统编址
存储单元个数=最大地址-最小地址+1
按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字(字长不固定)
按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节
总容量=存储单元个数*编址内容(字或者字节)
总片数=总容量/每片容量
6、磁盘管理:
存取时间=寻道时间+等待时间(旋转延迟时间)
寻道时间是指磁头移动到磁道所需的时间
等待时间为等待读写的扇区转到磁头下方所用的时间
读取磁盘数据的时间应包括三个部分:寻道时间、等待时间、传输时间
注意:平均存取时间是指磁头找到指定数据的时间,不包含传输时间
7、磁盘移臂调度算法:
先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描算法(SCAN)也叫电梯算法(移动到边缘才调头)
LOOK算法(SCAN算法优化,只移动到没有要访问的磁道就掉头)
循环扫描算法(CSCAN)(移动到边缘才返回)
CLOOK算法(CSCAN算法优化,只移动到没有要访问的磁道就返回)
8、数据传输控制方式
8.1、程序控制(查询)方式:分为无条件传送和程序查询方式两种。
程序查询方式是指CPU不断查询I/O是否准备好数据,如果准备好了,则CPU会调用数据进行处理,如果没有准备好,CPU会持续等待I/O准备数据。方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。
8.2、程序中断方式:CPU不需要等待I/O准备数据,只是在收到中断请求时才会暂停当前的操作,转而响应I/O中断服务程序。这个过程涉及保护现场(存储断点的位置)、返回断点,断点信息一般保存在栈中。这种方式能够对突发事件做出快速响应。
8.3、DMA方式:为了在主存和外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式和中断方式都高效。DMAC向总线裁决逻辑提出总线请求,CPU执行完当前总线周期即可释放总线控制权,此时DMA响应,通过DMAC通知I/O接口开始DMA传输。
8.4、通道方式:通过硬件实现
8.5、I/O处理机:通过硬件实现
9.1、总线:一组能为多个部件分时共享的公共信息传输线路。分时是指同一时刻仅允许一个部件发送信息,但允许多个部件同时从总线上接收相同的信息。
根据线数分为:串行总线(适合长距离传输)和并行总线(适合近距离连接)
根据传输内容分为:数据总线(DB)、地址总线(AB)、控制总线(CB)
总线通信方式分为:单工(单向传输)、半双工(轮流双向传输)、全双工(同时双向传输)
串行总线的波特率在传输过程中可以修改
9.2、总线的指标:
总线宽度:总线可同时传输的数据数,单位为bit
总线带宽:总线单位时间内可以传输的总数据数,计算公式为:总线带宽=频率 x 宽度/8,单位为B/s即字节/秒
10.1、CISC(Complex Instruction Set Computers)复杂指令集计算机 如x86
10.2、RISC(Reduced Instruction Set Computers)精简指令集计算机 如ARM
11、流水线:在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
流水线周期:执行时间最长的一段
流水线执行时间=第1条指令执行时间+(指令条数-1)*流水线周期
流水线吞吐率(Though Put rate)TP:单位时间内流水线完成的任务数量或输出的结果数量。
TP=指令条数/流水线执行时间
最大吞吐率TPmax=1/流水线周期
流水线加速比:完成同样一批任务,不使用流水线所用时间与使用流水线所用时间之比。通常加速比大于1。