主流CPU的工作原理

上传人:飞*** 文档编号:47149510 上传时间:2018-06-30 格式:PDF 页数:7 大小:10.48KB
返回 下载 相关 举报
主流CPU的工作原理_第1页
第1页 / 共7页
主流CPU的工作原理_第2页
第2页 / 共7页
主流CPU的工作原理_第3页
第3页 / 共7页
主流CPU的工作原理_第4页
第4页 / 共7页
主流CPU的工作原理_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《主流CPU的工作原理》由会员分享,可在线阅读,更多相关《主流CPU的工作原理(7页珍藏版)》请在金锄头文库上搜索。

1、主流 CPU 的工作原理CPU 的基本构成CPU 的内部结构可分为:控制单元、逻辑运算单元、存储单元(包括内部总线和缓冲器)三大部分。1.指令高速缓存是芯片上的指令仓库,这样微处理器就不必停下来查找计算机的内存中的指令。这种快速方式加快了处理速度。2.控制单元它负责有整个处理过程。根据来自译码单元的指令,它会生成控制信号,告诉运算逻辑单元( ALU )和寄存器如何运算、对什么进行运算以及怎样对结果时处理。3.运算逻辑单元(ALU )是芯片的智能部件,能够执行加、减、乘、除等各种命令。此外,它还知道如何读取逻辑命令,如或、与、非。来自控制单元的讯息将告诉运算逻辑单元应该做些什么,然后运算单元将寄

2、存器中提取数据。以完成任务。4.寄存器是运算逻辑单元 ( ALU )为完成控制单元请求的任务所使用的数据的小型存储区域。(数据可以来自高速缓存、内存、控制单元)5.预取单元根据命令或将要执行的任务决定,何时开始从指令高速缓存或计算机内存中获取数据和指令。 当指令到达时, 预取单元最重要任务是确保所有指令均按正确的排列,以发送到译码单元。6.数据高速缓存存储来自译码单元专门标记的数据,以备运算逻辑装单元使用,同时还准备了分配到计算机不同部分的最终结果。7.译码单元是将复杂的机器语言指令解译运算逻辑单元(ALU )和寄存器能够理解的简单格式。8.总线单元 是指令从计算机内存流进和流出的处理器的地方

3、。CPU 的工作原理一个工厂对产品的加工过程:进入工厂的原料(程序指令),结过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出的成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。CPU 的工作原理:从控制单元开始,CPU 就开始了正式工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作结束。首先,指令指针会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR 中拿来指令,翻译成 CP

4、U 可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元( ALU )什么时候计算,告诉指令读取器什么时候取数值,告诉指令译码器什么时候翻译指令等等。根据对指令类型的分析和特殊工作状态的需要,CPU 设置了六种工作周期,分别用六个触发器来表示它们的状态,任一时刻只许一个触发器为1,表时CPU 所处周期状态,即指令执行过程中的某个阶段。1.取指周期( FC)CPU 在 FC 中完成取指所需要操作。每条指令都必须经历取指周期FC,在 FC 中完成的操作与指令操作码无关的公共操作。但 FC 结束后转向哪个周期则与本周期中取出的指令类型有关。2.源周期( SC)CPU 在 SC

5、中完成取源操作数所需的操作。如指令需要源操作数,则进入SC。在 SC中根据指令寄存器IR 的源地址信息,形成源地址,读取源操作数。3.目的周期( DC)如果 CPU 需要获得目的操作数或形成目的地址,则进DC。在 DC 中根据 IR 中的目的地址信息进行相应操作。4.执行周期( EC)CPU 在取得操作数后,则进入EC,这也是第条指令都经历的最后一个工作阶段。在EC 中将依据IR 中的操作码执行相应操作,如传递、 算术运算、 逻辑运算、 形成转移地址等。5.中断响应周期(IC)CPU 除了考虑指令正常执行,还应考虑对外部中断请的处理。CPU 在向应中断请求后,进入中断响应周期IC。在 IC 中

6、将直接依靠硬件进行保存断点、关中断、转中断服务程序入口等操作, IC 结束转入取指周期,开始执行中断服务程序。6.DMA 传送周期( DMAC )CPU 响应 DMA 请求后,进入DMAC 中, CPU 交出系统总线的控制权,由DMA 控制器控制系统总线,实现主存与外围设备之间的数据直接传送。因此对CPU 来说, DMAC 是一个空操作周期。CPU 控制流程,描述了工作周期状态变化情况:为了简化控制逻辑,限制在一条指令结束是判断有无DMA请求,若有请求,将插入DMAC ;如果在一个DMAC 结束前又提出新的DMA 请求,则连续安排若干DMA 传送周期。如果没有DMA 请求,则继续判断有无中断请

7、求,若有则进入IC。在 IC 中完成需的操作后向新的FC,这表明进入中断服务程序。一、进入debug 环境C:debug 回车或在 DOS 提示符下 ,在 MASM 子目录下,按 DEBUG 及回车后即进入DEBUG环境。在DEBUG 提示符下可输入各命令二、常用debug 命令介绍(1)显示,修改寄存器内容显示所有寄存器内容格式: r 回车功能: 以十六进制形式显示cpu 内部个寄存器的值;以符号形式显示标志寄存器的各标志位(除 tf 外)的值; 并将 CS:IP 所指的内存内容反汇编成一条指令,可视为将要执行的指令。如:r 回车AX=0000 BX=0000 CX=0000 DX=0000

