计算机组成原理
1-1计算机系统的的组成
计算机系统分为两类:软件系统,硬件系统
硬件系统:(主机与外设)中央处理器CPU,内存,主板,显卡,固态硬盘,键盘,鼠标,显示器,电源,电缆
软件系统:
1.系统软件(为管理整个计算机系统所编制的程序)(eg:操作系统、数据库管理系统、网络系统、标准程序库、语言处理程序、服务程序)
2.应用软件(为实现用户应用所编制的各种程序)(eg:科学计算、数据处理、过程控制、事务管理)
计算机系统性能的好坏,取决于硬件和软件功能的总和
1-2计算机的发展
在本课程中,如果没有特别声明,计算机指的是电子数字计算机
除此之外,计算机的历史进展在其他课程有所涉及,不多记录
1-3计算机硬件
冯诺依曼计算机的结构
基本思想:存储程序控制
主要特点:
1.构成程序的指令和数据均采用二进制表示
2.指令和数据存放在存储器中,按地址访问
3.指令在存储器中按顺序存放。一般情况下,指令是按顺序执行的
4.指令由操作码和地址码组成:(数据不在指令中存储)
操作码用来表示执行何种操作
地址码用来表示操作数在存储器中的位置
5.机器以运算器为中心,输入/输出设备与存储器间的数据传输用过运算器完成
6.计算机硬件由运算器、控制器、存储器、输入设备/输出设备五大部件构成
这种计算机结构,每次输入/输出(I/O)操作都需要运算器参与,浪费很多可以用于运算的时间
现代计算机结构以存储器为中心
存储器可以分为两大部分:
主存储器:用于存放程序与数据,可以直接与CPU交换信息,又称为内存储器,简称内存或者主存
辅助存储器:用于帮助主存存储更多的信息。又称为外部存储器,简称为外存或辅存。辅存中的信息必须调入主存后,才能被CPU访问,固态硬盘
运算器:核心为算术逻辑单元ALU(Arithmetic Logic Unit),还有相关寄存器,主要功能是算术运算与逻辑运算
控制器:核心为控制单元CU(用于解释存储器中的指令,并发出各种操作命令来执行;指令 I/O设备也受CU控制,用于完成相关的输入输出操作),也包含相关寄存器
运算器和控制器在现代计算器中通常集成在一起,也就是中央处理器CPU(Central Processing Uint)
CPU与内存储器合起来称为主机
外存与I/O设备合起来称为外部设备
1-4计算机软件
预处理-->编译-->汇编-->链接
1-5计算机系统的层次结构
计算机系统的分层思想
计算机是一个非常复杂的系统,为了简化计算机系统的研究与实现,可以采用分层思想将计算机系统划分成一个层次结构的系统:
系统中的每一层都在向其上层提供一个简洁和抽象的接口。
每一层的实现细节对其上层而言都是“看不见”的,也就是透明的。
计算机解决问题的过程就是层次结构中的各层逐层转换的过程
与计算机网络体系结构的分层不同,计算机系统的分层方式,目前没有统一的标准,此课程将计算机系统划分成六个抽象层的层次结构
第1层 | 逻辑电路层 | 计算机硬件的底层,由逻辑门、寄存器等逻辑电路组成 |
---|---|---|
第2层 | 微程序层 | 将一条机器指令编写成一个微程序。每一个微程序包含若干条微指令,每一条微指令对应一条或多条微操作。 |
第3层 | 指令集体系结构层ISA | 定义了某计算机可执行的所有机器指令的集合,规定了对于每条机器指令计算机应该执行什么操作,所处理的操作数应存放的位置以及操作数的类型等。 |
第4层 | 操作系统层 | 设计人员不仅要对操作系统的设计理论有比较深入的理解,还需要掌握具体机器的指令集和汇编语言以及适用编写操作系统软件的高级语言。 |
第5层 | 汇编语言层 | 使用汇编语言进行编程。由于汇编语言的每条语句都与机器语言的某条语句对应,因此仍要求程序员对实际机器的内部组成和指令系统非常熟悉。 |
第6层 | 高级语言层 | 使用与机器无关的高级语言编程,无需掌握机器的底层技术细节,只要掌握某种高级语言的语法规则以及算法和数据结构等方面的知识进行编程 |
第一层 硬件工程师
第二、三层 架构师
本课程主要讲述前三层内容
软件和硬件的逻辑功能等价性
在特定条件下,软件实现的逻辑功能也可以通过硬件电路来实行,反之亦然
对于一些特定的计算和控制任务,可以选择将其使用软件编程实现,也可以选择设计专用硬件电路来实现,而两者的结果将在功能上等效
软件和硬件的逻辑功能等价性是计算机科学中的一个重要概念,也是计算机体系结构和工程中的基本原则之一。
当选择在软件层面实现某些逻辑功能时,通常意味着使用通用处理器(例如CPU)执行程序
而选择在硬件层面实现这些功能,使用硬件电路(eg:FPGA(现场可编程门阵列Field Programmable Gate Array)ASIC(专用集成电路Application Specific Integrated Circuit))
一个典型的例子就是在电脑上播放VCD影像,可以通过VCD解码器这个硬件电路来实现,也可以通过相关软件来实现
1-6计算机的基本工作原理
本节课相当于课程全部章节的概述,目的是让同学们对计算机的基本工作原理有一个初步的、整体的印象(个人感觉难度较大)
计算机硬件组成的进一步细化
运算器:算数逻辑单元ALU+至少三个寄存器(累加器ACC(Accumulator)、乘商寄存器MQ(Multiplier-Quotient Register)、操作数寄存器X)