X86寄存器组织结构

合集下载

X86主板架构及硬件系统介绍

X86主板架构及硬件系统介绍

X86主板架构及硬件系统介绍一、X86主板架构概述1. 中央处理器(Central Processing Unit,CPU)插槽:用于安装CPU,支持多种类型的X86 CPU,如Intel的Core系列和AMD的Ryzen系列。

2.内存插槽:用于安装系统内存(RAM),支持不同类型和容量的内存模块,如DDR3和DDR43.扩展插槽:用于插入扩展卡,如显卡、声卡、网卡和硬盘控制器等。

4.存储接口:用于连接硬盘驱动器和光盘驱动器,通常包括SATA接口和M.2接口。

5. 输入输出接口:包括USB接口、Ethernet接口、音频接口、视频接口等,用于连接外部设备。

6. BIOS芯片:存储基本输入输出系统(Basic Input/Output System,BIOS)固件,用于启动计算机和管理硬件。

7.电源插槽:用于连接电源供电。

二、X86主板架构的硬件系统1.中央处理器(CPU):X86主板支持多种类型的X86CPU,包括多核处理器。

CPU是计算机的大脑,负责执行指令和处理数据。

2.内存(RAM):内存插槽用于安装系统内存模块。

内存是临时存储器,用于存储正在运行的程序和数据。

X86主板支持不同类型和容量的内存模块,如DDR3和DDR43.扩展插槽:X86主板通常有多个扩展插槽,用于插入扩展卡。

扩展卡包括显卡、声卡、网卡、硬盘控制器等,用于提供额外的功能和性能。

4.存储接口:X86主板通常具有多个存储接口,如SATA接口和M.2接口。

SATA接口用于连接硬盘驱动器和光盘驱动器,而M.2接口用于连接高速存储设备,如固态硬盘(SSD)。

5. 输入输出接口:X86主板提供多种输入输出接口,以连接外部设备。

常见的接口包括USB接口、Ethernet接口、音频接口和视频接口。

USB接口用于连接各种外设,如键盘、鼠标、打印机等,而Ethernet接口用于连接局域网或互联网。

6.BIOS芯片:X86主板上有一个存储BIOS固件的BIOS芯片。

X86机的原理构造及技术详解

X86机的原理构造及技术详解

X86机的原理构造及技术详解X86架构是计算机体系结构的一种,广泛应用于个人电脑和服务器领域。

它包含了一系列的指令集和硬件设计,为计算机的运行提供了基本框架。

下面将详细解析X86机的原理构造及技术。

1.指令集:X86的指令集是其最重要的特征之一、它包括基本的算术运算、逻辑运算、数据传输等指令,并提供了各种操作数的寻址方式。

X86提供了多种寻址方式,例如寄存器寻址、立即数寻址、直接寻址、间接寻址等。

这些指令和寻址方式的组合可以满足各种计算需求。

2.处理器架构:X86处理器架构通常由运算单元、控制单元、寄存器、数据通路、总线等组成。

运算单元负责执行指令中的算术和逻辑运算,控制单元负责指令的解码和控制流程的管理,寄存器用于存储数据和地址,数据通路用于连接各个功能模块,总线用于传输数据和控制信号。

3.寄存器:X86处理器拥有多个寄存器,包括通用寄存器、控制寄存器、段寄存器等。

通用寄存器用于存储一般性数据,控制寄存器用于存储控制信息,段寄存器用于存储段选择子,以实现分段机制。

通用寄存器的个数和位数因处理器型号不同而有所差异。

4.数据通路:X86处理器的数据通路通常包括运算器、存储器和数据寄存器。

运算器用于执行算术和逻辑运算,存储器用于存储指令和数据,数据寄存器用于暂存数据。

数据通路可以根据指令中的操作数和寻址方式进行数据的读取和写入。

5.缓存:X86处理器通常会配置多级缓存,以提高数据访问速度。

缓存分为指令缓存和数据缓存,它们分别用于存储指令和数据,减少访问主存的时间。

缓存的大小和结构会因处理器型号而有所不同,更高级别的缓存一般会更大,但也更贵和更慢。

6.执行流程:X86处理器的执行流程通常包括取指令、解码、执行、访存和写回等阶段。

取指令阶段从存储器中获取指令,解码阶段将指令转换为可执行的微操作序列,执行阶段根据微操作序列执行计算和数据操作,访存阶段读取或写入数据,写回阶段将结果写回到相应的寄存器或存储器。

寄存器结构、存储器管理

寄存器结构、存储器管理

08
例: MOV AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。 例: MOV CX , 200H AGAIN: …… …… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX
奇偶标志PF(Parity Flag)
若算术运算的结果有溢出,则OF=1;
否则 OF=0
3AH + 7CH=B6H,产生溢出:OF=1 AAH + 7CH=(1)26H,没有溢出:OF=0
溢出标志OF(Overflow Flag)
3AH+7CH=B6H,就是58+124=182,
什么是溢出
处理器内部以补码表示有符号数 8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
01
AX——(Accumulator)作为累加器。
02
它是算术运算的主要寄存器,
03
所有I/O指令都使用这一寄存器与外部设备交换数据。
04
例: IN AL , 20H
05
OUT 30H , AX
06
BX——Base用作基址寄存器使用。
07
在计算内存储器地址时,经常用来存放基址。
0

X86机的原理构造及技术详解

X86机的原理构造及技术详解