8、 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AF0 ES=0AF0 SS=0AF0 CS=0AF0 IP=0200 NV UP EI PL NZ NA PO NC 0AF0:0200 B238 MOV DL,38 知: cs0AF0h,IP0100h 修改寄存器格式: r 寄存器名回车-r ds DS 0AF :0AE0 -r ds 的内容由原来的0af0h 修改为 0ae0h 修改标志值格式: rf 例: -rf NV UP EI PL NZ NA PO NC -ov ng 回车将 of,sf 的值分别修改为1。(2)汇编,反汇编命令 汇编命令A 格式: A 内

9、存地址回车例:调用dos 中 02h 号功能显示字符a ,将该程序汇编到1270:100h 开始的内存中。-A1270:100 1270:0100 mov,ah,2 1270:0102 mov,dl,61 1270:0104 int 21 1270:0106 int 20 1270:0108 - 反汇编命令U 格式: u 内存块回车功能:分三列显示反汇编的结果,第一列为指令首地址,第二列为16 进制形式的指令机器码,第三列为指令的助记符。-u 1270:100 1270:0100 B402 MOV AH,02 1270:0102 B261 MOV DL,61 1270:0104 CD21 IN

10、T 21 1270:0106 CD20 INT 20 1270:0108 0000 ADD BX+SI,AL 1270:010A 0000 ADD BX+SI,AL 1270:010C 0000 ADD BX+SI,AL 1270:010E 0000 ADD BX+SI,AL 1270:0110 0000 ADD BX+SI,AL 1270:0112 0000 ADD BX+SI,AL 1270:0114 0000 ADD BX+SI,AL 1270:0116 0000 ADD BX+SI,AL 1270:0118 0000 ADD BX+SI,AL 1270:011A 0000 ADD BX

11、+SI,AL 1270:011C 0000 ADD BX+SI,AL 1270:011E 0000 ADD BX+SI,AL - (3)执行程序单步执行格式: t内存地址回车格式: p内存地址回车功能:用命令中的内存地址的段地址和偏移地址修改cs 和 ip,然后执行由cs:ip 指向的内存单元处的一条指令,显示各寄存器的值,并反汇编下一条指令,返回debug 状态。例:-t=1270:100 AX=0200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AE0 ES=0AF0 SS=0AF0 CS=1270 IP=010

12、2 OV UP EI NG NZ NA PO NC 1270:0102 B261 MOV DL,61 - 执行结果: ah2,cs 值不变, ip 的值增加2,cs:ip 指向第二条指令多步执行格式: t内存地址执行指令的条数格式: p内存地址执行指令的条数命令 t 和 p 的不同:one:带重复前缀rep/repnz/repz 的串操作指令和loop/loopz/loopn 等循环指令是与cs 相关的 指令。用t 命令执行这类指令时,每执行一次,cx 值减一,就停下来返回debug;而 p 命令执行时,一直执行到cx0,执行其后的下一条指令,才返回debug two:调用指令call 及中断

13、调用指令int,由于这类指令修改了cs 和 ip,使程序结构产生转向。用 t 命令则在cs:ip(子程序)入口处停下来返回debug,可用 t 命令进行跟踪。而用p命令则显示call 和 int 的下一条指令如:分别用t 和 p 执行 1270:0140h 处的指令 int 21h。-t=1270:104 AX=0200 BX=0000 CX=0000 DX=0000 SP=FFE8 BP=0000 SI=0000 DI=0000 DS=0AE0 ES=0AF0 SS=0AF0 CS=00A7 IP=107C OV UP DI NG NZ NA PO NC 00A7:107C 90 NOP -

14、p=1270:104 AX=0200 BX=0000 CX=0000 DX=0000 SP=FFE8 BP=0000 SI=0000 DI=0000 DS=0AE0 ES=0AF0 SS=0AF0 CS=1270 IP=0106 OV UP DI NG NZ NA PO NC 1270:0106 CD20 INT 20 连续执行g内存地址断点执行格式: g内存地址断点地址(4)显示,修改内存内容显示命令d 格式: d 内存块例:显示 -d1270:100h 到 1210 内存块的内容-d1270:100 l30 1270:0100 B4 02 B2 61 CD 21 CD 20-00 00 0

15、0 00 00 00 00 00 .a.!. . 1270:0110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 1270:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 修改命令e 格式 1: e 内存地址字符或数值串格式 2: e 内存地址填充指令 格式: f 内存块字符或数值串例: f ds:2000 2100 hello world 搜索指令s 格式: s 内存块字符或数值串移动指令m 格式: m 内存块 1 内存块 2 的首地址功能:将内存块1 的内容复制到内存块2,

16、内存块1 内容不变比较指令c 格式: c 内存块 1 内存块 2 的首地址(5)读写磁盘指定文件命令N 格式: Nd:PA TH 文件名 .扩展名回车功能:为命令L 和命令 W 指定文件,其中d:PATH 为文件所在的盘号和路径。写入命令W 格式: W 内存地址回车功能:将指定内存块的内容写到由命令N 指定的文件中, 其中内存块的首地址命令W 指定,内存块的大小由BX,CX 两寄存器决定,BX 存放内存块大小的高字节,CX 存放内存块大小的低字节。装入命令L 块格式: L 内存地址回车功能:将命令N 指定的文件装入到命令L 给出的内存地址开始处。文件固定装入到CS:IP处。装入可执行的 .EXE 或.COM 文件通常在调试可执行的.EXE 或.COM 文件时,可以不用N 和 L 命令来装入,而直接在进入debug的命令后加上要装入的文件。格式: d:pa

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号