微机
第一章 PC机软硬件系统
1.1 计算机系统概述
-
硬件组成
-
中央处理单位
- 包括运算器、控制器和寄存器组
- 运算器执行所有的算术和逻辑运算
- 控制器复制取指,译码和执行指令
- 汇编语言程序要使用寄存器
-
寄存器(Register)
- 是CPU内部的高速存储单元
- 它们为处理器提供各种操作所需要的数据或地址等信息
-
存储器(Memory)
- 计算机的记忆部分
- 汇编语言程序员主要关心主存地址
-
存储器地址(Address)
- 存储器地址是存储单元的编号
- 每个存储单元存放一个字节量的数据
- 存储容量指存储器所具有的存储单元个数
- 采用十六进制数来表达地址
-
总线
- 总线(BUS)是在计算机各部分之间进行数据传送的一组信号线
- 数据总线、控制总线、地址总线
- CPU通过总线与存储器和外设连接
-
地址总线
- 一个CPU有N根地址总线,则可以说这个CPU的地址总线的宽度为N。
- 这样的CPU最多可以寻找2的N次方个内存单元。
-
数据总线
- CPU与内存或其它器件之间的数据传送是通过数据总线来进行的。
- 数据总线的宽度决定了CPU和外界的数据传送速度。
- 8位数据总线上传送的信息
- 16位数据总线上传送的信息
-
控制总线
- CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。
- 有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。 所以,控制总线的宽度决定了CPU对外部器件的控制能力。
- 控制总线上发送的控制信息
- 前面所讲的内存读或写命令是由几根控制线综合发出的:
- 其中有一根名为读信号输出控制线负责由CPU 向外传送读信号,CPU 向该控制线上输出低电平表示将要读取数据;
- 有一根名为写信号输出控制线负责由CPU向外传送写信号。
-
外部设备(外设)
- 实现人机交互和机器间通讯的机电设备,简称外设
- 输入设备:键盘、鼠标器
- 输出设备:显示器、打印机
- 外设通过输入输出接口电路(接口卡)与系统连接
- 汇编语言程序中对接口电路中的端口进行操作
- 实现人机交互和机器间通讯的机电设备,简称外设
-
接口卡
- CPU对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展插槽上的接口卡。
-
端口(Port)
- I/O接口电路由接口寄存器组成,需要用编号区别各个寄存器:编号=地址
- I/O地址是接口电路中寄存器的编号
- 端口是I/O地址的通俗说法
- 系统通过这些端口与外设进行通信
- 采用十六进制数来表达端口
- Intel 8086支持64K个8位端口
- I/O地址可以表示为:0000H ~ FFFFH
-
汇编语言程序员看到的硬件
- 中央处理单元 CPU(Intel 80x86)
- 对汇编语言程序员,最关心其中的寄存器
- 存储器(主存储器)
- 呈现给汇编语言程序员的,是存储器地址
- 外部设备(接口电路)
- 汇编语言程序员看到的是端口(I/O地址)
- 中央处理单元 CPU(Intel 80x86)
-
CPU对存储器的读写
- 必须和外部器件(标准的说法是芯片)进行三类信息的交互:
- 存储单元的地址(地址信息)
- 器件的选择,读或写命令(控制信息)
- 读或写的数据(数据信息)
- 必须和外部器件(标准的说法是芯片)进行三类信息的交互:
-
计算机的软件
- 系统软件
- 操作系统
- 汇编程序和编译程序
- 应用软件
- 文本编辑软件
- 软件开发工具(包)
- 系统软件
1.2 认识汇编语言
-
计算机的程序设计语言
-
机器语言(Machine Language)
- B8 64 00 05 00 01
-
汇编语言(Assembly Language)
- mov ax,100
;取得一个数据100(MOV是传送指令)
add ax,256
;实现100+256(ADD是加法指令)
- mov ax,100
-
高级语言(High-level Language)
- 100+256
-
-
什么是汇编语言
- 以助记符形式表示计算机指令
- 助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号
- 助记符是表明指令功能的英语单词或其缩写
- 汇编格式指令以及使用它们编写程序的规则就形成汇编语言(Assembly Language)
- 汇编语言程序:用汇编语言书写的程序
- 汇编程序:将汇编语言程序“汇编”成机器代码目标模块的程序
- 以助记符形式表示计算机指令
-
汇编语言的特点
- 汇编语言的优点:
- 直接控制计算机硬件部件
- 编写“时间”和“空间”两方面最有效程序
- 汇编语言的缺点:
- 与处理器密切有关
- 需要熟悉计算机硬件系统、考虑许多细节
- 编写繁琐,调试、维护、交流和移植困难
- 汇编语言的优点:
-
8086
- 16位结构的微处理器:数据总线为16位
- 主存容量1MB:地址总线为20位
- 时钟频率5MHz(IBM PC使用4.77MHz)
- 准16位微处理器8088:外部数据总线为8位
- IBM PC和PC/XT机使用Intel 8088 CPU
- 8086的16位指令系统:Intel 80x86基本指令集
- 80186/80188的核心是8086/8088,配以支持电路
- 80186/80188指令系统比8086指令系统新增了若干条实用的指令
- 涉及堆栈操作、移位指令、输入输出指令、过程指令和边界检测及乘法指令
-
PC机中各类存储器的逻辑连接情况
-
主存地址空间
- 都和CPU的总线相连。
- CPU对它们进行读或写的时候都通过控制线发出主存读写命令。
- 将各类存储器看作一个逻辑存储器
- 所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器;
- 每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间;
- CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
- 假设,上图中的主存空间地址段分配如下:
- 地址0~7FFFH的32KB空间为主随机存储器的地址空间;
- 地址8000H~9FFFH的8KB空间为显存地址空间;
- 地址A000H~FFFFH的24KB空间为各个ROM的地址空间。
- 最终运行程序的是CPU,我们用汇编编程的时候,必须要从CPU角度考虑问题。
- 对CPU来讲,系统中的所有物理存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器即是我们所说的主存地址空间。
- 主存空间的分配示意图
-
PC机最低1MB主存
- 系统RAM区
- 地址最低端的640KB空间
- 由DOS进行管理
- 显示RAM区
- 128KB主存空间保留给显示缓冲存储区
- 显示RAM区并没有被完全使用
- 扩展ROM区
- I/O接口电路卡上的ROM
- 系统ROM区
- 系统RAM区