系统管理模式
Intel首次在80386SL之后引入其x86体系结构。
虚拟V86模式 MMX和之后
1996年Intel的MMX(AMD认为这是矩阵数学扩充Matrix Math Extensions的缩写,但大多数时候都被当成MultiMedia Extension,而Intel从来没有官方宣布过词源)技术出现。尽管这项新的技术得到广泛宣传,但它的精髓是 非常简单的:MMX定义了八个64位SIMD寄存器,与Intel Pentium处理器的FPU堆栈有相重叠。不幸的是,这些 指令无法非常简单地对应到由原来C编译器所产生的脚本中。MMX也只局限于整数的运算。这项技术的缺点导致 MMX在它早期的存在有轻微的影响。现今,MMX通常是用在某些2D影片应用程序中。
历史
[编辑本段]
x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是 发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最 成功的CPU架构。 其他公司也有制造x86架构的处理器,计有Cyrix(现为VIA所收购)、NEC集团、IBM、IDT以及Transmeta。Inte l以外最成功的制造商为AMD,其早先产品Athlon系列处理器的市场份额仅次于Intel Pentium。 8086是16位处理器;直到1985年32位的80386的开发,这个架构都维持是16位。接着一系列的处理器表示了32 位架构的细微改进,推出了数种的扩充,直到2003年AMD对于这个架构发展了64位的扩充,并命名为AMD64。 后来Intel也推出了与之兼容的处理器,并命名为Intel 64。两者一般被统称为x86-64或x64,开创了x86的64位 时代。 值得注意的是Intel早在1990年代就与HP合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被

第二章 80x86计算机组织

第二章 80x86计算机组织

3、每个字节单元中存放的信息称为该存储单元 的内容,可以表示数据、程序指令,也可表示 地址值。例如(0004)=78H 4、16位字存入存储器时,低位字节存入低地址, 高位字节存入高地址。图2.6中,(0004)=5678H, (0005)=3456H,(5678)=2F1EH, ((5678))=2F1EH X表示地址,(X)表示X单元中内容。
2、存储器(memory) 用于存放程序、数据、信息及中间结果。 RAM:随机存储器 ROM:只读存储器(存储BIOS) EPROM:可擦除只读存储器 FlashROM:闪速存储器
3、I/O子系统(输入/输出) 包括I/O设备及大容量存储器两类外部设备 1)I/O设备:显示器,键盘,打印机等 2)大容量存储器:外存,如磁盘、磁带、光盘 等 4、系统总线:连接CPU,存储器和I/O设备,用 于传送各部分之间信息
2)指针或变址寄存器 SP,BP,SI,DI (16位) 通常用于在段内寻址时提供偏移地址。 SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基址指针寄存器 SI (Source Index): 源变址寄存器 DI(Destination Index):目的变址寄存器
2、专用寄存器 1)IP(Instruction Pointer):指令指针寄存器,指 向下一条指令的首地址。 2)FLAGS:标志寄存器,共16位,用到其中9 位,根据有关指令的运行结果由CPU自动设 置,往往作为后续条件指令的转移控制条件。 OF-溢出标志 SF-符号标志 ZF-零标志 CF-进位标志 3、段寄存器:CS,DS,SS,ES
第四节 外部设备 一、外部设备:包括输入输出设备、大容量存储 器,如键盘、显示器、打印机、磁盘等。 外部设备与主机(CPU和寄存器)的通信是通过 外设接口进行的,每个接口包括一组寄存器。 这些寄存器一般有三种用途: 1、数据寄存器 2、状态寄存器 3、命令寄存器

X86架构的寄存器

X86架构的寄存器

X86架构的寄存器
在调试过程中,如果要看寄存器的内容的话,需要使⽤到的寄存器还是需要熟悉⼀下的。

32位下的x86_32
2个变址寄存器:ESI、EDI
6个段寄存器:ES、CS、SS、DS、FS、GS
4个数据寄存器:EAX、EBX、ECX、EDX
esp:寄存器存放当前线程的栈顶指针
ebp:寄存器存放当前线程的栈底指针
eip:指令寄存器,下⼀条指令的地址
4个传参使⽤到的寄存器,依次为:EDI、ESI、EDX、ECX。

EAX寄存器作函数返回值。

64位下的x64
64位下有16个寄存器:rax、rbx、rcx、rdx、esi、edi、rbp、rsp、r8、r9、r10、r11、r12、r13、r14、r15。

6个传参寄存器:依次为:rdi、rsi、rdx、rcx、r8、r9
其它
X86下,遵循被调⽤者使⽤规则,函数在调⽤⼦函数之前,保存相关寄存器的内容。

函数调⽤时,参数先⼊栈,接着为返回地址⼊栈,BP寄存器⼊栈、再接着就是⼦函数的局部变量之类的了。

汇编语言第2章80x86计算机组织

汇编语言第2章80x86计算机组织

控制标志位
• 控制标志位 :DF 方向标志,用于串处理指令处理
▪ DF位为1时,每次操作后使变址寄存器SI和 DI减量,使串处理从高地址向低地址方向处 理:
▪ 当DF位为0时,则使SI和DI增量,使串处理 从低地址向高地址方向处理:
系统标志位
• IF:中断标志。 当IF=1时,允许中断; IF=0时关闭中断
数据的宽度 • 地址总线宽度:用以确定可访问的存储器的最
大范围
地址总线宽度
• 10位:210=1024单元,1K • 20位:220=1024* 210单元=1024K,1M • 24位:224=16*1M,16M • 30位:230=1024M,1G • 32位:232=4G,即4GB
二、一些名词术语(2)
• TF:陷井标志(跟踪标志)。用于单步方式操作 • IOPL:I/O特权级。控制对I/O地址空间访问
段寄存器
• 8086/8088、80286:四个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES
• 80386及后继机型:六个段寄存器 ▪ 代码段CS,数据段DS,堆栈段SS,附加段ES、 FS、GS---都是16位
• ZF:零标志。运算结果为0,置1;否则置0。 • CF:进位标志。记录从最高有效位产生的进位值。
最高有效位有进位时置1,否则置0。 • AF:辅助进位标志。记录运算时第3位产生的进位
值。如第3位有进位时置1,否则置0。 • PF:奇偶标志。当结果操作数中1的个数为偶数时置
1,否则置0。
标志符号 举例
段中的某一存储单元的地址 4. SI、DI一般与DS联用:
在串处理指令中,SI和DS联用,DI和ES联用
8086系统的堆栈
• 是存储器中的特殊区域 – 在堆栈段内,“FILO” – SP始终指向栈顶,总是字操作,指示栈顶的 偏移地址; – BP可作为堆栈区中的一个基地址以便访问 堆栈中的其他信息

