持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第31天,点击查看活动详情 第一周:计算机系统概述
第一讲:为什么要学习计算机系统基础
计算机系统抽象层
重点在高级语言以下各抽象层
-
C语言程序设计层
- 数据的机器级表示,运算
- 语句和过程调用的机器级表示
-
操作系统,编译和链接的部分内容
-
指令集体系结构和汇编层
- 指令系统,机器代码,汇编语言
-
微体系结构与硬件层
- CPU的通用结构
- 层次结构存储系统
为什么要学习计算机系统基础
- 为了编程序时少出错
- 为了在程序出错时很快找到出错的地方
- 为了明白程序是怎样在计算机上执行的
- 为了强化系统思维
- 为了更好的理解计算机系统,从而编写出更好的程序
- 为了更好地认识计算机系统
第二讲:计算机系统基本组成与基本功能
冯诺依曼结构采用存储程序工作方式:
任何要计算机完成的工作都要先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操作人员干预下,自动完成逐条取出指令和执行指令的任务。
早期,部件之间用分散方式相连
现在,部件之间大多用总线方式相连
冯诺依曼结构的主要思想
1.计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
2.各基本部件的功能是:
- 存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令
- 控制器应能自动取出指令来执行
- 运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算
- 操作人员可以通过输入设备、输出设备和主机进行通信。
3.内部以二进制表示指令和数据。每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址,由一串指令组成程序。
4.采用"存储程序"工作方式
现代计算机结构特点
CPU:中央处理器 PC:程序计数器 MAR:存储器地址寄存器
ALU:算数逻辑部件 IR:指令寄存器 MDR:存储器数据寄存器
GPRs:通用寄存器组(由若干通用寄存器组成,早期就是累加器)
计算机是如何工作的
上图就可以看做是一条指令的执行过程
翻译一下
-
程序在执行前
数据和指令事先存放在存储器中,每条指令和每个数据都有地址,指令按序存放,指令由OP、ADDR字段组成,程序起始地址置PC (原材料和菜谱都放在厨房外的架子上,每个架子有编号。妈妈从第5个架上指定菜谱开始做)
-
开始执行程序
第一步∶根据PC取指令(从5号架上取菜谱)
第二步:指令译码(看菜谱)
第三步:取操作数(从架上或盘中取原材料)
第四步∶指令执行(洗、切、炒等具体操作)
第五步:回写结果(装盘或直接送桌)
第六步:修改PC的值(算出下一菜谱所在架子号6=5+1)继续执行下一条指令(继续做下一道菜)