计算机是如何工作的
-
冯·诺依曼理论的要点是:
数字计算机的数制采用二进制;计算机应该按照程序顺序执行。
-
冯·诺依曼体系结构
根据冯·诺依曼体系结构构成的计算机,必须具有如下功能:把需要的程序和数据送至计算机中。必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。能够按照要求将处理结果输出给用户。
为了完成上述的功能,计算机必须具备五大基本组成部件,包括:输人数据和程序的输入设备、记忆程序和数据的存储器、完成数据加工处理的运算器、控制程序执行的控制器、输出处理结果的输出设备。
通过汇编一个简单的C程序,分析汇编代码
- 实验截图
-
汇编代码
g:
pushl%ebp
movl%esp, %ebp
movl8(%ebp), %eax
addl$1, %eax
popl%ebp
ret
f:
pushl%ebp
movl%esp, %ebp
subl$4, %esp
movl8(%ebp), %eax
movl%eax, (%esp)
callg
leave
ret
main:
pushl%ebp
movl%esp, %ebp
subl$4, %esp
movl$12, (%esp)
callf
addl$2, %eax
leave
ret -
堆栈变化截图
总结
计算机通过堆栈的变化存储和处理代码段的数据,实现代码段指令的功能,从而进一步实现计算机整体的功能。冯·诺依曼体系结构的计算机的软件和硬件方面存在一定的“间隔”,同一个操作需要不同的操作码来区别不同的意义,这么在一定程度上限制了计算机的发展。