zoukankan      html  css  js  c++  java
  • 汇编学习-第二章(CPU工作原理)

    1、逻辑地址与物理地址

    逻辑地址:人为假设计算机分散的内存连接一起,并分好段。上面的地址称逻辑地址。

                        逻辑地址 = 基地址(段地址 * 16) + 偏移地址

    物理地址:存储单元在计算机中的唯一编号。CPU访问存储单元需要的地址。

    2、通用寄存器

    一个典型的CPU,由控制器、运算器、寄存器等组成,通过内部总线连接。

    内部总线实现CPU内部期间的联系。

    外部总线实现CPU与主板上其他期间联系。

    8086有16个通过寄存器

    AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW

    寄存器为16位,存储值最大值为(2的16次方-1)。因为intel公司的向上兼容性。

    AX,BX,CX,DX均可拆分2个8位寄存器。AH和AL,其他类似。

    3、字与字节

    字节:byte = 8位

    字:两个字节 = 16位

    4、16位CPU实现20位物理地址的方法

    8086内部为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64K。

    8086外部有20位地址总线,可传送20位地址,寻址能力为1M。

    8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。

    段地址+偏移地址 -> 地址加法器 -> 20位的物理地址。

    地址加法器合成物理地址的方法:段地址×16+偏移地址=物理地址。

    “段地址×16”有一个更为常用的说法就是数据左移4位。(二进制位)

    二进制的数据左移4位,二进制中左移一位等于乘2,移动四位便是乘16

    5、段的概念

    相对CPU,内存被分为很多段。使用段,那么就是使用逻辑地址。由4可以得知段的首地址一定为16的倍数

    6、段寄存器CS和IP

    CS:代码段寄存器

    IP:指令指针寄存器

    CS中存着基地址,IP存着偏移地址

    7、修改CS和IP

    可以用汇编指令:JMP

    CS和IP都修改:jmp 段地址:偏移地址

    用指令给的段地址修改CS,给出的偏移地址修改IP

    只修改IP:jmp 某一合法寄存器

    仅修改IP的值

    CPU与内存的联系:

    16位CPU实现20位物理地址的方法:

    原创博文,转载注明出处!

    本文由作者原创,如需转载注明出处!
  • 相关阅读:
    【.NET】VS2013创建Windows服务与调试服务
    【JS】处理数据四舍五入(tofixed与round的区别详解)
    【微信小程序】 基础语义笔记2:基本组件、获取节点信息
    面向对象和面向过程的优点和缺点
    【微信小程序】 基础语义笔记1:配置、页面文件、组件。
    【微信小程序】 wxParse组件
    zookeeper 碎片知识点
    zookeeper 基本概念
    RocketMQ 知识点
    单例模式---双层检验锁+volatile
  • 原文地址:https://www.cnblogs.com/Fsiswo/p/8364590.html
Copyright © 2011-2022 走看看