计算机组成原理(一)
计算机系统简介
以下为个人学习笔记和心得感谢哈工大刘宏伟老师,以及王道考研课程。
计算机的软硬件概念
计算机系统由“软件”与“硬件”两大部分组成
- “硬件” :计算机的实体部分,他是由看得见摸得着的各种元器件
- “软件”:由人们事先编制的具有特殊功能的程序组成,看不见、摸不着。
计算机的软件又通常可以分为:“系统软件”和“应用软件”
系统软件又称为系统程序,主要用来管理整个计算机系统,监视服务,使系统资源得到合理调度、高效运行。
包括:
-
标准程序库
-
语言处理程序(将汇编语言翻译为机器语言的汇编程序或将高级语言翻译成机器语言的编译程序)
-
操作系统(批处理系统、分时系统、实时系统)
-
服务程序(诊断程序、调试程序、连接程序等)
-
数据库管理系统
-
网络软件等
应用软件又被称为应用程序,他是根据用户根据任务需要编制的各种程序
- 科学计算程序
- 数据处理程序
- 过程控制程序
- 事务管理程序等
计算机系统层次结构
计算机汇编语言没有通用性,每一台机器必须有一种与之对应的汇编语言,不利于计算机的广泛应用与发展,然后在20世纪60年代先后出现了各种各样的面向问题的高级语言,将高级语言翻译成机器语言程序的软件被称为语言处理系统,翻译程序有两种:
- 一种是编译程序
- 解释程序
- 编译程序:是将用户编写高级语言程序的全部语句一次翻译成机器语言程序,而后再执行机器语言程序。因此只要源程序不变,就无须再次进行翻译,由高级语言,一次变换直接变为机器语言,生成为
.exe
的文件,那翻译来说,就是每次翻译一句写下来,一次性写完后,下次再次使用的时候,直接看自己写完的就可以了。(c语言、c++) - 解释程序:是将源程序的一条语句翻译对应于机器语言的一条语句,并且立即执行这条语句。它的特点是翻译一次执行一次,下次执行也必须进行翻译,相当于一个翻译机一次翻译一句,即使每次说的相同也必须再次进行翻译。(JS、python)
多条微指令可以构成一条微程序,因为程序往往是需要多个操作的,如:CPU发出读指令和写指令等等,而计算机执行的其实是一个一个微指令。
计算机组成和计算机体系结构
此处的透明–看不见
计算机体系结构
- 计算机体系结构:是指可以被程序员看到的属性,这些属性通常指的是机器语言编程的程序员进行编写的,包括包括指令集、数据类型、储存寻址技术、I\O机理等。如果不同就是认为这两种机器的结构是各不相同的。如何设计硬件与软件之间的接口,如:有无乘法指令
计算机组成(原理)
如何设计硬件与软件之间的接口**,如:有无乘法指令
计算机组成(原理)
- 计算机组成:如何实现计算机体系结构所体现的属性,它包括了许多对于程序员透明的硬件细节,如:指令系统体现了机器的属性,这是数属于计算机结构问题,但是指令的实现,即如何取指令、取操作数,运算、送结构,这些都属于计算机组成。,因此当两台机器指令系统相同的时候,只能认为他们具有相同的结构。如何用硬件实现所定义的接口,对程序员“透明”,如何实现乘法指令.