主流CPU的工作原理

发布时间:2024-10-23

主流CPU的工作原理

主流CPU的工作原理

CPU的基本构成

CPU的内部结构可分为:控制单元、逻辑运算单元、存储单元(包括内部总线和缓冲器)三大部分。

1.指令高速缓存

是芯片上的指令仓库,这样微处理器就不必停下来查找计算机的内存中的指令。这种快速方式加快了处理速度。

2.控制单元

它负责有整个处理过程。根据来自译码单元的指令,它会生成控制信号,告诉运算逻辑单元(ALU)和寄存器如何运算、对什么进行运算以及怎样对结果时处理。

3.运算逻辑单元(ALU)

是芯片的智能部件,能够执行加、减、乘、除等各种命令。此外,它还知道如何读取逻辑命令,如或、与、非。来自控制单元的讯息将告诉运算逻辑单元应该做些什么,然后运算单元将寄存器中提取数据。以完成任务。

4.寄存器

是运算逻辑单元(ALU)为完成控制单元请求的任务所使用的数据的小型存储区域。(数据可以来自高速缓存、内存、控制单元)

5.预取单元

根据命令或将要执行的任务决定,何时开始从指令高速缓存或计算机内存中获取数据和指令。当指令到达时,预取单元最重要任务是确保所有指令均按正确的排列,以发送到译码单元。

6.数据高速缓存

存储来自译码单元专门标记的数据,以备运算逻辑装单元使用,同时还准备了分配到计算机不同部分的最终结果。

7.译码单元

是将复杂的机器语言指令解译运算逻辑单元(ALU)和寄存器能够理解的简单格式。

8.总线单元

是指令从计算机内存流进和流出的处理器的地方。

CPU的工作原理

一个工厂对产品的加工过程:

进入工厂的原料(程序指令),结过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出的成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。

CPU的工作原理:

从控制单元开始,CPU就开始了正式工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工作结束。首先,指令指针会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候取数值,告诉指令译码器什么时候翻译指令等等。

根据对指令类型的分析和特殊工作状态的需要,CPU设置了六种工作周期,分别用六

主流CPU的工作原理

个触发器来表示它们的状态,任一时刻只许一个触发器为1,表时CPU所处周期状态,即指令执行过程中的某个阶段。

1.取指周期(FC)

CPU在FC中完成取指所需要操作。每条指令都必须经历取指周期FC,在FC中完成的操作与指令操作码无关的公共操作。但FC结束后转向哪个周期则与本周期中取出的指令类型有关。

2.源周期(SC)

CPU在SC中完成取源操作数所需的操作。如指令需要源操作数,则进入SC。在SC中根据指令寄存器IR的源地址信息,形成源地址,读取源操作数。

3.目的周期(DC)

如果CPU需要获得目的操作数或形成目的地址,则进DC。在DC中根据IR中的目的地址信息进行相应操作。

4.执行周期(EC)

CPU在取得操作数后,则进入EC,这也是第条指令都经历的最后一个工作阶段。在EC中将依据IR中的操作码执行相应操作,如传递、算术运算、逻辑运算、形成转移地址等。

5.中断响应周期(IC)

CPU除了考虑指令正常执行,还应考虑对外部中断请的处理。CPU在向应中断请求后,进入中断响应周期IC。在IC中将直接依靠硬件进行保存断点、关中断、转中断服务程序入口等操作,IC结束转入取指周期,开始执行中断服务程序。

6.DMA传送周期(DMAC)

CPU响应DMA请求后,进入DMAC中,CPU交出系统总线的控制权,由DMA控制器控制系统总线,实现主存与外围设备之间的数据直接传送。因此对CPU来说,DMAC是一个空操作周期。

CPU控制流程,描述了工作周期状态变化情况:

为了简化控制逻辑,限制在一条指令结束是判断有无DMA请求,若有请求,将插入DMAC;如果在一个DMAC结束前又提出新的DMA请求,则连续安排若干DMA传送周期。

如果没有DMA请求,则继续判断有无中断请求,若有则进入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 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

主流CPU的工作原理

0AF0:0200 B238 MOV DL,38

知:cs=0AF0h,IP=0100h

修改寄存器

格式:-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 内存地址 回车

例:调用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 INT 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

主流CPU的工作原理

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+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=0102 OV UP EI NG NZ NA PO NC 1270:0102 B261 MOV DL,61

-

执行结果:ah=2,cs值不变,ip的值增加2,cs:ip指向第二条指令

多步执行

格式:-t=内存地址 执行指令的条数

格式:-p=内存地址 执行指令的条数

命令t和p的不同:

one:带重复前缀rep/repnz/repz的串操作指令和loop/loopz/loopn等循环指令是与cs相关的指令。用t命令执行这类指令时,每执行一次,cx值减一,就停下来返回debug;而p命令执行时,一直执行到cx=0,执行其后的下一条指令,才返回debug

two:调用指令call及中断调用指令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

-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

主流CPU的工作原理

连续执行

-g=内存地址

断点执行

格式:-g=内存地址 断点地址

(4)显示,修改内存内容

显示命令 d

格式:-d 内存块

例:显示-d1270:100h到1210内存块的内容

-d1270:100 l30

1270:0100 B4 02 B2 61 CD 21 CD 20-00 00 00 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,内存块1内容不变

比较指令 c

格式:-c 内存块1 内存块2的首地址

(5)读写磁盘

指定文件命令 N

格式:-N[d:][PATH]文件名.扩展名 回车

功能:为命令L和命令W指定文件,其中[d:][PATH]为文件所在的盘号和路径。

写入命令 W

格式:-W 内存地址 回车

功能:将指定内存块的内容写到由命令N指定的文件中,其中内存块的首地址命令W指定,内存块的大小由BX,CX两寄存器决定,BX存放内存块大小的高字节,CX存放内存块大小的低字节。

装入命令L块

格式:-L内存地址 回车

主流CPU的工作原理

功能:将命令N指定的文件装入到命令L给出的内存地址开始处。文件固定装入到CS:IP处。

装入可执行的.EXE或.COM文件

通常在调试可执行的.EXE或.COM文件时,可以不用N和L命令来装入,而直接在进入debug的命令后加上要装入的文件。

格式:>[d:][path]debug 文件名.扩展名 回车

功能:将命令中指定的文件装入到内存CS:IP处

例:把从1270:100h开始30h个字节的内存块内容写到D盘的根目录AA.DAT文件中 -n I:aa.dat ;用命令N指定文件名

-r bx ;修改BX的值

BX 0000

:0 ;bx=0h,存放文件长度的高位值

-r cx

CX 0010

:30 ;cx=30h,存放文件长度的低位值

-w 1270:100 ;将指定的内存块写到aa.dat文件上。

Writing 00030 bytes

例:将I盘根目录下的aa.dat文件调到内存CS:100h开始处。

-n I:aa.dat 回车

-l cs:100 回车

-u cs:100 回车

1270:0100 B402 MOV AH,02

1270:0102 B261 MOV DL,61

1270:0104 CD21 INT 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+SI],AL

1270:011C 0000 ADD [BX+SI],AL

1270:011E 0000 ADD [BX+SI],AL

(6)I/O端口地址

.输入命令

格式:-I 端口地址 回车

功能:将指定端口的内容输入到AL寄存器,并显示该值。

主流CPU的工作原理

输出命令

格式:-o 端口地址 数值 回车

功能:将命令中的数值输出到指定端口中

(7)十六进制加减

格式:-h 数值1 数值2

(8)退出命令

格式:-q

主流CPU的工作原理.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219