x86体系结构的基本特点

x86体系结构的基本特点

x86体系结构的基本特点x86体系结构是一种常见的计算机处理器架构,也是目前个人电脑和服务器中最为广泛使用的体系结构之一。

x86体系结构最初由英特尔公司开发,后来由AMD等公司进行扩展和改进。

本文将从基本特点和中心扩展两个方面来解释x86体系结构。

一、x86体系结构的基本特点1. CISC指令集:x86体系结构采用复杂指令集计算机(CISC)的指令集。

CISC指令集包含了大量的指令,每条指令可以执行多个操作,包括内存访问、算术运算、逻辑运算等。

这种指令集的设计可以提高编程的灵活性和效率,但也增加了处理器的复杂性和设计难度。

2. 变长指令格式:x86体系结构的指令格式是变长的,指令长度可以是1个字节到15个字节不等。

这种变长指令格式可以减少指令的存储空间,提高指令的编码效率。

3. 分段式内存管理:x86体系结构采用了分段式内存管理机制。

内存地址由段基址和段内偏移地址组成,通过段选择子和段描述符来访问内存。

这种分段式内存管理可以提供更大的内存空间,但也增加了内存管理的复杂性和访问延迟。

4. 物理地址扩展:x86体系结构最初采用的16位地址总线只能寻址64KB的内存空间,后来通过物理地址扩展技术扩展到32位和64位,可以寻址4GB和16EB的内存空间。

物理地址扩展可以满足不同应用场景下的内存需求,提高系统的可扩展性和性能。

5. 指令流水线:x86体系结构中的处理器通常采用多级流水线结构,将指令的执行分为多个阶段,每个阶段独立执行。

这种指令流水线可以提高指令的执行效率,但也会增加流水线的延迟和冲突。

二、x86体系结构的中心扩展描述1. 64位架构:x86体系结构在2003年推出了64位扩展,即x86-64或x64。

64位架构可以寻址更大的内存空间,提供更高的计算能力,适用于大规模数据处理和科学计算等应用场景。

2. SIMD指令集:x86体系结构支持多媒体指令集(SIMD),如SSE (Streaming SIMD Extensions)和AVX(Advanced Vector Extensions)。

x86-1-32位x86处理器编程架构

x86-1-32位x86处理器编程架构

x86-1-32位x86处理器编程架构x86(32位)-1-32位x86 处理器编程架构Intel 32 位处理器架构简称IA-32(Intel Architecture,32-bit)x86是指intel的86系列的CPU统称,⽐如说8086就是x86⾥⾯中的⼀款CPU。

IA-32,X86-32是指intel的32位CPU架构。

x86系列的处理器架构是从8086发展来的,是基于8086 的,具有延续性和兼容性。

所以x86系列的CPU都可以和8086CPU进⾏类⽐。

1.1 基本执⾏环境:1.1.1 地址空间:32 位的处理器有32根地址线,数据线的数量是32 根或者64根。

因此,它可以访问2的32次⽅(4GB)的内存地址空间,每次可以读写连续的4 字节或者8 字节,这称为双字(Double Word)或者4 字(Quad Word)访问。

1.1.2 寄存器:32位x86 CPU总共包含了8个通⽤寄存器,6个16位段寄存器,⼀个状态处理器EFLAGS和⼀个指令指针寄存器。

1.1.2.1 通⽤寄存器在16位CPU内,有8个通⽤寄存器AX、BX、CX、DX、SI、DI、 BP 和SP,其中,前4个还可以拆分成两个独⽴的8 位寄存器来⽤,即AH、AL、BH、BL、CH、CL、DH 和DL。

32 位处理器在16位处理器的基础上,扩展了这8 个通⽤寄存器的长度,使之达到32位。

其中这个32位相对于16位扩展的寄存器就在16位寄存器的名字上加了⼀个E,这个E就是Extend中⽂扩展的意思。

32 位通⽤寄存器的⾼16 位是不可独⽴使⽤的,但低16 位保持同16 位处理器的兼容性。

在任何时候它们都可以像在16位CPU⾥⼀样使⽤。

32位CPU是兼容16位CPU的,所以照样可以在32 位处理器上运⾏16 位处理器上的软件。

1.1.2.2 指令指针寄存器为了⽣成32 位物理地址,32 位处理器将IP寄存器扩展到了32 位,即EIP。

汇编语言-X86处理器架构-64位x86处理器

汇编语言-X86处理器架构-64位x86处理器

汇编语⾔-X86处理器架构-64位x86处理器64位x86-64处理器 针对所有使⽤x86-64指令集的64位处理器的基本架构细节。

包括Intel64和AMD64处理器。

