::  ::  ::  ::  :: 管理

cpu执行机器代码过程

Posted on 2008-06-16 04:28 nt05 阅读(227) 评论(0)  编辑 收藏 引用 所属分类: 硬件

CPU 有自己的命令,需要寻找操作数,即是内存,也指变量,存取过程有赋值操作符来作,而计算

过程有表达式来做,表达式也指+ - * / %  & 取地址,也指是存取操作。存取地址,一般由CPU来做
CPU中的地址寄存器和指针寄存器和指令寄存器来做这方面的工作,所以我们不是很好的能理解这方面

的知识,是取指令和取变量,CPU中的计算器 和逻辑存取器,和寄存器,如何工作这个流程,该好好

理解, 地址总线,数据总线,相互传递,来使CPU计算。来传回结果。写回内存,寄存器的状态,表

示数据运算后的结果,是显示状态,然后由CPU传回内存,保存结果。继续运算。直到结束。

CPU找到内存中的字节,由地址,显示 ,然后读取内存中的内容,指令的内容,CPU认识,数据的内容

,CPU放到一个位置,然后,计算,得到状态后,写回内存,其中有寄存器的内容,和 指令寄存器和

数据寄存器的内容。 堆栈指针寄存器的内容。


算法要解决的问题。 如何解决算法的问题,首先要解决算法问题的表示:这是很重要的,因为我们的

空间和电脑所处的空间是 不一样的,我 们所处的是四维空间,而电脑所处的是几维空间,自己分析

一下电脑所处的是几维空间,2进制,数学,可以表示,矩阵可以表示好几维空间,所以我们设计算法

时就是要用内存中的变量,结构,类来表示我们所在的空间中的 事物,和概念,和 所以 算法的表示

中的问题该好好想想。


想学算法的表示就要多看代码,这当中有算法的表示的问题。看看别人如何表示的如何解决的小技术

,以后,对自己编的时候就是很有用的,别没有耐心看,

用汇编写的程序,Mov Ax, 1 ADD  bx ,Ax  CPU还的到内存中取程序,但是读取的时候,就不用到内

存中读数了,直接在寄存器中取就可以了, 就句话说的意思是取指令,是一回事,取数据是一回事,

要分开。  指令中带有数据,但是是数据的地址,如果不是寄存器标号的话,所一需要进行取数据操

作。由于CPU对取指令和进行运算是分开的所以,一般不介绍,这么细,从代码中也看不出来是,这么

回事,代码中,只是简化了CPU 取指令和执行指令的过程,而让人跟容易看一些,但是不是很好理解

。而且很容易给人的认识是指令在CPU中,存在,和在CPU中执行似的,其实是有在内存中存放和在内

存中存放指令和存放数据之分的。CPU在执行指令之时,也是从内存中取指令,有时要取数据之分的。

理解了之后,看代码,会省略掉,CPU取读指令的那段,直接认为。在执行。这些操作。 只有过程和

数据,这即为算法。还有问题的表示。