美文网首页
处理器、内存、指令

处理器、内存、指令

作者: 风凡的雪 | 来源:发表于2019-02-15 22:29 被阅读0次

1.了解Intel8086处理器的通用寄存器和段地址加偏移地址的内存访问方式
8个通用16位的通用寄存器,CS、DS、ES、IP四个寄存器。
段地址左移四位 + 偏移地址
2.了解分段机制对程序重定位的好处
代码编写简单(使用偏移地址),支持程序被加载到内存的任一位置
3.理解Inter8086处理器内存分段的本质,充分认识到这种分段机制的灵活性
本质是逻辑的将代码或者数据放在任一位置,灵活在于代码的编写对于地址是没有感知的

字节、字、双字、四字

Inter处理器采用低端字节序,低字节位于低地址部分,高字节位于高地址部分

立即数的概念:如果这个数在指令中明确给出了,不需要再去内存中访问,这个数就是立即数。如果指令中给出的是地址,真正的数还需要到内存中访问才能拿到,则不是立即数

指令和非指令的普通二进制数一样,处理器只要把数据取来,就会按照指令的方式去执行它。所以我们会把指令和数据 放在内存中的不同区域,存放指令的区域叫做代码区,存放数据的区域叫做数据区

内存分段机制:如果在汇编代码中直接写死地址,当程序被加载到内存的地址变化时,那么就会访问到错误的数据,或者是执行错误的指令,所以需要重定位技术。一个内存单元的地址用 “段地址:偏移地址“来表示,这样的话我们在编写汇编代码的过程中,使用的地址就是偏移地址。当把程序或者数据段加载到内存时,会设置DS和CS这两个寄存器的值,然后用段地址:偏移地址来寻址

x86中,寄存器是16位的,只能访问64KB的内存,但是这个容量对于当时来说也是太小了,所以有20位的地址线。那么用16位的段地址和偏移地址,如何才能表示20位的内存空间呢,将段地址左移4位,然后加上偏移地址,就是20位的段地址加上偏移地址就是二十位的了。

相关文章

  • java内存模型总结

    概念 内存屏障 内存屏障是一组处理器指令,用于实现对内存操作的顺序限制; 缓冲行 缓存中可以分配的最小单位,处理器...

  • (十四)内存屏障

    重排 内存屏障 内存屏障种类 编译器和处理器必须同时遵守重排规则。多核处理器需使用内存屏障指令来确保一致性。即使编...

  • 处理器、内存、指令

    1.了解Intel8086处理器的通用寄存器和段地址加偏移地址的内存访问方式8个通用16位的通用寄存器,CS、DS...

  • 多线程笔记

    第1课: 1、处理器内存模型2、JMM 共享内存通信3、原子操作指令4、先行发生原则 happen-befor...

  • Java并发机制的底层实现原理

    volatile的应用 valatile实现原则Lock前缀指令会引起处理器缓存回写到内存一个处理器的缓存回写到内...

  • 2019-09-04 volatile lock前缀的指令在多核处理器下会将当前处理器缓存行的数据会写回到系统内存...

  • 硬件虚拟化较纯软件虚拟化的优势

    CPU硬件虚拟化 传统处理器 传统的处理器通过选择不同的运行(Ring 特权)模式,来选择指令集的范围,内存的寻址...

  • Java并发基础

    volatile关键字 保证共享变量的可见性 使用Lock指令保证可见性a.引起处理器缓存回写到内存b.处理器缓存...

  • JavaWeb系列读书笔记(六)JVM内存管理

    物理内存和虚拟内存 物理内存就是RAM和寄存器(用来存储计算单元执行指令的中间结果)。连接处理器和RAM或者寄存器...

  • 【笔记】深入分析JavaWeb技术内幕-(五)JVM内存管理

    物理内存与虚拟内存 物理内存RAM(随机存储器),寄存单元为寄存器,用于存储计算单元执行指令的中间结果。连接处理器...

网友评论

      本文标题:处理器、内存、指令

      本文链接:https://www.haomeiwen.com/subject/kpnmeqtx.html