|
楼主 |
发表于 2006-7-30 12:03
|
显示全部楼层
这学期学了数字逻辑,
结合前几天看的东西
对计算机原理有点兴趣,不过不想去找书
(如数字逻辑,书上教的,真正有用的不仔细说)
自己猜测下……
自动机:
所有的计算都可以转换成0 1运算,
再抽象点就是在CPU里的指令的某个特定集合按一定的顺序进入自动机
函数 参数 :
函数是包括某个特定集合按一定的顺序进入自动机的操作的内存地址
参数就是自动机里的输入,可以改变自动机的输出顺序
开始乱了…… 正式学计算机原理时再来整理,修正。。
http://wuyinggu.blog.sohu.com/7850865.html
一个程序能够运行是因为计算机的IP(指令计数器)指向了程序的第一条指令.当运行一个
程序时,系统会在内存中找到一个足够大的空间将程序的指令代码加载进去,并把IP指向第一
条指令,在这个过程中同时会为我们在程序中声请的变量,数组分配内存空间,就是所谓的栈
内存,这个过程中,指令并没用执行,故数组的大小,变量的类型必须是预先知道的,系统才可
以确定分配多少内存给他们,当在执行指令所分配的内存,就不是代码栈中分配的(这个栈
是系统用来放指令让计算机执行的,而我们只是将其中一部分划出来存放数据).因为栈的特
性,当程序执行完毕后,所有数据都将销毁.所分配的内存都被系统收回.
函数参数的传递, 当一个函数接受外来的参数时,就将参数压入栈中,(其实是将参数复
制到栈中),所以另外一种意义上说,所有参数的传递都是按值传递的,栈中数据的改变,不可
能影响外面对应的数据;如果传入的是指针,因为指向的是同一个地方,所以间接引用就会改
变外面的数据,但并不能改变指针本身.当函数调用完毕的时候,IP将指向调用函数的下条指
令,运行这个函数的栈就不存在了,所有拷贝数据,以及在栈中声请的数据将消失.调用函数接
受它的返回值.一个函数调用其他函数时只是将IP指向这个函数的第一个代码指令,调用完
毕再指回原来的指令下一条指令.这期间IP是随同参数一起入栈的. |
|