博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算机指令在CPU中的执行过程(图文版)
阅读量:7045 次
发布时间:2019-06-28

本文共 566 字,大约阅读时间需要 1 分钟。

hot3.png

为了了解指令的大概流程,下面以加法指令做以说明(引用《计算机原理》)。

指令形式: ADD EA

该指令一个隐含的操作数存在累加器(AC)中,EA为另一个操作数在主存当中的有效地址。该指令是把AC和EA的数据相加,最后把计算的和送回AC中,即AC+EA -> AC。

1. 取指

把PC的内容(指令地址)装入地址寄存器(AR),送上地址总线,由地址总线找到对应的主存,取出指令码,然后通过数据总线将指令码传给CPU的指令寄存器(IR)。

2. 分析

把IR中的指令交给译码器译码,识别出这是一条AC与主存数据相加的指令,将指令中的EA输出到地址总线,地址总线在加法指令的控制下从主存读出数据,然后将读出的数据通过数据总线送到CPU的暂存寄存器(TR)中。

在指令译码的同时,PC的值会加1,指向下一个指令地址。

3. 执行

将AC中的数据和TR中的数据传入运算中心(ALU)进行加法运算,再将计算之和通过数据总线传给AC,结束指令。

以上只列出最关键的3个步骤,其中一个指令的操作数是以直接寻址的方式给出的(EA),即译码后可立即进行访存操作。如果指令的操作数是由其他寻址方式给出,则还需要进一步取址得出EA,再由EA去存储器取值。

转载于:https://my.oschina.net/u/3536632/blog/2934131

你可能感兴趣的文章
Java学习笔记十九:Java中的访问控制修饰符
查看>>
U盘装WIN7出现 "C:\$Extend\$Reparse 已损坏且无法读取"的解决
查看>>
nginx反向代理配置详解
查看>>
第二章:SE简单对话 【闲话家常---《SEO通俗入门精谱》】
查看>>
将文件转换为PDF格式(转)
查看>>
linux shell下录制与回放终端会话
查看>>
三大应用性能隐形杀手:谁Kill你的App?
查看>>
linux学习网站
查看>>
研究#XMPP#
查看>>
QDR SRAM 和 RLDRAM 的比较
查看>>
eclipse代码和console中汉字太小的解决办法
查看>>
使用 OpenLDAP 验证 Open*** 用户登录访问
查看>>
Linux文件系统权限及相关命令
查看>>
在Redhat 5.5-64bit安装Oracle 10g
查看>>
在VIM里面设置自动补全功能
查看>>
LINUX常见问题一句话问答
查看>>
自动化介绍
查看>>
Linux正则表达式
查看>>
LinQ to Sql中的增删改查2种方法
查看>>
学好Linux决心书
查看>>