一条指令是怎么运行的,一个小的指令系统是怎么运行的

简单的指令系统【指令的真正内容】
什么是指令系统体系结构
在硬件攻城狮和软件程序员一起建一个计算机之前,需要一个共同的系统可以保证写的程序在另一个设计的硬件上运行,于是双方在搭建一个计算机之前需要制定一个共同的指令系统
 
一条简单的指令:ADD R M 
一个简单的指令系统:
ADD R M
LOAD R M
STORE M R
JMP L
备注:M指存储器,R指寄存器
 
图一
 
想要了解指令的具体格式吗?
每条指令规定等长,占2个字节:
 
 
图二
草稿图
 
接下来运行一个任务
1.将M1中的内容 与M2中的内容相加 -> M3
 i.M1 -> Rx [M1中的内容先放到R中,计算机没有将存储器中的内容直接相加的指令,据说比较复杂,所以先放一个到J寄存器中]
ii. Rx 中内容 与M2中内容相加 [将CPU里边Rx和存储器里边M2中内容相加]
iii. 结果-> Rx 
v. Rx ->M3 [JMP指令跳到下一条指令]
 
 
图三
草稿图三:汇编语言的真身图 左边部分就是汇编语言(basic) 
小结:
1.指令系统是一条计算机软硬件搭建前要统一指定的东西,比如说按什么编址,然后确定存储器中单元分配的字节,硬件工程师好做,软件的也可以编写指令的机器代码(联系前面的学的)
2.一条简单的指令ADD R M
3.知道了一条指令的具体形式,真正的机器代码的格式
原来一条机器指令的前操作码的具体内容是
0000 是加载
0001 是相加
0010 是转存
0011 是转移
4.间接知道了汇编语言的真身:图三中的左边部分就是汇编语言(basic)
5.计算机运算相加的具体过程:先放一个到寄存器,然后开始相加,接着结果转存,最后下一条预备,更新下一条指令
6.有延伸的一条问题:在cpu中PC就是整个指令系统的开头,PC中的地址是存储器中
 
 
是在指令系统最前面加多一条JMP L指令,更具体点? 0000 0011 0000 0101 

 

posted @ 2019-08-23 21:41  32079  阅读(441)  评论(0编辑  收藏  举报