具有以下基本特点: 1.向后兼容x86指令集 2.地址长度为64位,虚拟地址空间为2的64字节 3.可以使⽤64位通⽤寄存器 4.⽐x86-32多了8个通⽤寄存器 5.物理地址为48位,⽀持⾼达256TB的RAM 1 64位操作模式 intel64架构引⼊了IA-32e新模式,这个模式可以分为两个模式:兼容模式(compatibility mode)和64位模式(64-bit mode)。

兼容模式(compatibility mode): 在这个模式下16和32位应⽤程序不⽤重新进⾏编译就可以运⾏。

16位windows(win16)和DOS应⽤程序不能运⾏在win64位下。

64位模式(64-bit mode): 处理器执⾏的是64位线性地址空间的应⽤程序。

这个模式是64位Microsoftt Windows的原⽣模式 2 基本64位执⾏环境 64位模式和32位的主要区别: ⽐32位多8个通⽤寄存器,有16个通⽤寄存器 有8个浮点寄存器 1个64位状态标志寄存器RFLAGS(只采⽤低32位),32位的称为EFLAGS 1个64位指令指针寄存器RIP,32位的称为EIP 8个64位MMX寄存器 16个128位XMM寄存器(32位模式只有8个XMM寄存器) 2.1 通⽤寄存器 64位的通⽤寄存器可以访问8位,16位,32位和64位数据。

操作位可⽤寄存器64位RAX,RBX,RCX,RDX,RDI,RSI,RBP,RSP,R8,R9,R10,R11,R12,R13,R14,R1532位EAX,EBX,ECX,EDX,EDI,ESI,EBP,ESP,R8D,R9D,R10D,R11D,R12D,R13D,R14D,R15D16位AX,BX,CX,DX,DI,SI,BP,SP,R8W,R9W,R10W,R11W,R12W,R13W,R14W,R15W8位AL,BL,CL,DL,DIL,SIL,BPL,SPL,R8L,R9L......还有后缀把L改为R 2.2 细节处理 64位模式和32位的主要区别: ⽐32位多8个通⽤寄存器,有16个通⽤寄存器 有8个浮点寄存器 1个64位状态标志寄存器RFLAGS(只采⽤低32位),32位的称为EFLAGS 1个64位指令指针寄存器RIP,32位的称为EIP 8个64位MMX寄存器 16个128位XMM寄存器(32位模式只有8个XMM寄存器) 2.1 通⽤寄存器 64位的通⽤寄存器可以访问8位,16位,32位和64位数据。

第二章 80x86计算机组织

第二章  80x86计算机组织

80x86汇编语言程序设计
1. 状态标志取值的一般规则
ZF(Zero Flag):零标志。若运算结果为0,则ZF = 1,否则 ZF = 0。
SF(Sign Flag):符号标志。若运算结果为负数,则SF = 1, 否则SF = 0。 CF(Carry Flag):进位标志。若加法时结果最高位向前有进 位或减法时最高位向前有借位,则CF = 1,否则CF = 0。 OF(Overflow Flag):溢出标志。若带符号数的运算结果超 出了补码表示的范围,则OF = 1,否则OF = 0。 AF(Auxiliary Carry Flag):辅助进位标志。若加法时结果 低4位向前有进位或减法时结果低4位向前有借位,则AF = 1,否 则AF = 0。 PF(Parity Flag):奇偶标志。若结果最低字节中1的个数为 偶数,则PF = 1,否则PF = 0。
80x86程序可以存取的最小数据单位是字节。例如,若要读取的位 数不足8位,则只能先读出一个完整字节,再屏蔽掉其它位。
字的存储采取“低字节在低地址,高字节在高地址,字的地址由低 地址表示”的小端方式,双字也类似。
要正确理解内存单元的地址和值,地址表示位置,值是相应位置处 的内容。同一地址既可以看作字节单元地址,也可以看作字甚至双字 单元地址,取决于具体的使用方式。
2013-1-20
80x86汇编语言程序设计
80x86 CPU有3种工作模式:实模式、保护模式和虚拟8086模 式。 在实模式下,段地址和偏移地址均为16位。20位物理地址由 16位段地址左移4位加16位偏移地址得到,只能寻址1MB的内存 空间,且每段≤64KB。 在实模式下,32位CPU下的程序可以使用32位寄存器和32位操 作数,但采用32位寄存器表示偏移地址时,只使用低16位,高 16位为0。CS:IP总是指向下一条要执行的指令,EIP的高16位为 0。SS:SP指向堆栈段的栈顶,ESP的高16位为0。 状态标志是CPU进行条件判断和控制程序执行流程的依据,最 常用的是4个:CF、OF、SF和ZF。其中,CF表示无符号溢出,OF 表示带符号溢出。

HDWX86寄存器详解-40页精选文档

HDWX86寄存器详解-40页精选文档

寄存器目录[隐藏]寄存器定义寄存器用途数据寄存器寄存器分类英文名称:Register[编辑本段]寄存器定义寄存器是中央处理器内的组成部份。

寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。

在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。

在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。

寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。

寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个“8 位元寄存器”或“32 位元寄存器”。

寄存器现在都以寄存器档案的方式来实作,但是他们也可能使用单独的正反器、高速的核心内存、薄膜内存以及在数种机器上的其他方式来实作出来。

寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。

更适当的是称他们为“架构寄存器”。

例如,x86 指令及定义八个 32 位元寄存器的集合,但一个实作x86 指令集的 CPU 可以包含比八个更多的寄存器。

寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。

[编辑本段]寄存器用途1.可将寄存器内的数据执行算术及逻辑运算;2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;3.可以用来读写数据到电脑的周边设备。

[编辑本段]数据寄存器8086 有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。

(1)通用寄存器有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):基址寄存器,常用于地址索引;CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):数据寄存器,常用于数据传递。

