【计算机系统概论】
计算机系统概论
1. 概论
1.1 问题引入
等我学完了再回来解释
1.2 计算机系统基本组成与基本功能
冯诺依曼机
核心思想:存储程序
工作方式: 任何要计算机完成的工作都要先被编写成程序,然后将程序和原始 数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操 作人员干预下,自动完成逐条取出指令和执行指令的任务。
主要思想:
- 计算机有控制器、运算器、存储器、输入、输出五个基本部分。
- 存储器:存放数据和
指令
,两者形式上没有区别,但是计算机应当能够进行区分 - 控制器:能自动取出指令来执行
- 运算器:能进行加减乘除、逻辑运算和附加运算。
- 输入输出:操作人员的通信方式
- 存储器:存放数据和
- 内部以二进制表示指令和数据。指令由操作码和地址码组成。操作码指出操作类型,地址码指出操作数地址。一串指令组成程序。
- 采用
存储程序
方式工作。
冯诺依曼结构模型
早期这些部件都是分散方式连接,现在都是用总线方式连接
现代计算机结构模型
CPU:中央处理器
PC:程序计数器
MAR:存储器地址寄存器
ALU:算术逻辑部件
IR:指令寄存器
MDR:存储器数据寄存器
GPRs:通用寄存器组(早期的累加器)
厨房-CPU,厨师-控制器,盘-GPRs,锅灶等-ALU ,架子-存储器
做菜前:
- 原材料(数据)和菜谱(指令)
按序
放在厨房外的架子上(存储器),每个架子有编号(存储单元地址) - 菜谱信息:原料位置、做法、做好的菜放哪等
- (数据和指令事先存放在存储器中,每条指令和每个数据都有地址, 指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC)
开始做菜:
- 从5号架子上取菜谱(根据PC取指令)
- 看菜谱(指令译码)
- 从架上或盘中取原材料(取操作数)
- 开始炒菜(指令执行)
- 装盘送桌(回写结果)
- 算出下一个菜谱所在架子号6=5+1(修改PC值)
- 继续做下一道菜(执行下一条指令)
指令和数据:
- 程序启动前,指令和数据都存放在存储器中,形式上没有差别, 都是0/1序列
- 采用”存储程序“工作方式:
- 程序由指令组成,程序被启动后,计算机能自动取出一条条的指令执行,在执行过程中无需人的干预。
- 指令执行过程中,指令和数据被从存储器取到CPU,存放在CPU内的寄存器中,指令在IR中,数据在GPR中。
- 指令中需给出的信息:
- 操作性质(操作码)
- 源操作数1 或/和源操作数2 (立即数、寄存器编号、存储地址)
- 目的操作数地址 (寄存器编号、存储地址)
- 存储地址的描述与操作数的数据结构有关!
编译程序(Complier):将高级语言源程序转换为机器级目 标程序,执行时只要启动目标程序即可
解释程序(Interpreter ):将高级语言语句逐条翻译成机器 指令并立即执行,不生成目标文件。
HelloWorld.c的运行
- 红色:键盘读入./hello,到达cpu,得到计算结果后放入主存储器中
- 蓝色:hello可执行文件运行
- 绿色:从主存储器中拿到数据,最终在显示屏显示