前言
学习IBM-PC机的功能结构
微机的基本结构
计算机的组成
计算机一般由5部分组成,运算器,控制器,存储器,输入设备,输出设备
中央处理器
微型计算机的中央处理器包括运算器和控制器,主要的功能就是分析从主存储器取来的各条指令的功能,控制计算机的各个部件完成指定功能的各项操作。
主存储器
主存储器是用来存放程序和数据的部件,他由若干个存储单元组成,每个存储单元使用一个唯一的编号来标识(存储单元地址),对每个存储单元的操作就是通过这个地址来实现的。
习惯上把CPU和主存储器合称为主机,在计算机中除了主存储器之外,一般还有辅助存储器,也称为外存。
输入和输出设备及接口
- 输入设备将外部的信息送入计算机,包括鼠标和键盘
- 输出设备将处理后的结构转换为人或者系统能识别的信息向外输出。
- 由于I/O设备的工作速度,工作原理以及所处理的信息格式等与主机相差很大,所以I/O设备要通过I/O接口才能与系统总线相连接。
- I/O接口是主机与I/O设备之间的逻辑控制组件,通过他实现主机和I/O设备间的信息传递
系统总线
系统总线包括地址总线,数据总线,控制总线,他们分别用来传递不同的信息
Intel8086/8088CPU的功能结构
汇编语言程序是由一系列的指令(指令序列)构成,指令是构成汇编语言程序的基本单位,就像高级语言的语句
- 串行方式
该图展示了串行方式的工作流程图,他的特点是当CPU在执行指令的阶段,不需要占用系统总线,但是此时系统总线也不工作,因此系统总线的空闲时间较多。
在存储区取指令,取数据或者是存数据是,总线处于忙状态,其占用的时间较长,而CPU却只需要很短的处理时间,因此大部分时间处于闲置状态
- 指令流水线方式
寄存器的结构及用途
通用寄存器:Intel有8个16位通用寄存器,他们具有良好的通用性,并且还可以用作某个特定的功能,可以由程序设计人员编程访问。
- 数据寄存器:它包括AX,BX,CX,DX四个寄存器,他们中的每一个寄存器既可以是一个16位的寄存器,也可以是分成两个8位的寄存器,即可以当作8个独立的8位寄存器使用。
- 指针寄存器:指针寄存器包括堆栈指针SP和基址指针BP,SP指针-在执行堆栈操作的时候隐含使用,被用来指向堆栈顶部单元,BP指针-被用来指向堆栈内某一存储单元。
变址寄存器:有两个16位的变址寄存器 SI和DI,一般被用来作为地址指针
段寄存器
cpu在使用存储器的时候,将它分成了若干个段。每段用来存放不同的内容,如程序代码,数据等等,每个存储段用一个段寄存器指明该段的起使位置
在程序设计中,一个程序将存储器划分成多少分是任意的,但是在程序运行的任意时刻最多只有4段,分别由CS,DS,ES,SS指定
指令指针IP
CPU在从存储器取指令的时候,以段寄存器CS作为代码段的基址指针,以IP为内容的偏移量,共同形成一条指令的存放地址,当CPU从内存中取出一条指令后,IP内容会自动修改为指向下一条指令。
标志寄存器
标志寄存器是用来反映CPU在程序运行时的某些状态,如是否有进位,奇偶性,结果的符号等等。
存储器的组织结构
存储器的组成
8086/8088CPU有20根地址线,即他可以产生20位的地址码,他的存储器的寻址能力位2的20次方,即1兆字节空间
- 字单元:一个字单元存储的是长度为16位二进制数,即两个字节,字单元的地址为两个字节单元中较小地址字节单元的地址。
- 在定义一个地址的时候必须指出使用的是字节或字类型属性
存储器的段结构
存储器结构的特点
- 8086/8088CPU将1M的存储空间划分成若干个段,每段最大的长度为64K个字节单元组成
可以看出,每个小节的首地址最低位必为0,因此段基址只能是上述64K个小节首址之一。
逻辑地址和物理地址的对应关系
物理地址:在1M的存储空间中,每个存储单元的物理地址是唯一的,他就是该存储单元的20位地址
逻辑地址:在程序设置中,为了便于程序开发和对存储器进行动态的管理,使用了逻辑地址。一个逻辑地址包含两个部分,段基值和偏移量
逻辑地址和物理地址的转化
将逻辑地址的段基值左移4位,形成20位的段基址,然后和16位的偏移量相加得到的就是物理地址
逻辑地址的来源
逻辑地址的来源就用一张图来表示吧