什么是计算机系统
计算机系统中的各个抽象层:
- C语言程序设计层
- 数据的机器级表示,运算
- 语句和过程调用的机器级表示
- 操作系统、编译和链接
- 指令集体系架构(ISA)和汇编层
- 指令系统、机器代码,汇编语言
- 微体系结构和硬件层
- CPU的通用结构
- 层次结构存储系统
现代计算机的原型——冯诺伊曼结构
其实早在冯诺依曼结构模型之前,有更早的计算机模型——图灵机但不是现代计算机的原型。
冯诺依曼结构最重要的思想是:存储程序(Stored-program)
任何要计算机完成的工作都要事先被编写成程序,然后将程序和原始数据送入主存并启动执行。一旦程序被启动,计算机应能在不需要操作人员干预下,自动完成逐条取出指令和执行指令的任务。
冯诺依曼结构的主要思想
- 冯诺依曼结构分为5个部分:运算器,控制器、存储器、输入设备和输出设备,并约定用二进制进行存储和运算。
- 各基本部件的功能是:
- 存储器不仅能存放数据,而且也能存放指令,形式上两者没有什么区别都是二进制序列,但计算机应该能区分数据还是指令
- 控制器应能自动取出指令来执行
- 运算器应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算
- 操作人员可以通过输入设备,输出设备和主机进行通信
3. 内部以二进制表示指令和数据,每条指令由操作码和地址码两部分组成。操作码指出操作类型,地址码指出操作数的地址。由一串指令组成程序。
4. 采用“存储程序” 工作方式
计算机执行程序方式:
取指令->指令译码->取操作数->指令执行->回写结果->修改PC的值
最主要的四个步骤是:
四个阶段的具体含义:
- CPU 通过程序计数器读取对应内存地址的指令,这个部分称为 Fetch(取得指令);
- CPU 对指令进行解码,这个部分称为 Decode(指令译码);
- CPU 执行指令,这个部分称为 Execution(执行指令);
- CPU 将计算结果存回寄存器或者将寄存器的值存入内存,这个部分称为 Store(数据回写);
上面这 4 个阶段,我们称为指令周期(Instrution Cycle),CPU 的工作就是一个周期接着一个周期,周而复始。
事实上,不同的阶段其实是由计算机中的不同组件完成的:
- 取指令的阶段,我们的指令是存放在存储器里的,实际上,通过程序计数器和指令寄存器取出指令的过程,是由控制器操作的;
- 指令的译码过程,也是由控制器进行的;
- 指令执行的过程,无论是进行算术操作、逻辑操作,还是进行数据传输、条件分支操作,都是由算术逻辑单元操作的,也就是由运算器处理的。但是如果是一个简单的无条件地址跳转,则是直接在控制器里面完成的,不需要用到运算器。
指令的类型
指令从功能角度划分,可以分为 5 大类:
-
数据传输类型的指令,比如
store/load
是寄存器与内存间数据传输的指令,mov
是将一个内存地址的数据移动到另一个内存地址的指令; - 运算类型的指令,比如加减乘除、位运算、比较大小等等,它们最多只能处理两个寄存器中的数据;
-
跳转类型的指令,通过修改程序计数器的值来达到跳转执行指令的过程,比如编程中常见的
if-else
、switch-case
、函数调用等。 -
信号类型的指令,比如发生中断的指令
trap
; -
闲置类型的指令,比如指令
nop
,执行后 CPU 会空转一个周期;
指令中需要给出的信息:
操作性质(操作码)
源操作数1或/和源操作数2(立即数,寄存器编号,存储地址)
目的操作数地址(寄存器编号,存储地址)
存储地址的描述与操作数的数据结构有关!
个人总结
1、冯诺依曼的结构:运算器+存储器+控制器+I/O设备
2、冯诺依曼结构的最重要的思想就是:采用“存储程序”的思想
3、控制器(控制):对指令译码生成控制信号
4、计算机实现的所有任务都是通过执行一条一条指令完成的。
5、计算机是采用“存储程序”的工作方式文章来源:https://www.toymoban.com/news/detail-414903.html
6、程序是由指令组成(计算机的执行程序就理解成你妈妈做你喜欢吃的菜的过程)文章来源地址https://www.toymoban.com/news/detail-414903.html
到了这里,关于计算机系统基本组成于基本功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!