编程语言
首页 > 编程语言> > 【汇编语言与计算机系统结构笔记04】80x86计算机组织、保护模式、存储器、寄存器、计算机系统结构金字塔

【汇编语言与计算机系统结构笔记04】80x86计算机组织、保护模式、存储器、寄存器、计算机系统结构金字塔

作者:互联网

本次笔记内容:
05.80x86计算机组织

文章目录

计算机系统

在这里插入图片描述

如上图,CPU与主存间,通过一个bridge(总线)相连。上图还是比较抽象的,当前,CPU的一个趋势是,集成程度越来越高。

CPU中,PC即当前指令的地址,ALU是arithmetic and logic unit即计算路径。目前Memory Control、集成显卡等已经集成到CPU中了。

现在即便集成度(晶体管)提升,但性能并没有提升。因为程序往往是串行的,并行性有限。

在这里插入图片描述

上图中,在代码被从Disk中load到主存中,被CPU处理,再把信息投入显示器。

存储器 / 主存(main memory)

存储单元的地址和内容:

80x86处理器与保护模式

历史

8086 / 8088 微处理器
80186和80286微处理器
80286 CPU基本工作方式

32位80x86微处理器

80386微处理器
80x86的三种工作模式

实模式: 操作相当于一个可进行32位快速运算的8086;

保护模式: 是80x86设计目标达到的工作模式,通过对程序使用的存储区采用分段、分页的存储管理机制,达到分级使用、互不相互干扰的保护目的。能为每个任务提供一台虚处理器,使每个任务单独执行,快速切换。

虚拟8086模式: 保护模式下同时模拟多个8086处理器。

32位微处理器的寄存器
  1. 数据寄存器:16位80x86处理器原有的4个通用数据寄存器扩展为32位,命名为EAX、EBX、ECX和EDX。仍然可以使用原有的16位和8位寄存器,如AX、BX、CX、DX、AH、AL、BH、BL等,形式如下图。

在这里插入图片描述

  1. 地址寄存器:原有的4个主要用于内存寻址的通用寄存器同样扩展为32位,命名为ESI、EDI、EBP、ESP。在实地址模式下仍然可以使用原有的16位寄存器SI、DI、BP和SP。

  2. 指令指针寄存器扩展为32位,更名为EIP,实地址下仍然可以使用它的低16位IP。

在这里插入图片描述

  1. 在原有的4个段寄存器(CS DS SS ES)基础上,增加了2个新的段寄存器FS和GS。段存器长度均为16位,其中13位代表内存段的一个编号,称为“段选择器”。
保护模式下的80x86(段模式)

在操作系统中有讲过。

**保护模式保护什么?**分清不同程序使用的存储区域,不允许随便使用别人的数据和代码。必要条件为:

在x86-32体系结构的保护模式下,一个内存地址是由段基地址、偏移地址两个要素构成的。

每个段的描述(即段描述符)由三个要素构成段基地址(32位)、段长度(20位,段长度单位为2^12)、访问权限。段描述符的长度为64位。

出于系统兼容原因,段寄存器只有16位,如何表示64位的段描述符?答:通过描述符表,将段寄存器中的高13位值作为索引来访问该表,从而获得64位的段描述符。

描述符表分为两类:GDT与LDT。

在这里插入图片描述

如上图,GDT只存储在GDTR中的。段寄存器记录了本段在GDT上的位置,从而访问,获取相应描述符。

在这里插入图片描述

如上图,当T1=1时,首先通过LDTR在GDT上找到LDT的描述符(LDT本身也需要一个描述符),接着,段寄存器再在LDT找到自己索引的的描述符x。

寄存器与处理器的比较
寄存器 存储器
在CPU内部 在CPU外部
访问速度块 访问速度慢
容量小,成本高 容量大,成本低
用名字表示 用地址表示
没有地址 地址可用各种方式形成
计算机体系结构金字塔

在这里插入图片描述

如上图,速度与容量(低成本)不可兼得。

缓存,把最近最常使用的数据集放在cache中,效率大大提高。速度、成本、容量居于上下层次间。

可以把塔中每三个层次的中间层视为上下层次间的缓存。

标签:计算机系统,保护模式,04,微处理器,32,地址,描述符,寄存器,CPU
来源: https://blog.51cto.com/u_15279775/2937836