计算机系统概述

文章作者: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,形成可执行程序(二进制)。
如果有收获,可以请我喝杯咖啡!