intel cpu 和 软件栈

本文详细讲述了IntelCPU的发展历程,包括8086、80386等典型CPU及其对应的模式,探讨了x86架构的兼容性和向后兼容性。同时,文章还涵盖了BIOS的服务历程,以及Linux启动过程对BIOS的使用情况。
摘要由CSDN通过智能技术生成

intel cpu

intel x86 cpu 兼容性

x86 的cpu 都是向后兼容的.
为 某个 intel cpu 写的 软件和 OS 能跑在之后发布的 intel cpu上
所以你的x86_64 cpu 也能跑 dos 和 windows 1.0

intel cpu 模式及对应cpu

8086802868038680486、Pentium、Core i3、Core i5等。
    
实模式时代典型CPU   : 8086
保护模式时代典型CPU : 80386,又叫i386
长模式时代典型CPU   : 

intel cpu的各个 时代

这些时代及模式都是后来取的,当时并没有这些概念.
长模式也叫AMD64模式,也叫x86_64保护模式
模式种类实模式实模式 和 x86保护模式实模式 和 x86保护模式 和 长模式
架构名称808680386(i386)/i686/x86x86_64
寻址空间20根地址线,可扩展到1M4G2^64B
安全(访存)段寄存器+通用寄存器段描述符索引 和 GDTR 和 段描述符
安全(特权级)没有此概念ring0/1/2/3同保护模式
安全(寄存器)能访问所有的指令和寄存器ring0也不能访问所有的指令和寄存器同保护模式
安全(中断)没有权限问题,直接发生由中断描述符表确认权限,确定是否发生
特点直接操作,没有权限概念用段描述符增加权限概念弱化段模式管理,保留权限概念
启动流程直接上电实模式上电实模式->保护模式上电实模式->保护模式->长模式
软件栈实模式:BIOS+DOS1.实模式:BIOS+GRUB+Linux 2.保护模式:GRUB+Linux1.实模式:BIOS+GRUB+Linux 2.保护模式:GRUB+Linux 3.长模式:Linux
BOOT流程1BIOS,然后加载DOS,DOS运行在实模式BIOS加载硬盘中的第一个扇区数据,到0x7c00地址开始的内存空间,然后跳转到0x7c00处执行指令,一般是grub同保护模式时代
BOOT流程2-GRUB在启动命令行前进入保护模式,但在转交控制权给kernel前会进入实模式同保护模式时代
BOOT流程3-linux会完成从实模式到保护模式,用户运行时都是保护模式linux会完成从实模式到32位保护模式,再到64位保护模式的转换,用户运行时都是64保护模式

x86_64保护模式时代下的软件栈

BIOS

cpu上电从 物理地址0xffff0 启动,0xffff0区域内是BIOS代码
BIOS代码进行硬件的诊断,检测和初始化,建立软件例程(后期供其他软件调用)
BIOS代码从辅助存储设备(仅支持硬盘,光盘,U盘)001扇区读取512字节(一般叫MBR)数据到 物理地址0x7c00,然后跳转到物理地址0x7c00执行

BIOS全程运行在 实模式.如果陷入 BIOS,则也会进入实模式

BIOS的替代品是 UEFI
    
BIOS的 软件例程(TODO)
实模式下1M空间的memory map(TODO)

在这里插入图片描述

grub

这里描述的是grub,不是grub2
grub的第一行代码运行在实模式.在stage2开始的活动中,要设置好C环境,进入x86保护模式,并在该模式下获取命令,执行命令
grub在调用内核时转换为实模式.

GRUB的替代品是 grub2 和 UEFI

linux

linux会完成从实模式到32位保护模式,再到64位保护模式的转换,用户运行时都是64保护模式

其他

x86 8086实模式 向 32位保护模式转换

1. 设置 GDT表
2. 保持 CS描述符高速缓存器中的D位 为 1 // 决定了处理器当前的操作尺寸为32
3. 设置CR0 bit 01 开关 // 进入保护模式,由于 D位为1 ,则为 32位保护模式
4. ???

8086 cpu

Intel 8086 CPU于1978年产生。
这是一款16位的微处理器,由Intel公司设计和推出。
8086 CPU是x86系列处理器的起源,它采用了16位的内部数据总线和外部数据总线,并且具有20位的物理地址总线。
8086 CPU在当时具有较高的计算能力和灵活性,并且成为了后来PC(个人计算机)的基石。