80X86CPU02

80X86CPU02
取指令:总线接口部件从内存中取出指令后送到 指令队列。 预取指令。 配合EU执行指令,存取操作数和运算结果。
总线接口单元 BIU(Bus Interface Unit) 2、组成
• 段地址寄存器(CS、DS、ES、SS)。 • 16位指令指针寄存器IP。 • 地址加法器(形成20位物理地址), • 6字节(8086)或4字节(8088)的指 令队列,
• 状态标志位:
用来记录程序中运行结果的状态信息。
包括6位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。 CF 进位标志 CF=1:从最高有效位产生进位值。 CF=0:从最高有效位不产生进值。 PF 奇偶标志 PF=1: 结果操作数低8位中有偶数个1。 PF=0: 结果操作数低8位中有奇数个1。
8086/8088的编程结构分两部分: 1、总线接口单元 BIU(Bus Interface Unit)
2、执行部件
EU (Execution Unit)
8086 CPU的功能结构
总线接口单元 BIU(Bus Interface Unit)
1、功能:负责与 存储器、I/O 端口进行数据传送。 具体讲:
插组件(DIP)中。
结构特点:
(1) 内部结构 是16位的
(内部寄存器,内部运算部件,内部操作按 16位设计); (2) 外部数据总线16(8086)/8 (8088)位,能处理16位数据,也 能处理8位数据; (3) 汇编语言与8080/8085兼容,即能执行整套8080/8085的指令. 增加了许多16位操作指令; (4) 20条地址总线,直接寻址能力为220=1M字节; (5) 40条引线、双列直插式; (6) 单相时钟; (7) 电源为5V。 8088微处理器与8086微处理器的主要区别:对外的数据线只有8位,目的 是为了方便地与8位I/O接口芯片相兼容。

x86汇编 讲解

x86汇编 讲解

x86汇编讲解摘要:1.x86 汇编简介2.x86 汇编的基本语法3.x86 汇编的寄存器和内存4.x86 汇编的指令集5.x86 汇编的应用场景正文:【x86 汇编简介】x86 汇编是一种用于编写计算机程序的低级编程语言。

它是x86 架构处理器的指令集体系结构(ISA) 的助记符表示形式。

x86 汇编语言可以用于编写操作系统、驱动程序和嵌入式系统等底层应用程序。

由于其底层特性,x86 汇编语言能够直接访问计算机硬件,并实现高性能的计算。

【x86 汇编的基本语法】x86 汇编语言的基本语法包括以下几个部分:1.指令:x86 汇编指令是用于完成特定任务的命令。

每个指令都有一个操作码,它表示指令要执行的操作。

操作码后面通常跟有一些操作数,用于指定操作的对象。

2.寄存器:x86 汇编中的寄存器是一组高速存储单元,用于存储数据和地址。

常用的寄存器包括通用寄存器(EAX、EBX、ECX、EDX)、指针寄存器(ESP、EBP)和索引寄存器(ESI、EDI)等。

3.内存:x86 汇编中的内存是指计算机中的主存储器,用于存储程序和数据。

内存地址通常用基址(Base Address)加偏移量(Displacement)的方式表示。

4.常用指令:x86 汇编中有很多常用指令,包括数据传输指令(如MOV)、算术指令(如ADD、SUB)、逻辑指令(如AND、OR)、跳转指令(如JMP、JZ、JNZ)等。

【x86 汇编的寄存器和内存】x86 汇编中的寄存器和内存扮演着非常重要的角色。

它们可以存储程序中的数据和地址,并在程序运行过程中进行高速读写。

以下是一些常用的寄存器和内存操作指令:1.寄存器指令:MOV 寄存器,数值将数值移动到指定的寄存器中。

2.内存指令:MOV 内存地址,寄存器将寄存器的值移动到指定的内存地址。

3.加载/存储指令:LOAD/STORE 寄存器,内存地址在内存和寄存器之间传输数据。

【x86 汇编的指令集】x86 汇编指令集非常丰富,可以完成各种复杂的操作。

CPU架构讲解X86、ARM、RISC、MIPS

CPU架构讲解X86、ARM、RISC、MIPS

CPU架构讲解X86、ARM、RISC、MIPS一、当前CPU的主流架构:1.X86架构采用CISC指令集(复杂指令集计算机),程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。

2.ARM架构是一个32位的精简指令集(RISC)架构。

3.RISC-V架构是基于精简指令集计算(RISC)原理建立的开放指令集架构。

4.MIPS架构是一种采取精简指令集(RISC)的处理器架构,可支持高级语言的优化执行。

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,是区分不同类型CPU的重要标示。

二、目前市面上的CPU分类主要分有两大阵营:1.intel、AMD为首的复杂指令集CPU;2.IBM、ARM为首的精简指令集CPU。

两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM的CPU是PowerPC架构,ARM是ARM架构。

三、四大主流CPU架构详解(X86、ARM、RISC、MIPS)1.X86架构X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。

1978年6月8日,Intel 发布了新款16位微处理器8086,也同时开创了一个新时代:X86架构诞生了。

X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM 1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。

采用CISC(Complex Instruction Set Computer,复杂指令集计算机)架构。

与采用RISC不同的是,在CISC处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。

顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel所生产的所有CPU仍然继续使用X86指令集。

X86架构基础知识介绍

X86架构基础知识介绍

X86架构基础知识介绍X86架构是一种广泛应用于个人计算机和服务器的指令集架构。

它最初由英特尔公司于1978年推出,并成为个人计算机的主要架构之一、随着时间的推移,X86架构不断发展和演进,目前主要由英特尔和AMD等公司推动。

