Linux内核开篇-了解内核前的基础知识概述2

cpu架构

单元

  • 运算单元
    • 运算工厂。源数据从数据单元获取,运算完成后输出回数据单元。运算逻辑从控制单元获取。
  • 数据单元
    • 数据寄存器和数据缓存集合,避免每次从内存获取数据设置的cache。通过数据总线与内存读写交互。
  • 控制单元
    • 通过地址/数据指针指向当前运行程序的地址段/数据段,主要功能是指令解析。

总线

  • 数据总线
    • 位数越高代表一次能获取的数据位数越多。
  • 地址总线
    • 位数越高代表寻址范围越大,平时说的20位(8086),32位(80386)都是说的地址总线位数。
  • 控制总线
    • 传输控制信令。
经典8086 寄存器组成
  • 控制单元

    • CS
      • 代码段寄存器,指向当前运行进程内存中的代码段。
    • DS
      • 数据段寄存器,指向当前运行进程内存中的数据段。
    • SS
      • 堆栈段寄存器
    • ES
      • 拓展段寄存器
    • IP
      • 代码段偏移量,由CS中取出的地址左移4位 + 本寄存器的偏移,总线共20位,最大可寻址1M。当然个人理解,CS中的地址左移动16位置,刚好能体现8086最大的页64K(16位)
  • 数据单元

    • AX
    • BX
    • CX
    • DX
    • SP
    • BP
    • SI
    • DI

    实模式和保护模式

    • 不同模式实际上是指CPU和OS约定好以何种方式使用寄存器
    • 实模式
      • CPU控制单元寄存器中存的是内存中的实际地址,因为8086定下了架构,所以实模式下能访问的最大内存是1M。
    • 保护模式
      • CPU控制单元寄存器中的内容改为选择子,根据GDT,LDT表查找内存。简单点说是加了一个中间层。
https://www.cnblogs.com/chenwb89/p/operating_system_003.html
一些常用汇编命令
  • mov
  • call
  • jmp
  • int
  • ret
  • add
  • or
  • xor
  • shl
  • shr
  • push
  • pop
  • inc
  • dec
  • sub
  • cmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值