##计算机的基本构成
从顶层看,一台计算机的由处理器、存储器和输入/输出部件的组成,每类不部件的有一个或者多个模块。计算机的有4个的结构化的部件:
处理器
(processor):控制计算机的操作,执行数据处理功能。当只有一个处理器的时候那么这个处理器的时候那么他一定就是中央处理器(CPU);内存
(main memory): 存储程序和程序。此类的存储器通常是易失的,当计算机关机是存储器中的内容就会丢失,但是磁盘
上的不会丢失。内存一般也会称之为实存储器
或者主存储器
输入/输出模块
(I/O module):在计算机和外部环境之间移动数据。系统总线
(system bus):为存储器、内存和输入/输出模块支架提供了通信的设备。
##处理器寄存器
用户可见寄存器
:优先使用这些寄存器,可以减小使用机器语言或者汇编语言的程序员对内存的访问次数。
数据寄存器(data register):可以被程序员分配给各种函数。
地址寄存器(address register):存放数据和指令的内存地址,或者存放用于计算完整地址或者有效地址的部分的地址。
- 变址寄存器(index register):变址寻址是一种最常用的寻址方式,它通过基值一个索引值来获得有效地址
- 段指针(segment pointer):对于分段寻址方式,存储器被划分成段这些由长度的字块组成,段由若干长度的字组成。
- 栈指针(stack pointer):如果对用户可见的栈进行寻址则应该有一个专门的寄存器的指向栈顶。(如 push入栈 和 pop 入栈)
控制和状态寄存器
:可以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程的执行。
- 程序计数器(program Counter,PC):包含将取指令的地址。
- 指令存储器(instrction region,IR):包含最近取的指令内容。
条件码:(condition code):是处理器硬件为操作结果的设置的位。
指令的执行
- 取指令和执行指令
- 处理器—存储器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
- 处理器—I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
- 数据处理:处理器可以执行很多与数据有关的算术操作或逻辑操作。
- 控制:某些指令可以改变执行顺序。
- I/O函数
I/O模块可以直接与处理器的交换数据。在某些情况下,允许I/O模块直接与内存发生数据交换,以减轻完成I/O任务过程中的处理器的负担。此时处理器允许I/O模块从存储器读或者往存储器的写的特权,这样I/O模块与存储器之间的数据的传送无需通过处理器完成。
##中断
所有的计算机都提供了允许其他模块中断处理器正常处理过程的机制,中断最初是提高处理器效率的一种手段。
- 中断的分类
- 程序中断:在某些条件下由指令执行的结果产生,例如算术溢出、除法为0、试图执行一条非法的机器指令以及访问到用户的不允许的存储器位置。
- 时钟中断:由处理器内部的计时器产生,允许操作系统以一定规律执行函数。
-I/O中断:由I/O控制器产生,用于发信号通知一个操作的正常完成或各种错误条件。- 硬件故障中断:设备断电或存储器奇偶错误之类的故障产生。