【大白分享】处理器芯片架构或者指令集之X86架构
  

山东_朱文鑫 33042人觉得有帮助

{{ttag.title}}
本帖最后由 山东_朱文鑫 于 2023-6-1 00:01 编辑

大家好,我是大白,请你一定要勇敢地为自己站出来,温柔地推翻这个世界,然后把世界变的更加美好。依旧感谢各位小伙伴的一路支持与陪伴。

本篇依旧借上篇文章国产化之路介绍以及信息汇总一篇通,从中介绍了国产化相关的背景信息,以及个人整合的一下信息材料与各位小伙伴进行分享学习,小伙伴们每天在说的X86、ARM等架构,真正的了解这些架构的原理与底层吗?

【大白分享】国产化之路介绍以及信息汇总一篇通(操作系统、服务器、数据库、中间件、CPU架构):https://bbs.sangfor.com.cn/forum ... ;extra=#/pid3461071




上篇文章在CPU处理这一部分引出了各种CPU下的架构或指令集下的主流CPU处理器,从本篇开始我们就开始深入学习CPU下的各类不同架构或指令集的原理底层,本篇就从我们熟知的X86的架构开始讲解。



我们所说的X86,是指基于Intel X86架构处理器的一套指令集,即X86指令集,而CPU的架构是最底层的,是处理器的硬件结构,即CPU按照什么样的硬件结构来设计(架构是一个框架,架构确定,则硬件结构大体就确定了,同一架构的不同型号CPU可能只是某些细节设计不一样)

并且架构CPU的指令集,是由该CPU架构决定的,如X86指令集,是因为该CPU采用了X86结构,所以才叫X86指令集,指令集是指某种架构CPU能实现的所有功能,这些功能对应的代码编号构成指令集。



代码编号应该就是指机器码这种底层代码,某种架构CPU架构确定后,代码编号就确定了,这些编号反映了CPU以什么样的方式去执行某些功能,决定了硬件的执行方式;前面说这些代码编号可能就是机器码,机器码就是二进制数字,二进制数字反映在电路上就是高低电平,从而驱动电路运行;不同代码编号的二进制数字排列就不同,所以驱动电路的高低电平就不同,所以电路执行的方式就不同。



x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构,并且X86架构使用了CISC(复杂指令集计算机)。

早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指令来完成所需的计算任务,虽然CPU作为处理核心,但是单独的CPU是无法完成复杂的计算机动作、应用等任务。

计算的处理模式:

所以CPU是这台计算机的大脑,总线组成CPU和其他设备的高速通道,内存存储介质,保存CPU计算的中间结果,加上其他设备如:显卡/显示器、磁盘控制器/磁盘、usb控制器/鼠标键盘等,组成了一整个计算机体系结构。



CPU和内存是完成计算任务的核心组件,CPU其实也不是单独一块,它包括三个部分,运算单元 ,数据单元和控制单元。



    1.运算单元只管算,例如做加法,做位移等等。但是它不知道应该算哪些数据,运算结果应该放在哪里。运算单元计算的数据如果每次都要经过总线,到内存中去现拿,这样就太慢了。

    2.所以有了数据单元。数据单元包括CPU内部的缓存和寄存器组,空间很小,但是速度飞快,可以暂时存放数据和运算结果。

    3.有了放数据的地方,也有了算的地方,还需要有个指挥到底做什么运算的地方,这就是控制单元。控制单元是一个统一的指挥中心,它可以获得下一条指令,然后执行这条指令,这个指令会指定运算单元取出数据单元的某几个数据,计算出结果,然后放在数据单元的某个地方。



CPU的控制单元中,有一个指令指针寄存器,执行的是下一条指令执行的地址,控制单元会不停的将代码段的指令拿出来,先放进指令寄存器,当前的指令分为俩部分,一部分是做什么操作,是加法还是位移;一部分是操作哪些数据。


CPU和内存传输数据都是依靠总线,总线上主要有俩类数据,一个是地址数据,也就是我想拿内存中哪个位置的数据,这类总线叫做地址总线(Address bus);另一类总线叫数据总线(data bus)。


