要徽理工大骨计算机科学与技术系李歌池《汇编语言》 23中央处理机 23.1CPU组成 它包括算术逻辑部件ALU、控制器、寄存器 ■ALU:是运算器的核心部件,执行算术运算、逻辑运算 移位、比较等各种数据处理的操作。 ■控制逻辑:处理程序指令,并协调各逻辑部件按一定时序 工作。包括:从存储器中读取程序指令、指令译码、从存储器中 取得操作数,执行指令,把结果存入存储器,以及对总线和IO的 传送控制等 工作寄存器:每一个寄存器相当于运算器中的一个存储单 元,但速度比存储器快,用来存放计算过程中所需要的或得到的 各种信息
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 2.3 中央处理机 2.3.1 CPU组成 它包括算术逻辑部件ALU、控制器、寄存器 ▪ ALU:是运算器的核心部件,执行算术运算、逻辑运算、 移位、比较等各种数据处理的操作。 ▪ 控制逻辑:处理程序指令,并协调各逻辑部件按一定时序 工作。包括:从存储器中读取程序指令、指令译码、从存储器中 取得操作数,执行指令,把结果存入存储器,以及对总线和I/O的 传送控制等。 ▪ 工作寄存器:每一个寄存器相当于运算器中的一个存储单 元,但速度比存储器快,用来存放计算过程中所需要的或得到的 各种信息
8086CPU结构图 20位 AH AL BH BL 地址加法器 16位 通用寄存器 CH CL 寄DHDL DS SP BP ES vO DI IP 控制 SI 内部 寄存器 电路外 线 运算寄存器 执行部分 23456 控制电路8位 指令队列缓冲器 ALU 标志 执行部件总线接口部件
AH AL BH BL CH CL DH DL SP BP DI SI 通用寄存器 运算寄存器 ALU 标志 执行部分 控制电路 1 2 3 4 5 6 CS DS SS ES IP 内部 寄存器 I/O 控制 电路 地址加法器 20 位 16 位 8 位 指令队列缓冲器 外总线 执行部件 总线接口部件 8086CPU结构图
徽理工大骨计算机科学与技术系歌兆《汇编语言》 寄存器是cPU内部重要的数据存储资源,是汇编程序员能直接使 用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用 汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。 寄存器一般用来保存程序的中间结果,为随后的指令快速提供操 作数,从而避免把中间结果存入内存,再读取内存的操作。在高级 语言(如:CC++语言)中,也有定义变量为寄存器类型的,这就是 提高寄存器利用率的一种可行的方法。 另外,由于寄存器的个数和容量都有限,不可能把所有中间结果 都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令 的要求,如何安排适当的寄存器,避免操作数过多的传送操作是 项细致而又周密的工作 由于16位32位cPU是微机cPU的两个重要代表,所以,在此只 介绍它们内部寄存器的名称及其主要功能
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使 用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用 汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。 寄存器一般用来保存程序的中间结果,为随后的指令快速提供操 作数,从而避免把中间结果存入内存,再读取内存的操作。在高级 语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是 提高寄存器利用率的一种可行的方法。 另外,由于寄存器的个数和容量都有限,不可能把所有中间结果 都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令 的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一 项细致而又周密的工作。 由于16位/32位CPU是微机CPU的两个重要代表,所以,在此只 介绍它们内部寄存器的名称及其主要功能
安徽理工大学计算机科学与技术系李歌兆《汇编语言》 23280x86寄存器组 31 1615 AH AX AL EBX BH BX BL ECX CH CX CL EDX DH DX DL EBP BP 8086/ ESI SI 8088/ EDI 80286 E工P 寄 工P EFLAGS 存 器 80x86的程序可见寄存器组 通用寄存器 专用寄存器
2.3.2 80x86寄存器组 80x86的程序可见寄存器组 通用寄存器 专用寄存器 段寄存器 AH AX AL BH BX BL CH CX CL DH DX DL SP BP SI DI IP FLAGS CS DS SS ES 8086 / 8088 / 80286 寄 存 器 EAX EBX ECX EDX ESP EBP ESI EDI EIP EFLAGS FS GS 31 16 15 8 7 0 安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》
徽理工大骨计算机科学与技术系歌兆《汇编语言》 16位寄存器组 16位CPU所含有的寄存器有 4个数据寄存器(AX、B、2个变址和指针寄2个指针寄存器SP和 CX和DX) 存器(S|和D) BP 4个段寄存器∈S、CS、SS1个指令指针寄存1个标志寄存器 和DS) 器(P) ( Flags)
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》 16位寄存器组 16位CPU所含有的寄存器有 4个数据寄存器(AX、BX、 CX和DX) 2个变址和指针寄 存器(SI和DI) 2个指针寄存器(SP和 BP) 4个段寄存器(ES、CS、SS 和DS) 1个指令指针寄存 器(IP) 1 个标志寄存器 (Flags)