8086汇编 CPU内存交互
Posted xiangsikai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8086汇编 CPU内存交互相关的知识,希望对你有一定的参考价值。
8086汇编 计算机传输详解
基础了解
一、计算机存储单元
计算机数据可以被存储在内存与磁盘中,对于计算机来说他们不同的数据有着不同的含义,他们可以被分为指令与数据,而这些存储在计算机的数据都会有着固定的大小,根据计算机的存储单元来决定。
数据量:B、KB、MB、GB、TB...
存储单元:https://www.cnblogs.com/xiangsikai/p/9468131.html
二、计算机内存存储
计算机对于数据都是采取二进制的方式存储,而对于CPU管理,数据主要以十六进制补码的方式存储在内存中,方便管理及使用。在汇编语言里不同的进制会采用字母表示(例1)。在存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号,内存地址为16进制表示(例2)。
补码:https://www.cnblogs.com/xiangsikai/p/12371424.html
例1
- 1000100111011000B (二进制)
- 89D8H (十六进制)
- 104730O(八进制)
- 35288D(十进制)
例2
一个存储器有128个存储单元,编号从0~127。
三、计算机中的总线
1、总线说明
在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
- 物理上:一根根导线的集合。
- 逻辑上划分为: 地址总线、数据总线、控制总线。
2、地址总线
- CPU是通过地址总线来指定存储单元的。
- 地址总线宽度,决定了可寻址的存储单元大小。
- N根地址总线(宽度为N),对应寻址空间2N。
3、数据总线
- CPU与内存或其它器件之间的数据传送是通过数据总线来进行的。
- 数据总线的宽度决定了CPU和外界的数据传送速度。
例:向内存中写入数据89D8H时的数据传送
4、控制总线
- CPU通过控制总线对外部器件进行控制。
- 控制总线是一些不同控制线的集合
- 控制总线宽度决定了CPU对外部器件的控制能力。
5、其他说明
说明:8086类型的CPU地址总线宽度为20,寻址能力相当于2的20次方,数据总线为16,一次性传递数据2B,读取1k数据需要512次。
内存的读写与地址空间
一、CPU对存储器的读写
1、说明
CPU要想进行数据的读写,必须和外部器件进行三类信息的交互:
- 存储单元的地址:(地址信息)
- 器件的选择,读或写命令:(控制信息)
- 读或写的数据:(数据信息)
2、案例
机器码: 101000000000001100000000
16进制:A00300
汇编指令:MOV AL,[3]
说明:
- CPU 地址线 获取内存地址号3
- CPU 控制线发送读信号
- CPU 数据线 将内存08数据读取到 AL寄存器内
二、内存地址空间
1、内存空间
CPU地址总线宽度为N,寻址空间为2NB。
8086CPU的地址总线宽度为20,那么可以寻址1MB个内存单元,其内存地址空间为1MB。
RAM与ROM构成了整个内存空间。
说明:
- RAM 随机存储器,可读可写,断电会丢失,动态存储
- ROM 只读存储器,系统存储的重要信息
2、将各类存储器看作一个逻辑存储器统一编址
- 所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器;
- 每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间;
- CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
3、内存地址空间的分配方案以8086PC机为例
每段地址空间对应的 内存地址空间段。
以上是关于8086汇编 CPU内存交互的主要内容,如果未能解决你的问题,请参考以下文章