关于X86的架构,上述也说到是从Inter 8086中央处理器出现,x86架构是重要地可变指令长度的CISC(复杂指令集计算机。字组(word, 4字节)长度的存储器访问允许不对齐存储器地址,字组是以低位字节在前的顺序储存在存储器中。在较新的微架构中,x86处理器会把x86指令转换为更像RISC的微指令再予执行,从而获得可与RISC比拟的超标量性能,而仍然保持向前兼容。x86架构的处理器一共有四种执行模式,分别是真实模式,保护模式,系统管理模式以及虚拟V86模式。




    1.数据单元,为了暂存数据,8086处理器内部有8个16位的通用寄存器,也就是刚才说的CPU内部的单元数据,分别是AX,BX,CX,DX,SP,BP,SI,DI,这些寄存器主要用于在计算过程中暂存数据。这些寄存器比较灵活,其中AX,BX,CX,DX可以分为俩个8位的寄存器来使用,分别是AH,AL,BH,BL,CH,CL,DH,DL其中H就是High(高位),L是LOW(低位),这样,比较长的数据也可以暂存。

    2.控制单元,IP寄存器就是指令指针寄存器(instruction Pointer register),指向代码段中下一条指令的位置,CPU会根据它来不断的将指令从内存的代码中,加载到CPU的指令队列中,然后交给运算单元去执行。每个进程都分代码段和数据段,为了指向不同进程的地址空间,有四个16位的段寄存器,分别是CS,DS,SS,ES。其中CS是代码段寄存器(Code segment register),通过它可以找到代码在内存中的位置。DS是数据段的寄存器,通过它可以找到数据在内存中的位置。SS是栈寄存器(Stack register)。栈是程序运行中的一个特殊的数据结构,数据的存取只能从一端进行,秉承后进先出原则,push就是入栈,pop就是出栈。

再就是关于CPU的32位与64位,因为64位是对32位处理器的延伸性兼容,我们主要看一下32位



在32位处理器中有32根地址总线,可以访问2^32=4G的内存。通用寄存器有扩展,可以将8个16位的扩展到8个32位的,但是依然可以保留16位的和8位的使用方式,其中指向下一条指令的指令指针寄存器IP,就会扩展成32位的,同样也兼容16位的,而64位则会在应用、内存拓展性等方面更大的拓展了32位下的空间。




本篇主要是详解处理器芯片X86架构下的底层原理,以及各个组成模块下的交互方式,以及32下与64位下的主要结构。


以上就是本次的处理器芯片架构或者指令集之X86架构的帖子,感谢大家的参阅支持,一同学习,向大家提供更加优质的技术信息!


励志分享超清壁纸语句~~:



为者常成,行者常至。——《晏子春秋》


好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!



打赏鼓励作者,期待更多好文!

打赏
42人已打赏

易逝的信仰 发表于 2023-5-29 10:24
  

感谢分享,作者的内容非常的翔实,为你点赞,如你所愿,送你上去
伊利丹·怒风 发表于 2023-5-29 10:35
  

感谢分享,作者的内容非常的翔实,为你点赞,如你所愿,送你上去
嘀嘀柠柠 发表于 2023-5-29 14:26
  
感谢分享,作者的内容非常的翔实,为你点赞
原鹏程 发表于 2023-5-29 14:50
  
感谢楼主分享,努力学习中!!!!!!!
韩_鹏 发表于 2023-5-29 17:05
  
感谢分享                                                              
新手517842 发表于 2023-5-29 22:05
  
感谢分享,作者的内容非常的翔实,为你点赞
新手899116 发表于 2023-5-29 22:10
  
感谢分享,作者的内容非常的翔实,为你点赞
JM 发表于 2023-5-29 22:14
  
感谢分享,作者的内容非常的翔实,为你点赞
新手780102 发表于 2023-5-29 22:17
  
感谢分享,作者的内容非常的翔实,为你点赞
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
产品连连看
新版本体验
功能体验
标准化排查
自助服务平台操作指引
GIF动图学习
2023技术争霸赛专题
通用技术
运维工具
信服课堂视频
秒懂零信任
技术晨报
用户认证
社区帮助指南
答题自测
深信服技术支持平台
安装部署配置
上网策略
SDP百科
设备维护
每日一记
项目案例
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人