计算机组成与系统结构 陈泽宇 副教授
第1章 计算机系统概论 第2章 运算方法和运算器 第3章 存储系统 第4章 指令系统 第5章 中央处理器(CPU) 第6章 总线系统 第7章 输入输出(I/O)系统 第8章 并行计算机系统
1.2 计算机的基本组成 1.2.1 计算机硬件 1.2.2 计算机软件 1.2.3计算机固件
计算机由硬件(Hardware)和软件(Software)组成 硬件是基础 是软件活动的舞台,由物理元器件构成的有形实体 软件是灵魂 使硬件最大限度发挥作用,是由计算机程序构成的无形的东西,需要存储在有形的硬件中 可以实现更高层次的逻辑功能 两者缺一不可
1.2.1 计算机硬件 1.控制器 2.运算器 3.存储器 4.输入输出设备 5.总线
计算机硬件是组成计算机的所有电子器件和机电装置的总称 冯·诺伊曼体系结构 主要特点:使用二进制数和存储程序 设计思想:存储程序并按地址顺序执行 程序及操作数据一同存储 哈佛体系结构(Harvard Architecture) 源自Harvard Mark I计算机,程序与操作数据分开存储 现代冯·诺伊曼计算机在设计中展示出了某些哈佛体系结构的特性,如高速缓存Cache
冯·诺伊曼计算机具有5大部件 FLASH演示 用总线相互连接 中央处理器(CPU) Central Processing Unit 控制器和运算器的合称 早期由许多分立元件组成,现在通常被制作在单片集成电路上,称为微处理器(Microprocessor)
计算机系统工作时, 输入设备将程序与数据存入存储器 控制器从存储器中逐条取出指令,将其解释成控制命令,去控制各部件的动作 数据在运算器中加工处理,处理后的结果通过输出设备输出
1.控制器 控制器是计算机的管理机构和指挥中心 按照预先确定的操作步骤,协调控制计算机各部件有条不紊地自动工作 控制器工作的实质就是解释程序 逐条读取、分析、执行指令,控制各部件动作 程序计数器(Program Counter) 是一个特殊的寄存器 记录着将要读取的下一条指令在存储器中的位置
2.运算器 用于信息加工的部件,对数据进行算术运算和逻辑运算 FLASH演示 算术逻辑单元(Arithmetic Logic Unit,ALU) 具体完成算术与逻辑运算的单元,运算器的核心 寄存器 存放参与运算的操作数 累加器 特殊的寄存器,存放中间结果和最后结果
算术运算 加法、减法、乘法、除法,甚至三角函数、平方根 整数、有限精度实数 任何计算机都可以通过编程来执行任何的算术运算 可通过编程把复杂运算分解成计算机可执行的简单步骤 如ALU硬件不支持,则可用软件实现,但需花较多时间 超标量计算机包含多个ALU,可同时处理多条指令 图形处理器和具有并行特性的计算机的ALU,可执行矢量和矩阵算术运算
3.存储器 存储器的主要功能是存放程序和数据 程序和数据都用二进制数表示,统称为信息 向存储器存入或从存储器取出信息,都称为访问存储器 存储器由一系列存储单元组成 每个存储单元的编号称为地址 要按给定的地址来寻找所选择的存储单元
信息单位 位(bit,简写成b) 计算机的最小信息单位,包含1位二进制信息(0或1) 字节(Byte,简写成B) 由8位二进制信息组成 字(Word) 计算机一次所能处理的二进制位数,至少一个字节 通常把组成一个字的二进制位数称为字长 微型机字长可以少至8位,多至32位,甚至达到64位
存储容量 存储器中所有存储单元的总数 KB(Kilobyte,千字节)、MB(Megabyte,兆字节)、GB(Gigabyte,千兆字节) 1KB=1024B,1MB=1024KB,1GB=1024MB 存储器分类 按照在计算机中的作用,可分为主存储器、寄存器、闪速存储器、高速缓冲存储器、辅助存储器
4.输入输出设备 I/O设备或外围设备(Peripheral,简称外设) 1)输入设备 2)输出设备 3)适配器
1)输入设备 将人们熟悉的信息形式,变换成计算机能接受并识别的二进制信息形式 理想的输入设备应该是“会看”和“会听”的 键盘、鼠标、扫描仪等,以及用于文字识别、图像识别、语音识别的设备
2)输出设备 将计算机输出的处理结果信息,转换成人类或其他设备能够接受和识别的信息形式 理想的输出设备应该是“会写”和“会讲”的 激光打印机、绘图仪、CRT/LCD显示器等,以及输出语言的设备(如语音合成产品)
3)适配器 外围设备通过适配器(Adapter)部件与主机相连接 作用相当于转换器,保证外围设备按照计算机系统特性所要求的形式发送或接收信息 使主机和外围设备并行协调地工作
5.总线 计算机系统通过总线(Bus)将CPU、主存储器及I/O设备连接起来 总线是构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路 按照信号类型,可分为 数据总线:传送数据,双向,可输入输出 地址总线:传送地址,单向,决定数据或命令传送给谁 控制总线:传送各种控制信号
1.2.2 计算机软件 计算机软件是程序的有序集合 程序则是指令的有序集合 1.软件系统 2.程序设计语言 3.操作系统 4.数据库
1.软件系统 一台计算机中全部程序的集合,统称为这台计算机的软件系统 软件系统是在硬件系统的基础上,为有效使用计算机而配置的 计算机软件按其功能可分为应用软件和系统软件两大类 应用软件是为解决某种应用问题而编制的程序 系统软件用于实现计算机系统的管理、调度、监视和服务等功能
2.程序设计语言 1)机器语言 2)汇编语言 3)算法语言
1)机器语言 早期人们直接用机器语言(即机器指令代码)编写程序,计算机完全可以“识别”并执行,所以又叫做目的程序 但是用机器语言编写程序需要耗费大量的人力和时间,且容易出错
2)汇编语言 指令助记符:用约定的文字、符号和数字按规定格式表示各种不同指令,每条基本指令都被指定一个表示其功能又便于记忆的短的名字 汇编语言(Assembly Language):用指令助记符表示的指令来编写程序 汇编程序(Assembler):把汇编语言程序转换为计算机可理解的、用机器语言表示的目的程序 机器语言及汇编语言,对特定类型计算机而言是唯一的
3)算法语言 算法语言 按实际需要规定好的一套基本符号,以及由这套基本符号构成程序的规则 接近数学语言,直观通用,与具体机器无关 能够便利地表达程序员的设计思想,减少程序错误 源程序(Source) 用算法语言编写的程序,不能由机器直接识别和执行 必须“翻译”为机器语言后才能由机器识别和执行
源程序“翻译”方法 ⑴编译程序(Compiler) 把用算法语言编写的源程序翻译成目的程序,然后在运行系统中执行目的程序,得出计算结果 编译程序和运行系统合称为编译系统 ⑵解释程序(Interpreter) 进行解释执行,即逐个解释并立即执行源程序的语句 不是编译出目的程序后再执行,而是逐一解释语句并立即得出计算结果
3.操作系统 管理计算机资源(如处理器、存储器、外围设备和各种编译、应用程序) 自动调度用户的作业程序 使多个用户能有效地共用一套计算机系统
4.数据库 大量数据和表格按一定的规律组织起来,形成数据库(Database,DB) 数据库就是实现有组织、动态地存储大量相关数据,方便多用户访问的计算机软、硬件资源所组成的系统 数据库和数据库管理软件一起,组成了数据库管理系统(Database Management System,DBMS)
1.2.3 计算机固件 随着大规模集成电路技术的发展和软件硬化的趋势 任何操作,既可由软件实现,也可由硬件实现 任何指令的执行,既可由硬件完成,也可由软件完成 计算机系统的软件与硬件可互相转化,互为补充 软件固化 把复杂、常用的程序用ROM制作成固件(Firmware) 就其功能而言是软件,但从形态来说又是硬件 本来软件实现的某些功能,可通过硬件直接解释执行
本讲到此结束,谢谢!