操作系统硬件基础
控制和状态寄存器
• 用于控制处理器的操作 • 大部分对于用户是不可见的 • 一部分可以在某种特权模式(由OS使用)下访问
常见的控制和状态寄存器: • 程序计数器 ( PC : Program Counter ) ,记录将要取出的 指令的地址 • 指令寄存器(IR:Instruction Register),包含最近取出 的指令 • 程序状态字(PSW:Program Status Word),记录处理 器的运行模式信息等等
层次化的存储体系结构
存储访问局部性原理
提高存储系统效能关键点:程序存储访问局部性原理
• 程序执行时,有很多的循环和子程序调用,一旦进入 这样的程序段,就会重复存取相同的指令集合
• 对数据存取也有局部性,在较短的时间内,稳定地保 持在一个存储器的局部区域 处理器主要和存储器的局部打交道 在经过一段时间以后,使用的代码和数据集合会改变
• 闪存(flash memory)
存储器的层次结构
存储系统设计三个问题: 容量、速度和成本 • 容量:需求无止境 • 速度:能匹配处理器的速度 • 成本问题:成本和其他部件相比应在合适范围之内
容量、速度和成本 • 三个目标不可能同时达到最优,要作权衡 • 存取速度快,每比特价格高 • 容量大,每比特价格越低,同时存取速度也越慢 解决方案:采用层次化的存储体系结构 • 当沿着层次下降时 • 每比特的价格将下降,容量将增大 • 速度将变慢,处理器的访问频率也将下降
内容目录
• 概述 • 中央处理器(CPU) • 存储系统 • 中断机制 • I/O系统 • 系统调用
课程导论
Intel CPU的结构框图
CPU 算术 协处理器 CPU1 CPU2 8KB 一级高速缓存 算术 协处理器
80486DX结构
算术 协处理器
16KB 一级高速缓存
Pentium结构
CPU1 CPU2 CPU3 算术 协处理器
概述
任何系统软件都是硬件功能的延伸 操作系统直接依赖于硬件条件 OS的硬件环境以较分散的形式同各种管理相结合
实现操作系统时必须理解的 计算机基本结构 操作系统管理的重要资源
计算机系统的组成
Pentium IV Chipset
Proc Caches Busses adapters Memory Controllers I/O Devices: Disks Displays Keyboards
存储保护设施
对主存中的信息加以严格的保护,使操作系统及其 他程序不被破坏,是其正确运行的基本条件之一 多用户,多任务操作系统: OS给每个运行进程分配一个存储区域 问题: • 多个程序同时在同一台机器上运行,怎样才能互不 侵犯? • 如何处理重定位?
保护的硬件支持
解决方案
依赖于
配有特殊硬件的CPU
多数系统将处理器工作状态划分为管态和目态
管态:操作系统管理程序运行的状态,较高的特权级别, 又称为特权态(特态)、核心态、系统态 目态:用户程序运行时的状态,较低的特权级别,又称为 普通态(普态)、用户态 有些系统将处理器状态划分核心状态、管理状态和用 户程序状态(目标状态)三种
实例:x86系列处理器(1)
Networks
计算机的系统结构图
课程导论
主板中的北桥/南桥芯片 • 北桥芯片 – 主板芯片组的核心芯片,也称为主桥 – 主要负责与CPU的联系,控制内存、AGP等数据传输 – 计算量大、数据传输量大,因此放置在与CPU相近的 位置以保证传输速度和能源低耗 • 南桥芯片 – 负责各类低速I/O总线以及I/O设备的管理 – 负责控制时钟、BIOS、电源、键盘、网卡等各类低 速设备 – 相比北桥芯片,南桥芯片工作量较小、散热量小 • 北桥与南桥连接 – 南桥芯片不与CPU直接通信,通过特定的连接方式与 北桥芯片连通 – 例如Intel的Hub Architecture、SIS的 MultiThreaded
处理器中的寄存器
• 寄存器提供了一定的存储能力 • 速度比主存快得多 • 造价高,容量一般都很小 两类寄存器:
• 用户可见寄存器,高级语言编译器通过算法分 配并使用之,以减少程序访问主存次数 • 控制和状态寄存器,用于控制处理器的操作 由OS的特权代码使用, 以控制其他程序的执 行
用户可见寄存器
硬件可提供如下功能:
• 界地址寄存器(界限寄存器) • 存储键
• 地址转换机制
界地址寄存器(界限寄存器) • 界地址寄存器被广泛使用的一种存储保护技术 • 机制比较简单,易于实现 实现方法: • 在CPU中设置一对下限寄存器和上限寄存器 存放用户作业在主存中的下限和上限地址 • 也可将一个寄存器作为基址寄存器,另一寄存器作为限 长寄存器(指示存储区长度) • 每当CPU要访问主存,硬件自动将被访问的主存地址与 界限寄存器的内容进行比较,以判断是否越界 • 如果未越界,则按此地址访问主存,否则将产生程序中 断——越界中断(存储保护中断)
第二讲 计算机系统硬件基础
内容目录
• 概述 • 中央处理器(CPU) • 存储系统 • 中断机制 • I/O系统 • 系统调用
操作系统的硬件环境
讨论操作系统对运行硬件环境的要求 讨论操作系统设计者考虑的硬件问题 • • • • • 中央处理器(CPU) 存储系统 中断机制 I/O系统 时钟以及时钟队列
程序状态字PSW (Program Status Word )
在PSW中专门设置一位,根据运行程序使用指令 的权限而设置CPU状态 • CPU 的工作状态码 —— 指明管态还是目态,用来 说明当前在 CPU 上执行的是操作系统还是一般用 户,从而决定其是否可以使用特权指令或拥有其 他的特殊权力 • 条件码——反映指令执行后的结果特征 • 中断屏蔽码——指出是否允许中断
CPU1
CPU2
CPU3
16KB 一级高速缓存
256KB 二级高速缓存
32KB 一级高速缓存
512KB 二级高速缓存
Pentium Pro结构
Pentium Pro结构
AMD 双核 vs Intel 双核
中央处理器(CPU)
专门设计了一系列基本机制:
- 具有特权级别的处理器状态,能在不同 特权级运行的各种特权指令 - 硬件机制使得OS可以和普通程序隔离 实现保护和控制
• 386、486、Pentium系列都支持4个处理器特 权级别(特权环:R0、R1、R2和R3) • 从R0到R3特权能力依次降低 • R0相当于双状态系统的管态 • R3相当于目态 • R1和R2则介于两者之间,它们能够运行的指令 集合具有包含关系:
I R0 I R1 I R 2 I R3
CPU的构成与基本工作方式
处理器由运算器、控制器、一系列的寄 存器以及高速缓存构成
• 运算器实现指令中的算术和逻辑运算,是 计算机计算的核心 • 控制器负责控制程序运行的流程,包括取 指令、维护CPU状态、CPU与内存的交互等 等
• 寄存器是指令在CPU内部作处理的过程中暂存数据、 地址以及指令信息的存储设备 在计算机的存储系统中它具有最快的访问速度 • 高速缓存处于CPU和物理内存之间 一般由控制器中的内存管理单元(MMU:Memory Management Unit)管理 访问速度快于内存,低于寄存器 利用程序局部性原理使得高速指令处理和低速内存 访问得以匹配,从而提高CPU的效率
• 机器语言直接引用 • 包括数据寄存器、地址寄存器以及条件码寄存器 • 数据寄存器(data register)又称通用寄存器 主要用于各种算术逻辑指令和访存指令 • 地址寄存器 ( address register ) 用于存储数据 及指令的物理地址、线性地址或者有效地址,用 于 某 种 特 定 方 式 的 寻 址 。 如 index register 、 segment pointer、stack pointer • 条件码寄存器保存CPU操作结果的各种标记位 如算术运算产生的溢出、符号等等
微处理器M68000的程序状态字
1 5 T 1 4 1 3 S 1 2 1 1 1 0 I2 9 I1 8 I0 7 6 5 4 X 3 N 2 Z 1 V 0 C
条件位: C: 进位标志位 Z: 结果为零标志位
V: 溢出标志位 N: 结果为负标志位
I0 – I2:三位中断屏蔽位 S:CPU状态标志位,为1处于管态,为0处于目态 T:陷阱(Trap)中断指示位为1, 在下一条指令执行后引起自陷中断
微处理器Pentium的程序状态字
CF: 进位标志位 ZF: 结果为零标志位 SF: 符号标志位 OF: 溢出标志位
标准条件位: TF:陷阱标志位 IF:中断允许(中断屏蔽)标志位 VIF:虚拟中断标志位 VIP:虚拟中断待决标志位 IOPL:IO特权级别
CPU状态的转换
目态→管态 唯一途径 是 中断 管态→目态 设置PSW(修改程序状态字) 可实现
1.2、特权指令和非特权指令
特权指令:只能由操作系统使用的指令
• 使用多道程序设计技术的计算机指令系统必须要区 分为特权指令和非特权指令 • 处理器通过特殊的机制将处理器状态切换到操作系 统运行的特权状态(管态)
• CPU如何知道当前运行的是操作系统还是一般应用
软件?有赖于处理器状态的标识
1.3、处理器的状态 根据运行程序对资源和机器指令的使用权限将处理器设置 为不同状态
地址转换机制
同时有多个程序在内存 程序在内存的位置不是固定的而是随机的
用户程序A
用户程序B
内存
虚拟地址 CPU
存储器的类型
半导体存储器
• • • •
实现
内存
存储器芯片的内部组织结构 静态存储器(SRAM) 异步动态随机存储器(DRAM) 同步动态随机存储器(SDRAM) 双倍数据速率SDRAM(DDR SDRAM)(开放标准) Rambus公司的SDRAM