X86架构支持多种数据类型,包括整数、浮点数和向量数据等。

整数操作可处理不同大小的整数,如8位、16位、32位和64位。

浮点数操作支持单精度和双精度浮点数,以及一些高级浮点操作,如开根号和三角函数等。

向量数据操作允许同时处理多个数据,以提高计算效率。

X86架构采用一种被称为寄存器的特殊存储器件来存储和处理数据。

寄存器是内置在处理器中的高速存储器,可暂时存储和操作数据。

X86架构有多个通用寄存器和特殊寄存器,每个寄存器都有特定的用途和功能。

通用寄存器用于常规数据操作,如存储变量和计算中间结果等。

特殊寄存器用于保存程序状态和控制处理器行为。

X86架构还支持存储器层次结构,其中数据可以在不同层次的存储器之间移动。

处理器内部有多级高速缓存存储器,用于暂时存储数据和指令,以提高访问速度。

此外,X86架构还支持外部存储器,如随机存取存储器(RAM)和硬盘驱动器等,用于长期存储和备份数据。

X86架构的软件生态系统非常丰富,有大量的操作系统、开发工具和应用程序可供选择。

常见的操作系统包括Windows、Linux和macOS等,它们都提供对X86架构的良好支持。

开发工具包括编译器、调试器和性能分析工具等,开发者可以使用这些工具来创建和优化X86架构的软件。

应用程序涵盖了各个领域,包括办公软件、娱乐软件和科学计算等。

近年来,X86架构在能效和性能方面取得了很大进步。

先进的制造工艺和设计技术使得处理器能够提供更高的性能,并在较低的功耗下工作。

同时,X86架构还提供了一些高级功能,如虚拟化和安全保护等,以满足不同应用场景的需求。

总之,X86架构是一种广泛应用于个人计算机和服务器的指令集架构,它提供了一组丰富的指令集和寄存器,支持多种数据类型和存储器层次结构。

分析80X8632位机器的微机系统存储器是如何组织的

分析80X8632位机器的微机系统存储器是如何组织的

分析80X8632位机器的微机系统存储器是如何组织的32位微机的内存存管理仍然采用“分段”的管理模式,存储器的逻辑地址同样由段地址和偏移量两部分组成。

32位微机的内存管理与16位微机的有相同之处,也有不同之处,因为它提供了两种不同工作方式:实方式和保护方式。

1、物理地址的计算方式实方式:段地址仍然是16的倍数,每个段的最大容量仍为64K。

段寄存器的值是段的起始地址,存储单元的物理地址仍为段寄存器的值乘16,再加上段内偏移量。

在此方式下,32位微机的内存管理与16位微机是相一致的。

保护方式:段地址可以长达32位,其值可以不是16的倍数,每个段的最大容量可达4G。

段寄存器的值是表示段地址的“选择器”(Selector),用该“选择器”可从内存中得到一个32位的段地址,存储单元的物理地址就是该段地址加上段内偏移量,这与16位微机的物理地址计算完全不同。

2、段寄存器的引用32位CPU内有6个段寄存器,程序在某一时刻可访问6个不同的段。

其段寄存器的值在不同的方式下具有不同的含义:(1)、在实方式下,段寄存器的值就是段地址;(2)、在保护方式下,段寄存器的值不是段地址,是段地址的“选择器”。

它间接指出一个32位的段地址。

下面分别说明各段寄存器的用法和作用。

代码段寄存器:32位微机在取指令时,系统自动引用CS和EIP来取出下条指令。

在实方式下,由于段的最大容量不超过64K,所以,EIP的高16位全为0,其效果相当于16位CPU中的IP。

堆栈段寄存器:32位微机在访问堆栈段时,总是引用堆栈段寄存器SS。

但在不同的方式下其堆栈指针有所不同:1)、在实方式下,32位微机把ESP的低16位SP作为指向堆栈的指针,所以,我们可以认为栈顶单元是由SS和SP来指定的。

这就与16位微机访问栈顶单元的方法相一致;2)、在保护方式下,堆栈指针可用32位的ESP和16位的SP。

数据段寄存器:DS是主要的数据段寄存器。

通常情况下,它是除访问堆栈以外数据时的默认段寄存器。

x86中内存管理寄存器(GDTR、LDTR、IDTR和TR)

x86中内存管理寄存器(GDTR、LDTR、IDTR和TR)

x86中内存管理寄存器收藏一、内存管理寄存器处理器提供了4个内存管理寄存器(GDTR、LDTR、IDTR和TR),用于指定内存分段管理所用系统表的基地址,如图4-2所示。

处理器为这些寄存器的加载和保存提供了特定的指令。

有关系统表的作用请参见4.2节"保护模式内存管理"中的详细说明。

(点击查看大图)图4-2 内存管理寄存器GDTR、LDTR、IDTR和TR都是段基址寄存器,这些段中含有分段机制的重要信息表。

GDTR、IDTR和LDTR用于寻址存放描述符表的段。

TR用于寻址一个特殊的任务状态段(Task State Segment,TSS)。

TSS中包含着当前执行任务的重要信息。

(1)全局描述符表寄存器GDTRGDTR寄存器中用于存放全局描述符表GDT的32位的线性基地址和16位的表限长值。

基地址指定GDT表中字节0在线性地址空间中的地址,表长度指明GDT表的字节长度值。

指令LGDT和SGDT分别用于加载和保存GDTR寄存器的内容。

在机器刚加电或处理器复位后,基地址被默认地设置为0,而长度值被设置成0xFFFF。

在保护模式初始化过程中必须给GDTR加载一个新值。

