计算机操作系统笔记――处理器

中央处理器是一块超大规模的集成电路,它由运算器,控制器,寄存器等组成。

根据处理器分配策略,紧密耦合MIMD 系统可以分为主从式系统MSP(Main/SlaveMultiprocessor)和对称式系统SMP(Symmetric Multi-Processor)两类。


    主从式系统的基本思想是:在一个特别的处理器上运行操作系统内核,其他处理器上则运行用户程序和操作系统例行程序,内核负责分配和调度各个处理器,并向其它程序提供各种服务(如输入输出)


   在对称式多处理器系统中,系统中有两个或两个以上的处理器,操作系统内核可以运行在任意一个处理器上,每个处理器都可以自我调度运行的进程和线程,单个进程的多个线程可在不同处理器上同时运行,服务器进程可以使用多个线程去处理同时来自多个客户的请求,并且操作系统内核也被设计成多进程或多线程,内核的各个部分可以并行执行。


  不同类型的处理器具有不同的寄存器组成。一般来说,这些寄存器可以分为以下几类:

    通用寄存器:可由程序设计者指定许多功能,如存放操作数或用作寻址寄存器。

    数据寄存器:用以存放操作数。它们作为内存数据的高速缓存,可以被系统程序和用户程序直          接使用并进行计算。

    地址寄存器:用于指明内存地址。如索引寄存器、段寄存器(基址/限长)、堆栈指针寄存器等           等。

    I/O 地址寄存器:用于指定I/O 设备。

    I/O 缓冲寄存器:用于处理器和I/O 设备交换数据。

    控制寄存器:用于存放处理器的控制和状态信息,它至少应该包括程序计数器PC(Program           Counter)和指令寄存器IR(Instruction Register),中断寄存58器以及用于存储器和I/O 模          

     块控制的寄存器。此外还有:存放将被访问的存储单元地址的存储器地址寄存器和存放从存储

     器读出或欲写入的数据的存储器数据寄存器。

    处理器状态又称为处理器的运行模式,有些系统把处理器状态划分为核心状态、管理状态和用户状态,而大多数系统把处理器状态简单的划分为管理状态(又称特权状态、系统模式、特态或管态)和用户状态(又称目标状态、用户模式、常态或目态)。当处理器处于管理状态时,可以执行全部指令,访问所有资源,并具有改变处理器状态的能力;当处理器处于用户状态时,只能执行非特权指令。

   中断技术


   中断(interrupt)是指程序执行过程中,当发生某个事件时,中止CPU 上现行程序的运行,引出处理该事件的服务程序执行的过程。引起中断的事件称为中断源。发现中断源并产生中断的硬件称中断装置。

 

   迄今为止,所有的计算机系统都采用硬件和软件结合的方法实现中断处理。

    一般说,中断装置主要做以下三件事:

发现中断源,提出中断请求。当发现多个中断源时,它将根据规定的优先级,先后发出中断请求。

保护现场。将处理器中某些寄存器内的信息存放于内存储器,使得中断处理程序运行时,不会破坏

  被中断程序的有用信息,以便在中断处理结束后能够返回被中断程序继续运行。

启动处理中断事件的中断处理程序。

 

   中断来源于正在执行的程序以及计算机系统的各个部件。当一个具体的中断事件发生时,计算机系统必须把它记录下来。中断寄存器是用来记录中断事件的寄存器,中断寄存器的内容称中断字,中断字的每一位对应一个中断事件。


  处理中断事件的程序称为中断处理程序。它的主要任务是处理中断事件和恢复正常操作。由于不同中断源对应不同中断处理程序,故快速找到中断处理程序的入口地址是一个关键问题。寻找入口地址可用如下办法:在主存储器(常在低地址区)设置一张向量地址表,存储单元的地址对应向量地址,存储单元的内容为入口地址。CPU响应中断后,根据预先规定的次序找到相应向量地址,便可获得该中断事件处理程序的入口地址。

   一个操作系统设计者将根据中断的不同类型和不同的应用环境,而确定不同的处理原则。

   具体地讲,一个中断处理程序主要做以下四项工作:

保护未被硬件保护的一些必需的处理状态。例如,将通用寄存器的内容保存到主存储器,从而,使

  中断处理程序在运行中可以使用通用寄存器。

识别各个中断源,分析产生中断的原因。

处理发生的中断事件。中断处理程序将根据不同的中断源,进行各种处理操作。有简单的操作,如

  置一个特征标志;也有相当复杂的操作,如重新启动磁带机倒带并执行重读操作。

恢复正常操作。恢复正常操作一般有几种情况:恢复中断前的程序按断点执行;重新启动一个新的

  程序或者甚至重新启动操作系统。


本文出自 “SeaSky” 博客,谢绝转载!

你可能感兴趣的:(计算机理论)