存储程序,程序控制
连续两天的计算机组成原理实验,虽然实验做的很水吧!但是还是想写一些东西记录一下我曾经学过计算机组成原理。似乎懂了存储程序,程序控制这句话,但也可能理解的不对。一篇零散的感悟留给自己。
自动执行
我们说如果想让一个事物能够连续不断进行下去,那么这个事物一定会有周期。就像让一个圆滚起来一样,当它滚动到终点亦是起点,然后就又会接着滚,周而复始,如果没有外作用力它停止,它就会永远滚动。
如果我们想让计算机自动执行的话,就需要有周期,如果我们把一个个指令作为计算机最基本的周期的话,但是完成一条指令的时间长短不一,有些难控制。所以,我们把机器周期当成计算机重要的周期。简单的说机器周期就是一个数从可存储器件出发到另一个可保存地址的时间就是一个机器周期。
存储程序
现在我们来理解一下存储程序这句话。我们说指令就是计算机中的那个滚动的圆。指令一条一条的连续不断的执行,控制计算机的数据流向,然后计算机就可以完成各种功能。当然我们都知道一条指令不就是01100011
吗?我们给加上自然语言的语义,读出A寄存器的数到SA。(本实验中的具体指令),指令怎么起作用呢?指令会解析成微指令,然后生成操作信号,这些操作信号又会和时序电路相与,然后分时起作用,就可以完成对各个器件的控制。最后,一定会有一个信号取指令公共操作,让圆连续的滚动起来。
这样,我们把一条条指令顺序存储,然后让指令这个圆滚起来,计算机就能够自动执行,完成各种功能。
反思
当然,不知道是应该该怎么说?我所做的考核实验比较简单。因为每个组的考核实验都不一样,我想说的考核实验是我自己没有做过的,但是我自己做的考核实验应该没有什么可说的。我想说的一个考核实验就是三个数排序的问题,因为题目局限在了三个数,所以大部分人的目光也就只针对了三个数。如果是多个书呢?又看了一下数据结构中排序算法的程序,也许这个算法成功与否的关键在于如何解析好for循环这条语句,也就是如何把指令设计的具有周期性完成对普遍情况问题的解决。
最后
感谢张军老师在实验过程中的耐心教导。实践总是比理论有趣,但是理论总是在教学中占据了大部分时间。不开心。