(2)中断描述符表寄存器IDTR与GDTR的作用类似,IDTR寄存器用于存放中断描述符表IDT的32位线性基地址和16位表长度值。

指令LIDT和SIDT分别用于加载和保存IDTR寄存器的内容。

在机器刚加电或处理器复位后,基地址被默认地设置为0,而长度值被设置成0xFFFF。

(3)局部描述符表寄存器LDTRLDTR寄存器中用于存放局部描述符表LDT的32位线性基地址、16位段限长和描述符属性值。

指令LLDT和SLDT分别用于加载和保存LDTR寄存器的段描述符部分。

包含LDT表的段必须在GDT表中有一个段描述符项。

当使用LLDT指令把含有LDT表段的选择符加载进LDTR时,LDT段描述符的段基地址、段限长度以及描述符属性会被自动地加载到LDTR中。

第4章+Intel80X86系列微处器

第4章+Intel80X86系列微处器

18
8086外特性——引脚信号及其功能
8086CPU采用40个引脚的双列直插式封装形式; • 采用了分时复用的地址/数据和地址/状态引脚; • 根据不同的工作模式定义不同的引脚功能。
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 MN/MX RD HOLD HLDA WR IO/M DT/R DEN ALE INTA TEST READY RESET
栈底/栈顶 21000H 栈底 21000H 20FFFH 20FFEH 20FFDH 栈顶 20FFCH 12H 34H 56H 78H 栈底 21000H 20FFFH 栈顶 20FFEH 20FFDH 20FFCH 12H 34H 56H 78H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1 微处理器的一般结构 3.1 微处理器的一般结构
程序计数器(PC)
用于保存下一条要执行的指令的地址,即由 它提供一个存储器地址,按此地址从对应存储器 单元取出的内容,就是要执行的指令。一般指令 是顺序存放在存储器内的,所以程序计数器也叫 指令地址计数器。由此可见,在程序执行过程中 要实现程序的转移,就要改变程序计数器 PC 的 内容。
3.2 8086/8088微处理器的功能结构 3.2 8086/8088微处理器的功能结构
8086/8088均采用全新结构,片内均由两个独 总线接口单元(BIU) 立的逻辑单元组成: 执行单元(EU) 8086/8088CPU内部结构如图3.2.1所示
通 用 寄 存 器
AH AL BH BL CH CL DH DL SP BP DI SI
二.微处理器的外部结构
表面上看来,微处理器的外部就是数量 有限的输入输出引脚。但是,正是依靠这些 引脚与其它逻辑部件相连接,才能组成多种 型号的微型计算机系统。这些引脚就是微处 理器级总线。微处理器通过微处理器级总线 沟通与外部部件和设备之间的联系。这些总 线及其信号必须完成以下功能:
3.1 微处理器的一般结构 3.1 微处理器的一般结构
处理器状态字(PSW)
暂存处理器当前的状态。PSW中的各位用来指 示诸如算术运算结果的正/负,是否为零,是否有 进位或借位,是否溢出等标志。条件转移指令将 根据 PSW 中的某一位的状态决定程序是否转移。
堆栈指示器(SP)
是在对按后进先出原则组织的称为堆栈的专 用存储区进行操作时提供地址的。堆栈用于子程 序调用时保存返回地址和工作寄存器的内容。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
④ I/O控制逻辑 包括 CPU 中与输入/输出操作有关的逻辑。其 作用是处理输入/输出操作。
2.CPU的基本执行程序的过程
第一章曾说明计算机的工作过程是不停地取指 令和执行指令的过程,实际上,这个过程是由CPU 完成的。机器语言程序的指令(二进制代码)是按 顺序存放在存储器中的。除非遇到转移指令,否则 顺序执行。图3.1.2是CPU执行程序过程的流程图。
AX BX CX DX
物理 地址 形成 逻辑
地址总线 Σ
(20位)
数据总线
CS DS SS ES IP (16位) 16位
ALU数据总线
暂存器 (16位)
内部寄存器
ቤተ መጻሕፍቲ ባይዱ
8 0 8 6 总 总线 线
控制 电路
ALU 标 志
EU 控制器
(8 位)
1 2 3 4 5 6
执行单元(EU)
总线接口单元(BIU)
3.2 8086/8088微处理器的功能结构 3.2 8086/8088微处理器的功能结构
3.1 微处理器的一般结构 3.1 微处理器的一般结构
一般8位机: CPU 取指令1 执行1 取指令2 执行2 …… 总线 忙 忙 忙 t t
图3.1.3 为了提高CPU的执行速度以及对总线的利用 率,INTEL公司生产了8088/8086CPU,这是我们下 一节要讲的内容。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
(1)和存储器之间交换信息; (2)和I/O设备之间交换信息; (3)为了系统工作而接收和输出必要的信号, 如输入时钟脉冲、复位信号、电源和接地等。 按功能分,这些总线可以分为三种: (1)传送信息(指令或数据)的数据总线 (Data Bus) (2)指示欲传信息的来源或目的地址的地址总线 (Address Bus) (3)管理总线上活动的控制总线(Control Bus)
3.2 8086/8088微处理器的功能结构 3.2 8086/8088微处理器的功能结构
8086/8088是Intel公司生产的第三代微处理 器芯片。其特点如下: 具有20条地址线,直接寻址能力达1MB。 8086有16条数据线,为16位微处理器。 8088有8条数据线,为准16位微处理器。 片内总线和ALU均为16位,可进行8位和16位 操作。
本章重点难点 本章介绍微型计算机系统中的核心部 件微处理器(CPU),通过了解CPU的内部 和外部结构,理解微处理器级总线(地址 总线、数据总线和控制总线)的概念;通 过学习CPU的功能结构,掌握CPU中的两个 独立单元(执行单元EU和总线接口单元BIU 的并行执行过程;通过介绍8086寄存器结 构,学习汇编语言程序设计所需的14个寄
3.1 微处理器的一般结构 3.1 微处理器的一般结构
从程序设计的角度考虑,CPU 必须便于处理: (1)赋值和算术表达式; (2)无条件转移; (3)条件转移以及关系和逻辑表达式; (4)循环; (5)数组和其它数据结构; (6)子程序; (7)输入/输出。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
3.1 微处理器的一般结构 3.1 微处理器的一般结构
(1) 进行算术和逻辑运算; (2)具有接收存储器和I/O接口来的数据和 发送数据给存储器和I/O接口的能力; (3)可以暂存少量数据; (4)能对指令进行寄存、译码并执行指令 所规定的操作; (5)能提供整个系统所需的定时和控制信 号; (6)可响应I/O设备发出的中断请求。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
如8086 CPU的数据总线是16条,我们就说8086 CPU是16位微处理器。8080 CPU和Z80 CPU的数据 总线是8条,所以8080 CPU和Z80CPU是8位微处理 器。
.控制总线:
管理总线上的活动,用来传送自CPU发出的 控制信息或外设送到CPU的状态信息,是单向的。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
讨论微处理器的目的,一方面是为了理解微 型计算机的工作原理,更重要的一方面是为了应 用它。所以没有必要也不可能讨论它的每个逻辑 细节。从上述目的出发,我们将从微处理器的内 部和外部两个方面讨论微处理器的结构。
一.微处理器的内部结构
微处理器是组成计算机系统的核心部件,它具 有运算和控制的功能。具体地讲,CPU 应具有下 述基本功能:
开 始
CPU将PC中的地址发送给存储器 从存储器取出被寻址 的单元中的机器指令并送回CPU CPU将机器指令放入IR并译码 是 条件转移 否 是 检查PSW 满足 转移条件 是 PC置成转移地址 否 将PC置成顺序的 下一条指令的地址 转移指令 否 执行指令
图 3.1.2 ) 程 序 的 执 行 过 程
3.1 微处理器的一般结构 3.1 微处理器的一般结构
由上述CPU执行程序的基本原理我们可以看出, CPU从外部存储器取指令和执行指令是串行进行 的,因此,CPU的工作效率较低。因为CPU取指令 时要使用外部总线,而执行指令是,大多数情况 下是不使用外部总线的,所以总线的利用率也很 低。如图3.1.3所示。
本章重点难点 存器,掌握这些寄存器的正确使用;通过介 绍8086/8088的存储器组织与分段、I/O端口 地址空间等基本知识,了解8086CPU与外围 电路的关系;重点掌握8086CPU关于数据的 八种寻址方式和转移地址的四种寻址方式。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
在第一章介绍微型计算机系统的硬件组成时 已经明确,组成微型计算机系统的核心硬件是微 处理器。微处理器的输入输出引脚有特定的功能 和信号形式,这就是微处理器级总线。微处理器 通过微处理器级总线与某些其他逻辑电路连接组 成主机板系统,形成系统级总线。许多外设经过 接口逻辑与系统级总线连接,使主机板与外设共 同组成完整的微机硬件系统。
3.1 微处理器的一般结构 3.1 微处理器的一般结构
地址空间的容量,而地址总线中用于I/O端口编址 的条数决定I/O地址空间的容量。通常8位微处理 器(如8080 CPU和Z80 CPU)的地址总线为16条, 这就意味着存储器最大容量为 216 (65536)字节, 地址总线的低8位用来对I/O端口编址,所以I/O地 址空间容量为 28 (256)字节。16位微处理器,如 8086 CPU地址总线20条,存储器的最大容量为:
3.2 8086/8088微处理器的功能结构 3.2 8086/8088微处理器的功能结构
二.执行单元(EU)
由 通用寄存器(8个) 标志寄存器(FLAG)(即PSW) 算术/逻辑运算单元(ALU) EU控制器 组成。
EU主要负责从指令队列寄存器中获取指令, 并对指令加以执行,完成指令所规定的操作。同 时也负责算术/逻辑运算以及进行内存有效地址的 计算等。
1.CPU内部结构及各部分功能简介 CPU 的内部结构是实现上述功能的执行 部件。内部结构中和程序有关的部分组成编 程模型,这是我们理解和掌握的重点。尽管 各种微处理器的内部结构不尽相同,但是为 了实现上述基本功能要求,典型的 CPU 内 部结构如图3.1.1所示。
CPU 控制器
程序计数器(PC) 指令寄存器(IR) 指令译码器(ID) 控 制逻辑部件 堆栈指示器(SP) 状态寄存器(PSW)
3.1 微处理器的一般结构 3.1 微处理器的一般结构
.地址总线:
CPU通过地址总线输出地址码用来选择某一 存储单元或某一称为I/O端口的寄存器,是单向 的。 地址码的位数决定了地址空间的大小。若地 n n 址码共n位,则可有 2 个地址(0∽2 -1)。对于 单地址空间的微处理器,若地址总线的数目为n, 则存储单元和I/O端口合在一起的地址空间的容 量为 2 n 个字节。对于存储器和I/O地址空间独立 的微处理器来说,地址总线的条数决定了存储器
2
20
= ( 2 ) ≈ (10 ) = 1MB
10 2 3 2
3.1 微处理器的一般结构 3.1 微处理器的一般结构
8086的地址总线的低16位用来对I/O端口编址, 所以I/O地址空间容量为 216(65536)字节。即可 对65536个I/O端口寻址。
相关文档
最新文档