计算机专业课程体系根据这张图设置的,中间蓝色的是指令集体系结构,也就是计算机软硬件系统的交界面,这部分内容是计算机体系结构课程要学的。它的下一层就是计算机组成原理要学的内容,比如处理器、存储器、I/O,总线控制。
课程采用自顶向下方式层层细化,第一篇概论讲计算机硬件系统的概貌,以及程序在计算机系统当中是如何执行的。在此基础上给出计算机系统的硬件结构。CPU是计算机核心,是计算机系统中非常重要的部件,CPU专门用一篇。CU是整个计算机的控制核心,是计算机系统当中最重要的部分,单独拿出来一篇。
从物理结构角度来看,计算机系统可以分成9层,依据是每一层典型的构建模块。
- 最底层是物理层,电子设备依靠电子的移动来工作,可以用量子机制和麦克斯韦方程描述量子的移动。
- 在电子元件层,利用电子在不同物质中的移动特征来构建电子元件,这些电子元件体现出来的特征可以用连接点或者是管脚它的电流和电压进行描述。
- 模拟电路层,利用下层的接口进一步的构建放大器、滤波器等模拟电路部件,这些部件工作在连续的电压下。
- 数字电路层,利用模拟电路元件构建与门、或门、非门。
计算机组成原理主要研究逻辑层和微体系结构层,计算机主要部件的逻辑实现和主要部件之间的连接,来实现datapath和控制
从程序员的角度来看。
- 机器语言向上发展到高级语言程序员眼中似乎就可以直接运行语言了,实际上实际机器还要向下发展,一条机器语言指令执行过程也很复杂,比如执行一条机器语言指令:要把这条指令的地址传送给存储器,要告诉存储器进行读,取出来之后要送给控制器进行译码,译码的结果再控制操作器完成相应的操作。而且这些操作是有顺序的,把机器语言指令按在执行操作期间的顺序,放到不同的微指令当中。
- 对通过编写微指令来编写微程序来实现机器语言的程序员来说,他所面对的指令就是一个微程序的机器,这个机器能够执行微指令、微程序进而实现对机器语言指令或程序的操作运行。
- 汇编的操作系统也是一层机器,汇编程序员可以利用操作系统提供的功能进行编程,操作系统可以管理软硬件的资源,比如汇编语言程序最后都有MOV AH4CH,@21H 这两条指令完成了汇编语言应用程序的退出,返回了DOS系统。实际上是汇编语言程序调用了DOS系统当中提供的中断功能实现了程序的退出。
这些层次分别由硬件、软件层次实现的,由虚线划分。虚线这一部分对应的是计算机系统的软硬件接口,这个接口也实现了计算机系统的功能分配,功能由软硬件实现在逻辑上是等价的,只是各有局限特点。
计算机组成与计算机体系结构区别?
研究内容上,计算机系统结构定义了计算机系统的软硬件的交界面,对功能由软件还是硬件实现进行了分配,提供了上层软件编写时和硬件交互的接口
定义上,计算机系统结构是,程序员(按层次分为很多种)所见到的计算机系统的属性(例如机器语言程序员编写一个能够在计算机硬件系统上正确执行的程序他所必须了解的计算机系统的属性,比如说指令集、寄存器的文件组织、内存器的编址单位、以及指令集能对哪些类型的数据操作)概念性的结构和功能特点。计算机组成是,实现计算机体系结构所体现的属性(比如具体指令的实现,例如在这个指令集当中有无乘法指令,能够乘法操作的数据类型,数据的长度,这些都是在体系结构中做的规定,计算机组成利用这些规定对乘法逻辑实现)。
存储器的构成
存储体—存储单元—存储元件(0/1)
大楼 — 房间 — 床位(有人/没人)
每个存储单元赋予一个地址号
MAR存储器地址寄存器,反应存储单元的个数。
MDR存储器数据寄存器,反应存储字长
运算器的构成
ALU算逻算术单元为核心
ACC和X两个寄存器作为输入,同时ACC也保存运算的结果
乘法结果长度加倍,为了完整保存结果,还需要一个寄存器MQ
除法的结果也需要两个寄存器ACC和MQ同时保存商和余数
控制器的构成
主机结构
结构层次化1 结构层次化2
每一条特点都可以改变,
但每一条都有这样设置的依据
主机完成存、取指令过程
在此基础上明白ax2+bx+c程序执行过程
提示:每条指令分为取指令、分析指令、执行指令三个步骤,循环直到最后一条指令