计算机系统概论
计算机的基本组成:
- 存储器——存放程序(指令)和数据
- 运算器——算术和逻辑运算
- 控制器——从内存中取出解题步骤加以分析,然后执行某种操作
- 输入输出设备——实现计算程序和原始数据的输入输出
运算方法和运算器
原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。
[+1]原 = 0000 0001
[-1]原 = 1000 0001
反码
正数的反码是其本身;负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
补码
正数的补码就是其本身;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1(即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
多层次的存储器
多级存储器体系结构:高速缓冲存储器、主存储器和外存储器
Cache 是一种高速缓冲存储器,缓存地址(虚拟地址或者物理地址)和数据,解决CPU和主存之间速度不匹配。
三种地址映象:
- 全相联方式——Cache 利用率高,块冲突率低。地址变换复杂,需要较多的硬件(适用于小容量的Cache)
- 直接相连——地址变换速度快。Cache 利用率低,块冲突率高(适用于大容量的Cache)
- 组相联——折中方式
指令系统
指令系统:又称指令集(Instruction Set)是计算机体系结构设计的核心,是计算机软、硬件接口,是用机器语言、汇编语言编写程序的用户所能看到的计算机的基本属性(CISC 和 RISC)
指令的一般结构形式:操作码字段 | 地址码字段
- 操作码字段:表示指令的操作特性与功能
- 地址码字段:通常用于指定参与操作的操作数地址
操作数寻址方式
- 隐含寻址
- 立即寻址
- 直接寻址
- 间接寻址
- 寄存器寻址和寄存器间接寻址
- 偏移寻址(相对寻址、基址寻址、变址寻址)
- 段寻址方式
- 堆栈寻址方式
中央处理器
五级流水CPU:将计算机指令处理过程拆分为多个步骤,并通过多个硬件处理单元并行执行来加快指令执行速度。
- 取指令(IF)
- 指令译码(ID)
- 执行运算(EX)
- 数据内存访问(MEM)
- 结果写回(WB)
相关冲突:资源相关、数据相关、控制相关
多核 CPU 是一枚处理器中集成多个完整的计算引擎(内核)。多核 cpu 和单核 cpu 对于进程来说都是并发,并不是并行。但多核 cpu 每一个核心都可以独立执行一个线程,所以多核 cpu 可以真正实现多线程的并行。
乱序执行是指CPU采用了将多条指令不按程序规定的顺序分发给各相应电路单元处理的技术。
多发射是一个时钟周期内,从存储器内取出多条指令。
超标量是每个时钟周期内能启动多条指令。
总线系统
- 内部总线——CPU 内部连接各寄存器及运算部件之间的总线
- 系统总线——CPU 同计算机系统的其他高速功能部件(存储器、通道等)间互相连接的总线
- I/O总线——中、低速 I/0 设备间互相连接的总线
按照信号类型可分为数据总线、控制总线和地址总线。数据线和地址线常采用多路复用方式。
仲裁方式分为集中式仲裁和分布式仲裁
- 集中式仲裁
- 链式查询方式
- 计数器定时查询方式
- 独立请求方式
- 分布式仲裁
输入输出系统
信息交换方式:
- 程序查询方式
- 程序中断方式
- 直接内存访问(DMA)方式
- 通道方式
中断是指计算机在执行程序过程中,当出现异常或特殊请求时,计算机停止现行程序的运行,转去处理这些异常或特殊请求,处理结束后,再返回现行程序的间断处,继续执行原程序。
中断服务程序的基本流程:
- 保护现场
- 中断服务
- 恢复现场
- 中断返回