您的位置:首页 > 其它

汇编语言 第一章 基础知识

2011-02-08 12:44 369 查看
伪指令:作用是指导程序如何进行汇编 将程序或者相对于寄存器的地址载入寄存器中

1.4

cpu 依赖读取内存中的指令和数据 才能工作

1.5

在内存中 指令和数据没有任何区别;都是二进制信息 ;但是在cpu读取的时候 例如1000100111011000 同样的一条指令;既可以看做是89d8h这个数据来看,还可以看做是mov ax,bx这个指令来看; 总结一句话:cpu读取二进制信息的时候 可以把它看作是指令 或者数据;

1.6

存储器是被划分成若干个存储单元,每个存储单元从0开始排号;比如有一个存储器有128个存储单元 那么他有0~127个存储单元;每个单元1个字节 8位;存放2进制信息;

1.7

cpu有管脚 用来与总线相连 从而操作主板上的所有器件 总线内置在主板上 总线有3种 分别为 地址总线 控制总线 数据总线 ,

例如cpu要读取内存中的数据:

^首先cpu通过地址总线发出将要读取的几号地址信息发出

^然后通过控制总线发出读命令 选中存储器芯片准备读取数据(先有想法 再有行动)(笨笨笨!这个问题想这么久)

^最后存储器将要读取的地址单元 通过数据总线把对应的存储器中里对应的存储单元 返回给cpu <-(这里是读写的区别)

例如cpu要写入内存中的数据(内存无非就是可读可写两个功能):

^首先 cpu通过地址总线 发出要写入的地址单元

^然后 cpu通过控制总线 发出要写入的命令 找到要写入的那个存储器

^最后 cpu通过数据总线 把要写入的数据 给那个存储器下的地址单元. (<-区别)

他俩的区别就是 一个是读操作返回给cpu 写入操作返回给内存;

问:如何驱动cpu进行读写操作?(cpu为什么可以通过2进制电平信息进行操作?)

答:输入能够驱动它工作的电平信息 例如101000000000001100000000(24位) 2进制信息 这个不是数据 是指令;意思是从3号单元读取的数据放到寄存器ax中 汇编指令:MOV AX,[3]

1.8 地址总线:

2^N = 可表示多少个数 = 内存单元的个数 = 寻址能力 N是总线数也叫做宽度 有多少总线cpu就能找到多少个内存单元;

1.9 数据总线:数据总线的宽度决定了cpu传输数据的速度;64位处理器说的就是一次可以传输64位数据 即数据总线宽度为64,有64根数据总线;每一根导线传输1位 一共64位 即64bit 等价于8个字节byte;一次可以传输8个字节的数据;

这里想到cpu和内存之间的关系:

64位处理器 他的寻址能力 是2^64 = 21.5亿个G = 2097452 TB 平时家里插4个G 对于cpu来说绰绰有余;不会担心说插了过大的内存条 却寻不到地址;再大也没有用的情况了;64位处理器 这里数据总线中 数据总线 控制总线 地址总线 个数不一定都一样;

如何传送一个89D8的数据?

先传D8即11011000 后传89即10001001 总线中从下往上按照顺序排列2进制信息;我估计先传D8在右边 后传89在左边 左边加上右边正好是89D8 所以采用了这个顺序;这个时候 8088 8086分别是8和16跟数据总线;8088需要2次 而8086cpu只需要一次 时间就减少了;

1.10 控制总线 :有多少根控制总线就意味着cpu对外部器件有多少种控制 ; 所以控制总线的宽度决定了cpu的控制能力;

cpu的管脚可能不止引出这3类总线 那么cpu可以引出多少种总线?

检测点1.1练习纸;

1.11 内存地址空间:

2^10 = 1024 byte =1024个存储单元;

1.12~1.15 硬件相关知识总结:

主板:芯片组(南桥(外围接口 扩展插槽 的数据流通) 北桥(cpu 插槽内存 主板内存之间的数据交流) bios(放在rom中是主板的相关设置) ) 外围接口 扩展插槽

显卡: 显存 GPU (显示器显示什么跟显存有直接联系)

内存地址空间 是 逻辑上的存储器 分为:

主存储器地址空间;显存地址空间;显卡 网卡 主板的rom地址空间;

内存地址空间的大小 受 cpu地址总线的宽度限制; 寻址能力就这么大;能找到多少个内存单元的个数;

在逻辑上给这些地址空间划分地址段 按照地址段cpu写入数据;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: