第一单元(微型计算机系统概述)
处理器的基本参数❗❗❗
1)字长:处理器每个时间单位可以处理的二进制数据位数
2)时钟频率:表明了处理器的速度,反映了处理器的基本时间单位
3)集成度:表明处理器的生产水平工艺,通常用芯片上集成的晶体管数量来表达
4)微处理器的应用:嵌入式系统
摩尔定律 ❗
1)内容:每十八个月,集成电路的性能提高一倍,价格降低一半(但是摩尔定律不会一直持续下去,电子器件 的物理极限正在悄然逼近)
冯诺依曼计算机结构 ❗❗❗
1)采用二进制形式表示数据和指令,指令由操作码和地址码组成
2)将程序和数据存放再存储器中,计算机在工作时从存储器中取出指令加以执行
3)指令的执行是顺序的,一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现
4)计算机由存储器、运算器、控制器、输入设备和输出设备(5大基本部件)组成
5)补充
1> 原始的冯诺依曼计算机在结构上以运算器为中心,现在数字电子计算机由存储器为中心
2> 运算器和存储器被合称为主机
3> 输入设备和输出设备被合称为外设或I/O设备
计算机中的一些大小单位
1)半字节:4bit
2)字节:8bit
3)字:2字节(16bit)
4)双字:4字节(32bit)
5)四字:8字节(64bit)
6)最低位(LSB),最高位(MSB)
硬件系统基本理解
1)微处理器:微机的中央处理单元(CPU)
1> 功能:对系统的各个部件进行统一地协调和控制
2)存储器:存放程序和数据的部件
1> RAM(随机存取存储器),例如:磁盘,主存
2> ROM(只读存储器),例如:光盘
3)I/O设备和I/O接口
1> I/O设备:微机上配备的输入和输出设备
2> I/O接口:外设和主机之间的桥梁
4)系统总线(地址总线、数据总线、控制总线)
1> 功能:连接各部件地共用通道
PC微机结构(16位 IBM PC/AT 微机结构)
1)微处理器
2)主存储器(由ROM和RAM构成)❗
1> ROM部分:主要是固化的ROM-BIOS(基本输入输出系统,是微机软件系统的最底层程序,用来驱动和 管理输入输出设备)
2> RAM部分:微机系统的贮存主要由RAM芯片构成
3)I/O接口(基本问题)
1> 中断:处理器正常执行程序的流程被某种原因打断并暂时停止,转向执行事先安排好的一段处理程序, 待该处理程序执行结束后仍返回中断位置继续执行过程
2> DMA(直接存储器存取):主存储器和外设之间直接的、不通过处理器的高速数据传送方式;例如:磁盘 与主存的大量数据传送就采用DMA方式
PC微机结构(32位)
1)微处理器(Intel IA-32处理器)
2)控制芯片组(主板上的核心部件,提供主板上的关键逻辑电路)
1> Cache:高速缓冲存储器,速度很快但容量很小的存储器
3)主存储器
1> 微机系统整体性能瓶颈:容量、主存速度
2> DRAM(动态随机存储器) ❗
3> SRAM(快速静态随机存储器) ❗
4)系统总线
计算机系统的层次结构
0)数字电路层
1)控制层
2)机器语言层:该层具有承上启下的功能 ❗❗❗
———软硬件界面———
3)操作系统层:操作系统是最主要的系统程序,这层也称系统软件层
4)汇编语言层
5)高级语言层
6)用户层
计算机程序设计语言
1)助记符:便于记忆,并能描述指令功能的符号(表示机器指令的操作码)
2)汇编语言:将机器指令用助记符代替而形成的一种语言
3)汇编程序:完成汇编工作的程序
软件与硬件的等价性原理
软件与硬件的等价性原理是指软硬件在逻辑功能上的等价 ❗
软件兼容与系列机和兼容机
1)软件兼容:向上(向下)兼容[机器性能],向前(向后)兼容[推出时间] ❗
2)系列机:指同一个厂家生产的具有相同计算机结构,但具有不同组成和实现的一系列不同档次、不同型号的 机器
3)兼容机:指不同厂家生产的具有相同计算机结构(不同的组成和实现)的计算机
操作系统
1)定义:操作系统❗管理着系统的软硬件资源❗,为用户❗提供使用机器的交互界面❗,位程序员使用资源提供可 供调用的驱动程序,为其他程序❗构建稳定的运行平台❗
2)MASM:微软公司开发的宏汇编程序
文件路径
1)文件路径:文件的分区和目录 ❗
2)绝对路径:文件的完整路径
3)当前目录:当前目录的位置
4)相对路径:从系统当前目录到文件所在目录的路径 ❗
补充
1)处理器执行指令过程(”取指—译码—执行周期“ )❗❗
1> 取指:处理器从主存储器读取指令
2> 译码:翻译指令代码
3> 执行周期:执行指令所规定操作的过程
2)DOS主要支持扩展名:exe、com、bat
3)奔腾系列处理器的多媒体指令:MMX、SSE、SSE2、SSE3
4)最初由IBM公司采用8080处理器和DOS操作系统推出PC机
5)奔腾处理器采用64位数据总线与主存相连
6)Intel 8086 支持1M容量的主存空间,80486支持4G容量的主存空间
7)IA-64结构不是IA-32结构的64位扩展
5)一些基本地系统介绍
1> 通用处理器:适合较广的应用应用领域的微处理器
2> 单片机:通常用于控制领域的微处理器
3> DSP芯片:数字信号处理器,适合处理高速的数字信号
4> 嵌入式系统:利用微控制器、数字信号处理器或通用处理器结合具体应用构成的控制系统
6)Intel 80×86 发展历史:
1> 8086:奠定了基本的16位指令集
2> 80286:提供了保护方式的指令
3> 80386:将指令集全面提升为32位
4> 80486:融入了浮点数据的处理指令
5> 奔腾系列:陆续增加了多媒体指令,最新的奔腾支持64位指令集,超标量技术
第二单元(处理器结构)
处理器的基本结构(算术逻辑单元、寄存器、指令处理单元)
1)算术逻辑单元(ALU)
1> 功能:负责处理器所能进行的各种运算(主要:算术、逻辑运算)
2> 补充:操作数据来自通用寄存器或主存,运算结果返回寄存器或主存
2)寄存器
1> 定义:用于暂时存放程序执行过程中的代码和数据的高速储存单元
2> 类别:透明寄存器和可编辑寄存器
(1) 透明寄存器:不可见、不能直接控制(可忽视)
(2) 可编辑寄存器:具有引用名称,供编程使用;分为通用寄存器和专用寄存器
1)通用寄存器:处理器中数量较多、使用频率较高、具有多种用途的寄存器
2)专用寄存器:只用于特定目的的寄存器
3)指令处理单元
1> 定义:处理器的控制单元,控制指令执行和信息传输
一些微机系统的功能结构
1)8086
1> 算术逻辑单元(ALU)
2> 寄存器
3> 指令处理单元
2)80386
1> 总线接口单元:为处理器提供与外部的接口
2> 指令预取单元:进行先行读取指令
3> 指令译码单元:从指令预取队列中取来指令
4> 指令执行单元:执行译码完成的指令
5> 分段单元:把程序中使用的地址(逻辑地址)变换成线性地址并进行保护检查
6> 分页单元:将线性地址变换成处理器对外的物理地址
3)奔腾(改进)
1> 超标量流水线
2> 分离cache[高速指令缓冲cache、高速数据缓冲cache],有两个32为数据接口
3> 哈佛结构:表示数据和指令分开存放的高速缓冲结构
4> 动态分支预测
通用寄存器 ❗❗❗
32位 | 16位 | 8位 |
---|---|---|
EAX (累加器,使用频度最高,用于算术运算、逻辑运算、与外设传送信息) |
AX | AH |
EBX (基址寄存器,常用存放储存器地址) |
BX | AL |
ECX (计数器,作为循环操作等指令的计数器) |
CX | BH |
EDX (数据寄存器) |
DX | BL |
ESI (原变址寄存器) |
SI | CH |
EDI (目的变址寄存器) |
DI | CL |
EBP (基址指针寄存器) |
BP | DH |
ESP (堆栈指针寄存器) |
SP | DL |
标志寄存器(重要)
标志的功能:用来反映指令执行结果,控制指令执行形式 ❗❗❗
状态标志 | 控制标志 | 系统标志 |
---|---|---|
CF(进位标志) | DF(方向标志) | IF(中断允许标志) |
PF(奇偶标志) | …… | TF(陷阱标志) |
AF(调整标志) | …… | |
ZF(零标志) | ||
SF(符号标志) | ||
OF(溢出标志) |
段寄存器 ❗❗
16位 |
---|
CS(代码段寄存器) |
SS(堆栈段寄存器) |
DS(数据段寄存器) |
ES(附加段寄存器) |
…… |
存储器组织
1)存储器以字节为基本单位每个储存单元分配一个唯一的物理地址 ❗
存储模型 ❗
1)平展存储模型:储存器是一个连续的地址空间,称为线性空间
2)段式存储模型:存储器由一组独立的地址空间组成,独立的地址空间称为段
3)实地址存储模型:段式存储模型的特例
工作方式
1)保护方式
2)实地址方式(IA-32,只能寻址1MB,每个段不超过64KB)
3)系统管理方式(SMM,为操作系统和核心程序提供节能管理和系统安全管理机制)
逻辑地址
1)基本段 ❗
1> 代码段:存放程序的指令代码
2> 数据段:存放当前运行程序的数据
3> 堆栈段:存放程序使用的堆栈
2)逻辑地址的计算:逻辑地址 = 段基地址 + 偏移地址
汇编语言基础
1)指令前缀:指令之前的辅助指令,用于扩展指令功能
……
语句格式
1)标号:处理器指令在主存中的逻辑地址,主要用于指示分支和循环等程序的目的地址
2)注:标号和名字不能以数字开头;汇编语言大小写不敏感
3)助记符:上有描述
4)注释:分号后面为注释
常用I/O子程序
子程序名 | 参数/功能 |
---|---|
DISP系列 |
输出系列 |
DISPMSG | EAX=字符串地址,printf(“%s”, a) |
DISPC |
AL =字符串的ASCII码,printf(“%c”, a) |
DISPCRLF | 无参数,printf(“\n”) |
DISPRD | 输出8个32位通用寄存器的内容 |
DISPRF | 输出6个状态标志的状态 |
DISPHD | EAX=32位数据,输出十六位进制的8位数据 |
DISPUID | EAX=32位数据,输出无符号十进制整数 |
DISPSID | EAX=32位数据,输出有符号十进制整数 |
READ系列 |
输入系列 |
READMSG | EAX=缓冲区地址,scanf(“%s”, &a) |
READC | AL=字符的ASCII码,输入一个字符 |
READHD | EAX=32数据,输入8位十六进制数据 |
READUID | EAX=32位数据,输入无符号十进制整数 |
READSID | EAX=32位数据,输入有符号十进制整数 |
例子:
mov eax, offset msg
call dismsg
寻址方式
1)立即数寻址方式
2)寄存器寻址方式
mov ebx, eax
3)存储器寻址方式
1> 偏移地址的组成
32位有效地址 = 基址寄存器 + (变址寄存器×比例) + 位移量
16位有效地址 = 基址寄存器 + 变址寄存器 + 位移量
2> 直接寻址
mov ecx, count
3> 寄存器间接寻址
mov edx, [ebx]
mov [esi], ecx
4> 寄存器相对寻址
mov esi, [ebx + 4]
mov edi, [ebp - 08h]
5> 变址寻址
:: 基址变址寻址
mov edi, [ebx + esi]
mov edi, [ebx][esi]
:: 相对基址变址寻址
mov eax, [ebx + edx + 80h]
mov eax, 80h[ebx + edx]
mov eax, 80h[ebx][edx]
6> 带比例的基址变址寻址
:: 带比例的基址寻址
mov eax, [ebx * 4]
:: 带比例的相对基址变址寻址
mov eax, [esi * 2 + 80h]
:: 带比例的基址变址寻址
mov eax, [ebx, esi * 4]
:: 带比例的相对基址变址寻址
mov eax, [ebx, esi * 8 - 80h]
补充
1)IA-32处理器复位后,首先进入的是实地址工作方式,该工作方式的分段最大不超 过64KB
第三单元(数据处理)
变量定义伪指令
助记符 | 变量类型 |
---|---|
BYTE | 字节 |
WORD | 字(2字节) |
DWORD | 双字 |
FWORD | 三字 |
QWORD | 四字 |
TBYTE | 10字节 |
Intel —— 小端方式
RISC(精简指令集计算机 —— 大端方式)
其他暂无
版权声明:本文为souldoms原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。