440 likes | 704 Views
计算机组成原理. 东南大学计算机学院 任国林 Email: renguolin@seu.edu.cn. 课程目标. 目标 1— 组成与原理掌握 *建立 计算机系统的 整机 概念 *掌握计算机部件 的 组成与工作原理 *了解计算机系统的组成 与 结构 新技术. 目标 2— 分析 与计算 能力训练 *掌握 对组成与结构 进行的 性能分析方法 *通过 量化计算 ,加深对组成原理的 理解. 目标 3— 应用 与设计 能力培养 *通过 实验, 培养综合应用及 逻辑设计 能力. 第 1 章 计算机系统概论. 计算机硬件 —. 计算机系统. 计算机软件 —.
E N D
计算机组成原理 东南大学计算机学院 任国林 Email: renguolin@seu.edu.cn
课程目标 目标1—组成与原理掌握 *建立计算机系统的整机概念 *掌握计算机部件的组成与工作原理 *了解计算机系统的组成与结构新技术 目标2—分析与计算能力训练 *掌握对组成与结构进行的性能分析方法 *通过量化计算,加深对组成原理的理解 目标3—应用与设计能力培养 *通过实验,培养综合应用及逻辑设计能力
计算机硬件— 计算机系统 计算机软件— §1.1 计算机系统简介 一、计算机系统的软硬件 *电子计算机: 按位及跳动式计算、电子方式计算, 根据逻辑判断结果控制计算过程←“电脑”的来由 *计算机的目标: --比尔·盖茨 通信工具、创造工具、用户可定制工具 *计算机的功能: 数据存储、数据传送、数据处理,过程控制 *计算机系统的组成: 具备特定功能的物理部件 (存储、传送/处理、控制) 表示功能需求的信息(程序)
用 户 输入设备 存储设备 源程序 (高级语言) ① ①编辑 ②编译 ③运行 输出设备 处理设备 ② ③ 解题结果 目标程序 (机器语言) 程序(指令序列,不同指令对应不同的硬件功能) *计算机功能的实现方式: 解题过程— 功能的实现方式— ①硬件具备数据存储/传送/处理、过程控制功能 ②软件表示对数据处理及过程等功能的应用需求 ③执行软件实现对数据处理及过程控制等的应用需求 *计算机系统组成的特性: 软件功能靠硬件实现,硬件性能靠软件反映
虚拟机器 使用操作系统命令 用机器语言编程 用汇编语言编程 用高级语言编程 实际机器 直接执行机器指令 直接执行微指令 用微指令系统实现 二、计算机系统的层次结构 *层次结构:不同层次的程序员所看到的计算机结构 高级语言级机器 M4 用编译程序翻译 成汇编语言程序 或机器语言程序 汇编语言级机器 M3 用汇编程序翻译 成机器语言程序 操作系统级机器 M2 用机器语言解释 操作系统命令 机器语言级机器 M1 用微程序解释 机器指令 微程序级机器 M0 *层次结构的发展:层次增多,软/硬交界面上移
高级语言级机器 M4 ISA(Instruction Set Architecture) 汇编语言级机器 M3 软件 操作系统级机器 M2 指令系统、数据表示、寻址方式,存储系统,I/O系统、信息保护等 软硬件交界面 机器语言级机器 M1 指令功能逻辑实现、部件组成、控制机构、排队及缓冲技术等 硬件 微程序级机器 M0 数字电路级机器 器件技术、组装技术等 三、计算机结构与组成 *计算机系统结构:机器语言程序员所看到的计算机属性 (概念性结构和功能特性) *计算机组成:实现计算机系统结构时所体现的计算机属性 (计算机硬件设计人员所看到的) *计算机实现:实现计算机组成时所体现的计算机属性
*相互关系: 计算机系统结构—确定软硬件功能界面及其特性 计算机组成—逻辑实现系统结构的内容 计算机实现—物理实现计算机组成的内容
输入设备 存储器 输出设备 注: 数据信息 指令信息 控制信息 状态信息 运算器 控制器 §1.2 计算机系统基本组成 一、冯·诺依曼模型计算机 *结构与组成: 由运算器、存储器、控制器、输入设备及输出设备组成 特征—以运算器为中心 *数据表示与运算: 指令及数据均用二进制方式表示,运算亦采用二进制方式
地址码1 地址码2 操作码 010 01000 10000 *存储程序原理之程序存储方式: 指令及数据预先存放(以等同地位)在存储器中 便于自动执行 *存储器结构: 由定长单元构成的一维空间,按地址访问 *指令组成: 由操作码及地址码组成 表示操作的性质 表示操作数在MEM中的位置 例:若ADD运算的操作码用010表示,01000#与10000#两个存储单元内容相加的指令可表示为:
*存储程序原理之程序控制机制: 按程序逻辑顺序、自动执行所有指令 (逐条取出并执行) 循环地 实现指令执行过程 取出指令 执行指令 循环处理(循环变量) 转移发生时 地址形成 当前 顺序执行时 +“1” 下条 指令地址 指令地址 指令地址可反映 下条指令地址 由当前指令产生
控制器 运算器 缓冲器 缓冲器 存储器 程序 及数据 输入设备 结果 输出设备 9 二、计算机硬件的基本组成 1、计算机硬件的结构 现代计算机几乎均在冯·诺依曼模型基础上进行改进 *采用以存储器为中心的结构: 使数据传送与数据处理并行,有利于提高系统性能 技术⑴:缓冲技术 技术⑵:直接存储器访问(DMA)技术
运算器 控制器 CPU 主机 主存(内存) 辅存(外存) 计算机硬件 存储器 输入设备 输出设备 I/O设备(外设) 主机 I/O设备 (包括辅存) CPU 主 存 储 器 MM 算术逻辑单元ALU 控制单元CU *采用多种存储器构成的层次结构: 解决速度-容量-价格间的矛盾,有利于提高性能/价格
标准格式 (按地址访问) (IN/OUT操作) CPU 主存 总线桥 系统总线 I/O总线 I/O接口n I/O接口1 非标准格式 I/O接口 I/O接口 … … min{所连I/O接口(设备)速度} I/O设备n I/O设备1 I/O设备 I/O设备 *采用总线互连形式的结构: 实现部件操作标准化,有利于提高系统的可扩展性
存储字长w 地址译码器 存储 阵列 0 1 … 2n-1 … n …… 抽象 地址 … 命令 …… 存储字 w I/O电路 数据 2、计算机部件的基本组成 (1)存储器 *功能:存储信息(指令和数据)、访问(读/写)信息 *组成: w-1…1 0 0 1 2n-1 … … … … … … … 一维排列示例 *术语:存储元、存储单元、存储阵列, 存储单元地址、存储单元长度(存储字长), 存储器容量=2n×w位(bit)
地址译码器 ①0…01 … … … … … ①Read I/O电路 ②1#的存储字 *完成访问操作的过程: 读操作—①接收地址及命令,内部操作 ②输出数据 地址译码器 I/O电路 写操作—①接收地址及命令 ②接收数据,内部操作
MEM AC ALU OP (2)运算器 *功能:实现算术及逻辑运算、暂存运算结果 *组成: MEM MEM 寄存器 组(堆) OP OP AC ALU ALU 累加器型运算器 寄存器型运算器 *(AC)+[Y]→AC的实现过程: (0) 被加数(AC)→ALU (1) 加数[Y]→ALU (2) (AC)+[Y] (3) ALU结果→AC AC △约定:(X)表示寄存器X中内容,[Y]表示存储单元Y中内容
转移产生时 11 (3)控制器 *功能:控制各部件协调地工作,以实现程序执行过程 *程序执行过程的需求: ①循环的指令执行过程(取指令及执行指令) ②当前指令产生下条指令地址(按程序逻辑顺序) 理论上的过程—指令执行过程+循环 取指令 分析指令 执行指令 循环处理 +“1” 指令地址寄存器PC 指令内容寄存器IR 指令译码 器ID 地址形成部件 功能部件 存储器
实际的过程—指令执行过程与循环处理重叠 取指令 分析指令 执行指令 PC+“1” 计算及重置PC 取指时均进行 转移发生时进行 说明:顺序型指令—执行阶段不使用PC,可以提前+“1” 转移型指令—执行阶段无操作,可以实现计算及重置PC 转移产生时 +“1” 地址形成部件 指令地址寄存器PC 指令内容寄存器IR 指令译码 器ID 功能部件 存储器
控制器 程序计数器PC 控制信号形成部件 时序部件 指令译码器ID … 指令寄存器IR … *程序执行过程的控制需求: ①需有表示不同时段的时标信号(周期性信号) ②可根据需要使部件控制信号在不同时段有效 指令周期 指令周期 取指阶段时标信号 分析阶段时标信号 执行阶段时标信号 t 取指部件控制信号 有效 有效 分析部件控制信号 有效 有效 执行部件控制信号 有效 有效 *组成:时序部件、控制信号形成部件等
按地址访问 (IN/OUT操作) CPU 主存 总线接口BIU 主存控制器 系统总线 用户交互接口 通信接口 显示适配器 … 键盘、鼠标等 显示器 串口等 (4)输入/输出设备 *功能:实现外部-内部信息的输入/输出及格式转换 *种类:键盘、鼠标、显示器、打印机、磁盘等 *连接:通过I/O接口(又称适配器或控制器)与总线连接, I/O接口实现信息的缓冲、中转等功能 *总线基本组成: 地址线(ABus)、数据线(DBus)、控制/状态线(CBus)
虚拟机器 系统软件 应用软件 应用语言环境 应用语言程序 高级语言环境 高级语言程序 汇编语言环境 汇编语言程序 操作系统环境 操作系统命令串 软硬件交界面 实际机器 三、计算机软件的基本组成 1、计算机软件分类 软件分为系统软件及应用软件两大类 语言处理程序 数据库管理系统 服务性程序 网络管理程序 操作系统 科学计算 信息管理 自动控制 人工智能 虚拟现实
2、操作系统(Operating System,OS) *主要功能:(管理所有硬件资源及软件环境) 文件管理、作业管理、进程管理、存储管理、设备管理 辅存←→程序 面向软件的硬件管理 程序执行请求―→进程 进程调度与控制 OS进程 进程1 进程2 进程3 CPU时间 OS 进程1 OS 进程2 OS 进程1 OS 进程3 OS *进程的调度与控制: 调度—在适当时候、按照一定算法选择即将运行的进程 控制—控制上行进程/下行进程的环境切换 时间片满、I/O请求等发生 优先级、轮转等算法
17 20 16 四、计算机系统的工作过程 1、计算机硬件基本组成 CPU 时序部件 控制信号形成部件 I/O设备 主存储器 … … 地址译码器 ALU 存储 阵列 +“1” ID …… AC PC IR … MAR I/O电路 MDR 数据通路(如总线结构) I/O接口 不影响数据通路及相关部件的使用 Cmd Data Addr 系统总线(ABus、DBus、CBus) *MAR/MDR的作用:使访存操作与内部操作无关(并行) MAR→ABus、Read→Cbus、MEM[MAR]→MDR MDR→IR PC→MAR 时间
2、机器语言程序的形成 *模型计算机的指令系统: *y=x+b的机器语言程序形成:分编程、编译
18 24 3、计算机硬件的工作过程 (1)指令执行过程 *取数指令的执行过程:以AC←[X]为例 X 主存 主存 CU CU … … +“1” +“1” AC AC PC PC MAR MAR 时序部件 时序部件 过程 控制信号形成 控制信号形成 ID ID … … … … ALU ALU IR IR MDR MDR PC→MAR→MEM(R)→MDR→IR OP(IR)→ID AD(IR)→MAR→MEM(R)→MDR→ALU(+)→AC *加法指令的执行过程:以AC←(AC)+[Y]为例 PC→MAR→MEM(R)→MDR→IR OP(IR)→ID AD(IR)→MAR→MEM(R)→MDR→AC Y AC→ALU
18 (2)程序执行过程 *程序执行的初始条件: ①程序及数据--已存放在主存MM中 ②PC内容—已设置为程序首条指令地址 *程序执行的操作过程: ─控制器实现 ①取指—(PC)→MEM→IR,(PC)+“1”→PC ②分析—(IR)→ID→CU ③执行—指令约定操作(转移发生时重写PC),转① 转移发生时 功能部件 +“1” 下条指令地址 转移型 地址形成部件 ID PC IR 顺序型 功能部件 当前指令地址 当前指令内容 主存储器MEM
25 例—说明y=x+b的机器语言程序执行过程: 设(PC)=00000 指令地址 指令内容 指令功能 00000 00001 00010 00011 001 00100 011 00101 010 00110 100 00000 AC←[x] AC←(AC)+[x] [y]←(AC) 停机 AC +“1” PC ID … ALU IR MAR MDR MEM 程序执行过程:循环的指令执行过程 ←各REG值不断变化 PC→MAR→MEM(R)→MDR→IR OP(IR)→ID PC→MAR→MEM(R)→MDR→IR OP(IR)→ID AD(IR)→MAR→MEM(R)→MDR→ALU(+)→AC AD(IR)→MAR→MEM(R)→MDR→AC +1→PC +1→PC AC→ALU PC→MAR→MEM(R)→MDR→IR OP(IR)→ID AD(IR)→MAR→MEM(W) AC→MDR→MEM +1→PC PC→MAR→MEM(R)→MDR→IR OP(IR)→ID →(STOP) +1→PC
4、程序的执行管理 (1)程序的执行请求 *执行方式1:从主存固定位置开始执行(位置由硬件固定) 请求方式—计算机开始启动 ←执行自举程序 执行管理—无(立即执行) 硬件要求—主存: 由ROM及RAM组成 PC内容: 刚加电时为固定值 *执行方式2:从主存指定位置开始执行(位置由OS指定) 请求方式—用户交互、BOOT程序、OS定时任务 执行管理—OS的作业管理程序实现各作业的登录/撤离、调度与控制
CPU ④按(PC)取并执行指令 MEM ②拷贝程序 DISK ②填写PCB ③切换CPU相关信息 ①创建PCB 23 (2)程序的执行准备 ─作业控制之执行程序 进程是CPU调度及资源分配的基本单位 *创建进程:创建进程控制块PCB(含程序文件名、进程ID等) *加载程序:为进程分配主存,将程序拷贝到主存、填写PCB PCB (3)程序的执行管理 ─进程管理 *进程调度:在适当时候、按一定算法选择即将运行的进程 *上下文切换:保存当前进程、恢复所选进程的上下文, 控制权传递给所选进程 主要为与CPU相关的信息 *进程执行:CPU自动按PC内容取指令并执行
§1.3 计算机系统的性能指标 一、性能指标 *系统性能:指在计算机硬件上运行的计算机软件的性能 1、硬件性能参数 *机器字长:指CPU一次能处理的二进制数据位数 字长单位—二进制位(bit) n位CPU—指机器字长为n个二进制位的CPU (Intel 8086是16位CPU,Core 2 Duo是64位CPU) 特指ALU(历史原因) 对硬件的影响—决定了ALU、REG、数据通路的长度
*机器主频:指CPU内部主时钟脉冲频率,常用f表示 频率单位—1GHz=1×103MHz=1×106KHz=1×109Hz 主时钟周期—CPU主时钟脉冲长度,常用TC表示(TC=1/f) 常简称为“时钟周期” 非标准叫法 *主存容量:指CPU可访问的主存空间大小 容量单位—1GB=1×210MB=1×220KB=1×230B=8×230bit 容量种类—CPU最大寻址空间(最大主存容量)、主存容量 An-1 … A0 bw-1 … b0 CPU最大寻址空间 0…00…0 0…01…1 0…10…0 1…11…1 … 主存单元个数 … … … … … … … 主存地址位数 主存单元长度
CPU时间—TCPU=IN ×CPI×TC= n—指令系统的指令种类数; TC—CPU主时钟周期(=1/f ),CPIi—第i种指令的CPI; IN—程序执行的指令数(≠程序的指令数), Ii —程序中第i种指令执行次数,CPI—每条指令平均所需TC数 2、系统性能指标 时间是唯一标准,主要有响应时间和吞吐量两个指标 *响应时间:指一个任务从任务输入到结果输出的总时间 即T响应=TCPU+TI/O等待,TCPU=T运算+TMEM 表示方法—CPU时间(TCPU) TI/O等待不易测评、浪费性能 CyclesPerInstruction TCPU与程序算法、编译程序、指令系统、计算机组成均相关 特点—反映了单任务计算机系统的软硬件总体性能 系统优化—TI/O等待时,CPU执行其它程序-→多任务系统
32 例1—某计算机主频为2GHz,指令系统共有2类指令(Ⅰ类及Ⅱ类),指令长度均为2B,指令执行时间分别为5个和8个时钟周期。程序A大小为2MB,其中30%为Ⅰ类指令;程序A执行时,有10%的Ⅰ类指令和20%的Ⅱ类指令各执行了30次,其余指令均只执行了1次。求程序A执行的CPU时间。 解:程序A中Ⅰ类指令数=(2MB/2B)×30%=0.3*220条, Ⅱ类指令数=(2MB/2B)×70%=0.7*220条; 执行Ⅰ类指令数=0.3*220×(10%×30+90%)=1.17*220条, 执行Ⅱ类指令数=0.7*220×(20%×30+80%)=4.76*220条; TCPU=(1.17*220×5+4.76*220×8)×TC =(5.85+38.08)*220×TC =43.93×220÷(2×109)≈23.03ms
33 例2—计算机M1主频为2GHz,程序A在M1上运行时间为10s。计算机M2与M1具有相同的ISA(Instruction Set Architecture),M2主频高于M1、平均CPI大于M1。 若程序A在M2上运行所需时钟周期数为在M1上的1.5倍,欲使程序A在M2上运行时间为6s,则M2的主频至少为多少? 解:设 程序A在M1、M2上运行所需时钟周期数各为N1、N2 则 TCPUM1=N1×TC,N1=TCPU÷TC=10s×2GHz=20G个 则 N2=1.5×N1=1.5×20G=30G个 由题意 TCPUM2=N2×TC’≤6s 则 f’=1/TC’= N2÷TCPUM2≥30G/6s=5GHz 分析—∵f’/f=5/2=2.5,TCPUM1/TCPUM2=10/6=1.67 ∴主频只是影响系统性能的因素之一
33 *吞吐量(吞吐率):指单位时间内能处理的工作量 即TP=n个任务总工作量÷n个任务总时间 表示—常用MIPS及MFLOPS代替 (∵工作量未达成统一定义) 通常TP≠∑TCPUi △MIPS(每秒百万次指令) 缺点:不能反映指令功能强弱(可用相对MIPS法) △MFLOPS(每秒百万次浮点运算) 缺点:不能反映系统整体性能(只能反映浮点操作能力) 特点—反映了多任务计算机系统的软硬件总体性能 *其他指标:RAS(可靠性/可用性/可维护),兼容性等
二、性能设计 1、冯·诺依曼模型计算机的性能瓶颈 *CPU-MEM瓶颈:CPU与MEM的速度差距越来越大 CPU速度—提高4~5倍/3年,得益于VLSI、器件技术 MEM速度—提高1~2倍/3年,受限于S-V-C需求矛盾 解决方案—需从结构与技术方面解决速度匹配问题 *指令串行执行瓶颈:无法并行导致性能受限 解决方案1—快速串行处理,受限于器件技术, 需从器件技术方面提高性能 ←效果有限 解决方案2—并行处理,受限于指令间的相关性, 需从结构与技术方面解决相关问题
12 14 2、性能平衡设计 ─解决CPU-MEM瓶颈 目标—减少访存延迟,提高访存效率 *增设Cache:提高访存速度,减少访问主存次数 *增加总线宽度:减少访存次数 *采用多级总线:主存连接顶级总线 3、CPU性能设计 ─解决指令串行执行瓶颈 目标—提高并行性,减少串行损失 *开发并行技术:操作级流水→操作级并行→指令级并行 *采用数据流技术:按序执行→乱序执行 *使用分支预测技术:按预测方向执行,猜错时再回头执行 作 业:P22—4、6、7、9
§1.4 计算机系统发展历程 一、计算机的发展历史 1、计算机的产生与发展 *发展趋势:向大型机、微型机两个方向发展 *研究重点:器件技术、并行化结构
2、微型计算机的产生与发展 *发展趋势:增加功能,开发并行性(指令级→线程级→内核级),集成主存,发展嵌入式处理器
二、计算机系统分类 1、按规模及功能分类 超级计算机—科学计算等 大型计算机—多用户使用等 小型计算机—办公应用等 工作站—图形处理及分布式计算等 微型计算机—应用广泛 单片机/嵌入式系统—工业控制等
DS1 PU1 MM1 IS … … CU DSn PUn MMm IS SIMD DS IS CU MM PU IS SISD IS1 DS IS1 IS1 DS1 IS1 CU1 MM1 CU1 MM1 PU1 PU1 … … … … … … ISn ISn ISn DS ISn DSn MMm MMm CUn PUn CUn PUn MISD MIMD 2、按信息处理特征分类 ─Flynn分类法 有SISD、SIMD、MISD、MIMD四种结构 ※SISD计算机—是本课程的讨论重点
附:课程内容组织 第1章—计算机系统概论 计算机的模型、硬件组成,计算机的工作过程、性能指标 第2章—数据的表示和运算 数据的编码及表示,定点及浮点运算方法,ALU结构与组成 计算机软件(指令串及数据) 第3章—存储系统 层次结构,RAM组成,主存、Cache、虚存的组成原理 CU ALU 存储器 系统总线 I/O接口1 I/O接口2 I/O接口n … I/O设备1 I/O设备2 I/O设备n 如何提高性能、性/价?
第4章—指令系统 指令功能与指令格式,操作数存放及寻址方式,CISC/RISC 第5章—中央处理器 CPU的功能与结构,工作流程、指令执行过程,数据通路, CU的结构及组成,微程序控制器技术,指令流水技术 计算机软件(指令串及数据) CU ALU 存储器 系统总线 I/O接口1 I/O接口2 I/O接口n … I/O设备1 I/O设备2 I/O设备n 第6章—总线 概述,操作步骤,仲裁/定时方式,互连结构 第7章—I/O系统 组成,I/O设备,I/O接口,I/O方式(4种)