当前位置: 首页 > Linux

X86架构(CPU、总线、内存)

时间:2023-04-06 22:20:16 Linux

在此说明:刘超有趣的讲Linux操作系统是比较重要的参考资料。本文大部分内容和所有图片均来自本专栏。00.计算机工作模式关键词:CPU、总线、内存、其他设备理解:计算机只是通过cpu进行数据计算,中间结果存放在内存中,最终的计算结果传递给其他进程进行处理。CPU是这台电脑的大脑总线由CPU和其他设备的高速通道内存存储介质组成,保存CPU计算的中间结果,其他设备,显卡/显示器,磁盘控制器/磁盘,usb控制器/鼠标和键盘等01、CPU与内存关键词:计算单元、数据单元、控制单元、代码段、数据段、指令指针寄存器、进程切换、总线理解:CPU内部有3个单元。当程序加载到内存中时,CPU通过总线读取进程的数据段(数据)和代码段(指令),并将运算结果写回数据段。运算器只做加法、移位等运算。数据单元包括CPU内部的缓存和寄存器组,空间小,速度快,可以暂存数据和运算结果。控制单元是一个统一的指挥中心,它可以得到下一条指令,然后执行这条指令。这里的内存段简单分为两部分,代码段和数据段,分别存放指令和数据。指令指针寄存器是控制单元的一部分,用于存储下一条指令在内存中的位置。CPU中有两个用于进程切换的寄存器,分别用来保存当前处理进程的代码段起始地址和数据段起始地址(A进程切换B进程后,指令指针寄存器也会指向B的代码段)。总线的位数有地址总线决定寻址范围,数据总线的位数决定一次读取多少数据。02.x86平台关键词:开放、统一、兼容理解:约定俗成03.x86平台处理器关键词(8086处理器和32位处理器):CS、DS、SS、20位地址总线、32位地址总线,段描述符、选择器、实模式、保护模式的理解:实模式是针对16位处理器(20bits总线),但不兼容32位处理器(32bits总线),会从实模式切换到保护模式。04.总结对于X86架构,32位处理器会启用段工作模式。当CPU寻址内存时,段选择符被存储在控制单元寄存器中。通过它,在内存表中找到段描述符,最终得到段起始地址。下图说明了该模式下cpu各单元和内存的工作模式。05.练习题#了解汇编指令:mov,call,jmp,int,ret,add,or,xor,shl,shr,push,pop,inc,dec,sub,cmp#答案:moveab:设置值ofb赋值给a,makea=bcallandret:call调用子程序,子程序以ret结束jmp:无条件跳转int:中断指令addab:addition,a=a+bor:oroperationxor:exclusiveoroperationshl:arithmetic左移ahr:算术右移pushxxx:将xxx压入栈popxxx:xxx出栈inc:add1dec:subtract1subab:a=a-bcmp:减法比较,修改flag参考极客时间-x86架构x86汇编指南Linux学习笔记《六》