文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. 冯·诺依曼结构的主要思想
1.计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
2.各基本部件的功能:
- 存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据和指令。
- 控制器应能自动取出指令执行。
- 运算器应能进行加/减/乘/除四种基本算数运算,并且也能进行一些逻辑运算和附加运算。
- 操作人员可以通过输入设备、输出设备和主机进行通信。
3.内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。
4.采用“存储程序”的工作方式。
2. 计算机是如何工作的
- 程序执行前
数据和指令事先存放在存储器中,每条指令和数据都有地址,指令按顺序存放,指令由OP、ADDR字段组成,程序起始地址放置在PC中 - 执行程序
1.根据PC取指令
2.指令译码
3.取操作数
4.指令执行
5.回写结果
6.修改PC值
7.执行下一条指令
3. 编译程序和解释程序
编译程序(Compiler):将高级语言源程序转换为机器级目标程序,执行时只需要启动目标程序即可。
解释程序(Interpreter):将高级语言语句逐条翻译成机器程序并立即执行,不生成目标文件。
4. 典型程序的转换处理过程
- GCC + Linux
hello.c(源程序)经过预处理(cpp)变为hello.i(源程序),再经过编译(ccl)变为hello.s(汇编指令),再经过汇编(as)变为hello.o(可重定位目标程序,二进制),然后链接(ld)printf.o,形成可执行程序(二进制)。