操作系统精髓与设计原理(原书第6版)

http://blog.csdn.net/henni_719/article/details/51745539

1计算机系统概述

1.1 基本构成

计算机主要由4个机构化部件组成:

  • 处理器(Processor:控制计算机的操作,执行数据处理功能。当只有一个处理器时,它通常指中央处理单元(CPU.

  • 内存(main memory:存储数据和程序。此类存储器在计算机关机时,存储的内容会丢失。计算机关机时,磁盘存储器的内容不会丢失。

  • 输入/输出模块(I/Omodule:在计算机和外部环境之间移动数据。外部环境由各种外部设备组成,包括辅助存储设备(如硬盘、U盘)、通信设备和终端

  • 系统总线(system bus:为处理器、内存和输入/输出模块间提供设备设施。

处理器的一种功能是和存储器交换数据。为此,处理器通常使用两个内部寄存器:存储器地址寄存器(MAR:Memory Address Register,MAR确定下一次读写的存储器地址;存储器缓存寄存器(Memory Buffer Register MBR,MBR存放要写入存储器的数据或者从存储器中读取的数据。同理,输入/输出地址寄存器(I/O Address Register 简称 I/O AR I/O地址寄存器)确定一个特定的输入/输出设备,输入/输出缓存寄存器(I/O Buffer Register 简称 I/O BR I/O缓存寄存器)用于在输入/输出模块和处理器间交换数据。

内存模块由一组单元组成,单元由顺序编号的地址定义。每个单元包含一个个指令或数据(二进制格式)。输入/输出模块在外部设备与处理器和存储器之间传输数据。

1.2 处理器寄存器

        处理器包含一组寄存器,它们提供一定的存储能力,比内存访问速度快,但内存的容量小。处理器中的寄存器有两个功能:

  • 用户可见寄存器:优先使用这些寄存器,可以减少使用机械语言或汇编语言的程序员对内存的访问次数。对高级语言而言,由优化编译器负责决定哪些变量应该分配给寄存器,哪些变量应该分配给内存。

  • 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。

    1-1 计算机部件:顶层视图

1.2.1 用户可见寄存器

        用户可见寄存器可以通过由处理器执行的机器语言来引用,它一般对所有的程序都可用,包括应用程序和系统程序。通常可用的寄存器类型包括数据寄存器、地址寄存器、条件码寄存器。

        数据寄存器:可以被程序员分配给各种函数。

        地址寄存器:存放数据和指令的内存地址,或者存放用于计算完整地址或有效地址的部分地址。这些寄存器是可以通用的,或者可以用来以某一特定方式或模式寻址存储器。

  • 变址寄存器(index register):变址寻址是一种最常用的寻址方式,它可以通过给一个基值加一个索引来获得有效地址。

  • 段指针(segment pointer):对于分段寻址方式,存储器被划分成段,这些段由长度不等的字块组成,段由若干长度的字组成。一个存储器引用由一个特定段号和段内偏移量组成。采用这种寻址方式,需要用一个寄存器保存段的基地址(起始地址)。

  • 栈指针(stack pointer):如果对用户可见的栈进行寻址,则应该有一个专门的寄存器指向栈顶。这样可以使用不包含地址域的指令,如入栈(push)、出栈(pop)。

1.2.2 控制和状态寄存器

        指令执行必须的寄存器如下:

  • 程序计数器(Program CounterPC):包含将取指令的地址,

  • 指令寄存器(Instruction RegisterIR:包含最近取的指令内容。

所有的处理器设计还包括一个或一组寄存器,通常称为程序状态字(Program Status WordPSW),它包含状态信息。PSW通常包含条件码和其他状态信息,如中断允许/禁止位和内核/用户状态位。

条件码conditoncode,也称标记)是处理器硬件为操作结果设置的位。条件码位收集到一个或多个寄存器中,通常它们构成了控制寄存器的一部分。机器指令通常允许通过隐式访问来读取这些位,但不能通过显示访问进行修改。

在使用多种类型中断的处理器中,通常有一组中断寄存器,每一个指向一个中断处理例程。如果使用栈实现某些功能,则需要一个系统栈指针。内存管理硬件也需要专门的寄存器,寄存器还可以用于控制I/O操作。

在设计控制和状态寄存器结构时需要考虑很多因素,一个关键问题是对操作系统的支持。

另一个重要的设计决策是在寄存器和存储器间分配控制信息。通常把存储器最初的(最低的)几百个或几千个字用于控制目的,设计者必须决定在昂贵、高速的寄存器中放置多少控制信息,在相对便宜、低速的内存中放置多少控制信息。

 

1.3 指令的执行

        处理器执行的程序是由一组保存在存储器中的指令组成。按最简单的形式,指令处理包括两个步骤:处理器从存储器中一次读()一条指令,然后执行每条指令。程序执行是由不断重复的取指令和执行指令的过程组成。

        一个单一的指令需要的处理称为一个指令周期。如图1.2所示,可使用简单的两个步骤来描述指令周期。这两个步骤分别称为取指阶段和执行阶段。仅当机器关机、发生某些未发现的错误或者遇到与停机相关的程序指令时,程序执行才会停止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值