值得注意的是,8086 CPU的设计和推广工作始于1976年,但是实际的产品发布和交付是在1978年。
这种微处理器在1980年代初迅速普及开来,并成为第一个IBM PC的处理器,从而推动了个人计算机的普及化。

MCS-51 单片机 和 x86 的关系

MCS-51 和 x86架构无关
但是MCS-51 的内核 8051 属于 8051架构.
8051,8051架构,x86架构都是intel的产品,且他们属于CISC架构
Intel于1980年推出了Intel 8051单片机,它是一种8位的微控制器,被广泛应用于各种嵌入式系统中。8051单片机由于其低成本、低功耗和多功能性,成为了嵌入式系统中最常用的单片机之一。

Intel的设计者们在开发8051时,采用了许多创新的设计理念和技术。
由于Intel的推广和市场份额,8051单片机获得了广泛的认可和应用。
该系列芯片逐渐演进成了805280C51、87C51等多个版本和变种。

此外,Intel还授权了许多其他公司生产8051单片机,并提供了相应的开发工具,使得8051成为了全球范围内最为流行的单片机之一。
虽然现在有许多其他的单片机架构和型号可供选择,但8051仍然被广泛使用于各种应用领域,包括家电、工业自动化、通信等。
8051系列单片机中的指令集由Intel推出,并且在后来得到了各种扩展和变种的发展。在其中,MCS-51 单片机声名远扬.

可以认为 8081单片机器 里面有个 cpu , 该cpu也叫8051 ???
----------------------------------------

Intel 8051并不是基于8086处理器设计的。它是一种独立的8位微控制器,由Intel公司独立开发。8051使用的是Harvard架构,拥有自己独立的指令集和架构。

虽然80518086都是由Intel设计的处理器,但它们的设计和目标应用领域不同。8086是一款16位的通用微处理器,主要面向桌面和服务器级的计算机系统。而8051则是一款专用于嵌入式系统的8位微控制器,被广泛应用于各种嵌入式设备中,如家电、工业自动化、通信等。

关于CISC(Complex Instruction Set Computer)的分类,80518086都可以被归类为CISC架构。CISC架构的处理器特点是具有丰富的指令集,它们的指令可以执行复杂的操作,并且支持多种寻址模式。这与RISC(Reduced Instruction Set Computer)架构的处理器相比,后者设计更为精简,指令集更加简洁。

但是他们都属于CISC , 你能在 8051 身上看到 8086的影子.
----------------------------------------------

在 MCS-51 系列里,所有产品都是 以 8051为核心电路发展起来的,他们都就具有80561的基本结构和特征.
MCS-51单片机属于8051系列单片机,其指令集架构是CISC(Complex Instruction Set Computing)复杂指令集计算机。
所有的 51 系列单片机 都是基于 8051 cpu的 SOC
-----------------------------

mcs-51 没有 RISC 典型的 load store 指令
mcs-51 是个soc , 基于 8051 cpu , 8051 又有8086 的影子. 但又有不同.
	S1. 8051 通用寄存器 A 和 B , 8086 有 AX BX CX DX
	S2. 80518086都有状态寄存器,名叫 PSW,都有堆栈指针,叫SP
	
	D1. 8051没有分段机制,但是8086有分段机制
	D2. 8051基于哈佛架构,8086基于冯诺依曼结构
	
8051 cpu , 8086 cpu 都是 CISC 架构.
我们一般不说 soc 是什么架构的,如果soc基于 一个cpu,该cpu是cisc的,那么该soc 就是 cisc架构的.
//即 你可以说 MCS-51 是 CISC架构的,具体属于8051架构
//8051架构,8086架构,80386架构,x86架构,x86_64架构 : 这些概念同级

bios 服务历程是什么

是 bios 提供的 中断服务程序
// 在实模式下
如何进入 : 通过 int 0x16 ; // 0x16 是键盘服务,从键盘读取一个按键.返回时,字符代码在寄存器AL中.
通过 int 0x10 打印一个字符 ;// 通过寄存器AL 传递 要打印的字符.

// 在保护模式下
1. OS 设置中断门描述符 , 该中断门描述符可以索引到 BIOS提供的中断服务历程
2. 通过int 0x16 来 从按键读取一个按键.
// 不过一般 OS启动之后,就不再兼容 "BIOS 服务历程了",即不会设置索引到BIOS中断服务历程的中断门描述符,而是由OS直接和硬件交互.

linux 启动过程中用到了bios历程吗?

会用到 // 什么时候用到了?
但是正常运行时就无法使用BIOS服务历程了
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值