第2章-计算机系统的结构组成与工作原理_第1页
第2章-计算机系统的结构组成与工作原理_第2页
第2章-计算机系统的结构组成与工作原理_第3页
第2章-计算机系统的结构组成与工作原理_第4页
第2章-计算机系统的结构组成与工作原理_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024/2/26第2章计算机系统的结构组成与工作原理第二章 计算机系统的结构组成与工作原理2.1计算机系统的基本结构与组成(掌握)计算机系统的层次模型计算机系统的结构、组织与实现2.2计算机系统的工作原理(掌握)冯·诺依曼计算机架构模型机系统结构模型机指令集模型机工作流程2.3微处理器体系结构的改进(理解)

冯·诺依曼结构的改进并行技术的发展流水线结构超标量与超长指令字结构多机与多核结构2.4计算机体系结构分类(理解)2.5计算机性能评测(掌握)字长、存储容量、运算速度第二章计算机系统的结构组成与工作原理2.1计算机系统的基本结构与组成层次模型

Hierarchy结构Architecture、组成Organization与实现Realization2.2计算机系统的工作原理冯·诺依曼计算机架构模型机:系统结构、指令集、工作流程2.3计算机体系结构的改革改进:指令集(RISC/CISC)、分层存储器、高速总线/接口改变:多种并行技术:流水线、超标量、多机/核、多线程2.4计算机体系结构分类2.5计算机性能评测Performance

字长、存储容量、运算速度2.6习题2024/2/263/50Flynn(a)软硬件层次(b)语言层次计算机系统的层次结构(a)图自下而上反映了系统逐级生成的过程,自上而下反映了系统求解问题的过程;(b)图中的虚拟机:与某种特殊编程语言对应的假想硬件机器软硬件的逻辑等价性可以表现为:硬件软化(如RISC思想)、软件硬化(如CISC思想)、固件化(如微程序);微体系结构层(微程序或硬连逻辑)操作系统层语言处理层(解释、编译)用户程序层(语言编程)系统分析层(数学模型、算法)硬核级数字逻辑层(硬件)指令系统层(机器语言指令)应用语言虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机机器语言级微程序级寄存器级(硬件)硬件系统:异常处理机构、指令系统、CPU、存储器、I/O及通信子系统系统软件:操作系统、编译器、数据库管理系统、Web浏览器、设备驱动、中断服务程序应用软件计算机发展过程中的重大技术演变在指令层和执行程序的数字逻辑层两层基础上增加微程序控制层增加操作系统层(大大降低了大多数程序员的编程难度)虚拟机的出现(使得在一个操作系统下同时运行另一个操作系统成为现实)后期出现的RISC思想(不使用微代码层)计算机分层的作用可以调整软、硬件比例达到特定目的可以通过使用真正的物理机器代替各级虚拟机也可以在一台物理机器上模拟或仿真另一台机器计算机体系结构:是程序员所看到的计算机(机器语言级)的属性,即概念性结构与功能特性。计算机组成:从硬件角度关注物理机器的各部件的功能以及各部件的联系。对程序员是透明的。计算机实现:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度;系列机2024/2/267/36计算机体系结构、组成与实现1.计算机体系结构是人眼看不见的东西,而计算机组成是人眼可见的2.计算机组成是计算机的外部,是使用人员所关心的系统硬件指标参数;而计算机实现是计算机的内部,是制造人员关心的内容计算机的体系结构

1946年,美国宾夕法尼亚大学莫尔学院的物理学博士Mauchley和电气工程师Eckert领导的小组研制成功世界上第一台数字式电子计算机ENIAC

。著名的美籍匈牙利数学家VonNeumann参加了为改进ENIAC而举行的一系列专家会议,研究了新型计算机的体系结构。

1949年,英国剑桥大学的威尔克斯等人在EDSAC

机上实现了冯·诺依曼模式。直至今天冯·诺依曼体系结构依然是绝大多数数字计算机的基础。2024/2/268/50注意:同一体系结构的计算机,不管其组成和实现如何变化,在代码级是完全兼容的总线(接口)+CPU+存储器+In/Out设备2024/2/269/269/30计算机组成同步数字系统的内部结构2024/2/2610/30计算机实现【例1】①确定是否有乘法指令属于。

②乘法指令是用专门的乘法器实现,还是经加法器用重复的相加和右移操作来实现,属于。

③乘法器、加法器的物理实现,如器件的选定(器件集成度、类型、数量、价格)及所用微组装技术等,属于计算机体系结构计算机组成计算机实现计算机体系结构、组成及实现区分【例2】①主存容量与编址方式(按位、按字节、按字访问等)的确定属于

②为达到所定性能价格比,主存速度应多快,在逻辑结构上需采用什么措施(如多体交叉存储等)属于

③主存系统的物理实现,如存储器器件的选定、逻辑电路的设计、微组装技术的选定属于

。计算机体系结构计算机组成计算机实现可以看出,具有相同计算机系统结构(如指令系统相同)的计算机因为速度要求不同等因素可以采用不同的计算机组成。

同样,一种计算机组成可以采用多种不同的计算机实现。例如,主存器件可以采用SRAM芯片,也可以采用DRAM芯片。可以采用大规模集成电路单个芯片,也可以采用中小规模集成电路进行构建。这取决于性能价格比的要求与器件技术的现状。计算机系统结构、组成和实现三者的相互影响硬件组成五大部分

运算器、控制器、存储器、输入设备、输出设备以运算器为中心(现在以存储器为中心)信息表示:二进制

计算机内部的控制信息和数据信息均采用二进制表示,并存放在同一个存储器中。工作原理:存储程序/指令(控制)驱动

编制好的程序(包括指令和数据)预先经由输入设备输入并保存在辅助存储器中;程序开始运行时,计算机在不需要人工干预的情况下由控制器自动、高速地依次从存储器中取出指令并加以执行。2024/2/2614/81冯·诺依曼体系结构早期的计算机结构(无总线)各组成部分之间通过芯片引脚直接连接模型机体系结构基于总线的冯·诺依曼架构模型机总线子系统:作为公共通道连接各子部件,用于实现各部件之间的数据、信息等的传输和交换CPU子系统:集成了运算器、控制器和寄存器的超大规模集成电路芯片(VLSI)存储器子系统:用来存放当前的运行程序和数据输入输出子系统:用于完成计算机与外部的信息交换2024/2/2616/50模型机总线结构按传输信息的不同,可将总线分为地址总线AB、控制总线CB和数据总线DB三类:地址总线通常是单向的,由主设备(如CPU)发出,用于选择读写对象(如某个特定的存储单元或外部设备);数据总线用于数据交换,通常是双向的;控制总线包括真正的控制信号线(如读/写信号)和一些状态信号线(如是否已将数据送上总线),用于实现对设备的监视和控制。MPURAMROMI/O接口外设ABDBCB2024/2/2617/50模型机内存储器存储器组织由许多字节单元组成,每个单元都有一个唯一的编号(存储单元地址),保存的信息称为存储单元内容。访问(读或写)存储单元:存储单元地址经地址译码后产生相应的选通信号,同时在控制信号的作用下读出存储单元内容到数据缓冲器,或将数据缓冲器中的内容写入选定的单元。DBABCB算术逻辑单元ALU累加器ACC累加锁存器暂存器标志寄存器FR通用寄存器组堆栈指针SP程序计数器PC微操作控制电路指令译码器ID指令寄存器IR

操作码,地址码脉冲分配器时钟脉冲源控制总线CB地址总线AB数据总线DB内部总线地址缓冲器数据缓冲器运算器寄存器组控制器模型机CPU子系统2024/2/2619/50数据信息状态信息控制信息数字量模拟量开关量连续几位二进制形式表示的数或字符。如键盘输入的信息以及打印机、显示器输出的信息等时间上连续变化的量,如温度、压力、流量等只有两个状态的量,如阀门的合与断、电路的开与关等CPU与I/O设备之间的接口信息反映外设当前工作状态的信息READY信号:输入设备是否准备好BUSY信号:输出设备是否忙……CPU向外部设备发送的控制命令信息读写控制信号时序控制信号中断信号片选信号其它操作信号数据、状态、控制信息都是通过CPU的数据总线传送,存在I/O接口的不同端口中:数据、状态、控制端口模型机指令系统

指令是发送到CPU的命令,指示CPU执行一个特定的处理。CPU可以处理的全部指令集合称为指令集。指令集结构(ISA)是体系结构的主要内容之一。ISA功能设计实际就是确定软硬件的功能分配。

指令通常包含操作码和操作数两部分。操作码指明要完成操作的性质,如加、减、乘、除、数据传送、移位等;操作数指明参加上述规定操作的数据或数据所存放的地址。汇编语言源程序机器语言程序(目标代码)汇编(汇编程序)高级语言源程序编译或解释(编译程序)

例:

MOV

R0,#2二进制操作码助记符:与动作一一对应目/源操作数:操作码:由CPU设计人员定义,具有固定的写法和意义。操作数:可由编程人员采用不同方式给出。;注释指令举例ADDR0,R1,R2

;R0R1+R2

模型机工作原理计算机的工作本质上就是执行程序的过程。顺序执行指令执行的基本过程可以分为取指令(fetch)、分析指令(decode)和执行指令(execute)三个阶段。非顺序执行转移(jump):执行条件/无条件转移指令,不返回过程(procedure)调用:主程序调用子程序后返回断点中断(interrupt):外界突发事件处理完后返回断点异常(exception):

程序本身产生的某些例外处理完后重新执行陷阱(trap):

程序本身产生某些例外条件处理完后返回断点2024/2/2623/812024/2/2623/50计算机完成计算的过程分析目的:计算0x10和0x20之和编写汇编程序代码,关键代码如下:

MOVA,#0x10;A=0x10,

A为CPU内部的寄存器名ADDA,#0x20;

A=A+0x20编译、链接后得到的可执行代码(二进制位串)运行(把保存在硬盘上的可执行文件调入内存,并把程序指令在内存的开始位置赋值给CPU中的PC寄存器)以后的计算工作就交给CPU(指令驱动)B0H10H04H20H程序的执行过程取指令、分析指令、执行指令CBABDBALU累加器ACC暂存器标志寄存器FR寄存器组

操作控制器OC指令译码器ID指令寄存器IR

操作码,地址码内部总线地址缓冲器数据缓冲器程序计数器PC地址译码读控制B0H10H04H20H地址1001H1002H1003H内容1000H内存储器+1CPU外CPU内①②③④⑤⑥①②③④⑤⑥①③④⑤⑥②①②③④⑤⑥⑦⑧汇编链接后的可执行文件调入内存储器,PC赋值1000HMOVA,#0x10ADDA,#0x20汇编源代码对冯·诺依曼体系结构的改进改进指令集

(指令功能、指令格式、寻址方式)存储器子系统(4层结构)高速总线成为计算机系统的核心改变1.改变串行执行模式,发展并行技术;2.改变控制驱动方式,发展数据驱动、需求驱动、模式驱动等其它驱动方式;重点2024/2/2626/81不同的指令集设计策略:CISC与RISCCISC(ComplexInstructionSetComputer,复杂指令集计算机)不断增强指令的功能以及设置更复杂的新指令取代原先由程序段完成的功能,从而实现软件功能的硬化。RISC(ReducedInstructionSetComputer,精简指令集计算机)通过减少指令种类和简化指令功能来降低硬件设计复杂度,从而提高指令的执行速度。yyyy-M-27/86现代计算机:RISC+CISC2024/2/2627/502024/2/2628/50CISC的特点及设计思想美国加州大学Berkeley分校的研究结果表明:许多复杂指令很少被使用,“2-8原则”控制器硬件复杂(指令多,且具有不定长格式和复杂的数据类型),占用了大量芯片面积,且容易出错;指令操作繁杂,速度慢;指令规整性不好,不利用采用流水线技术提高性能。yyyy-M-28/68宏代码到微代码的转换序号代码1

c=(a+b)*(c+d);2

……3

c=a*b*c*d451000:a1=a+b1001:a2=c+d1002:c=a1*a2;……………..2000:a1=a*b;2001:a2=c*d;2002:c=a1*a2;………….CPU内微码存储器宏指令(程序员编写)2024/2/2630/50RISC的特点及设计思想

RISC机的设计应当遵循以下五个原则:①指令条数少,格式简单,易于译码,不提供复杂指令;②提供足够的寄存器,只允许load

和store指令访问内存;③指令由硬件直接执行,

在单个周期内完成;④充分利用流水线;⑤依赖优化编译器的作用;;

yyyy-M-30/68CISC与RISC的数据流IRIDREGALUMEM开始退出IRIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构CISC:寻址方式复杂yyyy-M-31/862024/2/2631/50早期诺依曼体系结构采用的存储器子系统简单的二级结构:内存(主存)+外存(辅存)

一般为半导体存储器,也称为短期存储器;

包括磁盘(中期存储器)、磁带、光盘(长期存储)等;

分层的存储子系统如何以合理的价格搭建出容量和速度都满足要求的存储系统,始终是计算机体系结构设计中的关键问题之一。现代计算机系统通常把不同的存储设备按一定的体系结构组织起来,以解决存储容量、存取速度和价格之间的矛盾。设计目标:整个存储系统速度接近M1而价格和容量接近Mn2024/2/2633/50寄存器+Cache+主存+辅存CPU内部高速电子线路(如触发器)一级:在CPU内部二级:在CPU外部一般为静态随机存储器SRAM。一般为动态随机存储器DRAM

,也称为短期存储器包括磁盘(中期存储器)、磁带、光盘(长期存储)等其中:cache-主存结构解决高速度与低成本的矛盾;主存-辅存结构利用虚拟存储器解决大容量与低成本的矛盾;现代计算机的四级存储结构寄存器组特点:读写速度快但数量较少;其数量、长度以及使用方法会影响指令集的设计。组成:一组彼此独立的Reg,或小规模半导体存储器。RISC:设置较多Reg,并依靠编译器来使其使用最大化。Cache高速小容量(几十千到几兆字节);借助硬件管理对程序员透明;主(内)存编址方式:字节编址信息存放方式:大/小端系统、对齐方式辅(外)存信息以文件(file)的形式存放,按块为单位进行存取。虚拟存储技术36/42每一层的用途辅助存储器:存放不活动的程序和数据主存储器:存放运行中的程序和数据cache:存储CPU最近访问的指令和操作数CPU寄存器:正在执行的指令和数据其他改善存储器带宽的方法并行存储器双端口存储器哈佛体系结构(ARM9系列)DSP程序数据I/O接口外设程序地址数据读地址数据写地址程序读总线数据读总线程序/数据写数据程序2024/2/2638/502024/2/2639/50现代高速总线高速并行总线高速总线串行化多级总线结构北桥南桥前端总线FrontSideBus输入输出管理方式2024/2/2641/50上半部分是计算机组成范畴,下图是计算机体系结构范畴计算机体系结构的演进:并行处理技术指令级并行技术ISP

流水线、超标量、超长指令字系统级并行技术SLP

多处理器(多机/多核)、多磁盘线程级并行技术TLP

同时多线程SMT电路级并行技术CLP

组相联cache、先行进位加法器并行处理技术实现多个处理器或处理器模块的并行性,其基本思想包括时间重叠(timeinterleaving)、资源重复(resourcereplicaiton)和资源共享(resourcesharing)。流水线技术可通过分割逻辑,插入缓冲寄存器(流水线Reg)来构建2024/2/26指令时空图顺序执行4级流水线执行流水线满载2024/2/26ARM7TDMI指令流水线

操作周期

1 2 3 4 56

ADD

SUB

MOV

AND

ORR

EOR

CMP

RSBFetchDecode。FetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchFetchExecuteDecodeExecuteDecodeFetchExecuteDecodeFetch最佳流水线该例中用6个时钟周期执行了6条指令

所有的操作都在寄存器中(单周期执行)

指令周期数(CPI)=1更细的流水线取指(FI)指令译码(DI)计算操作数地址(CO)取操作数(FO)执行指令(EI)写操作数(WO)46/862024/2/2646/50流水线CPU的特点优点:

通过指令级并行来提高性能。缺点:增加了硬件成本。流水寄存器会引入延迟和时钟偏移,这些额外开销会使每条指令的执行时间有所增加,同时限制了流水线的深度。流水线中各段的操作存在关联(dependence)时可能会引起流水线中断,从而影响流水线的性能和效率。yyyy-M-47/862024/2/2647/50流水线冲突理想流水线的性能:每个时钟周期完成一条指令实际流水机器中可能存在冒险(hazard)导致停顿:①数据冲突(如后面的计算要用到前面的结果)定向技术可将结果数据从其产生的地方直接传送到所有需要它的功能部件编译器可利用流水线调度(scheduling)技术来重新组织指令顺序②结构冲突(硬件资源不够)增加额外的同类型资源改变资源的设计使其能被同时使用③控制冲突(分支等跳转指令引起)可采用分支预测及预测执行技术最大限度地使处理器各部分保持运行状态。多端口的寄存器堆哈佛结构存储器、超标量yyyy-M-48/862024/2/2648/50流水线冲突--数据冲突1.数据冲突方式(违反了下述数据读写规则)a)写后读规则(RAW)

后一条指令试图在前一条指令写一个数据之前读取该数据b)读后写规则(WAR)后一条指令试图在前一条指令读一个数据之前写该数据c)写后写规则(WAW)后一条指令试图在前一条指令写一个数据之前写该数据2.解决办法定向技术可将结果数据从其产生的地方直接传送到所有需要它的功能部件编译器可利用流水线调度(scheduling)技术来重新组织指令顺序(乱序执行)顺序流水线数据依赖乱序执行流水线流水线冲突--控制冲突控制冲突原因:分支、跳转等指令引起流水线中断

解决办法:采用分支预测及预测执行技术最大限度地使处理器各部分保持运行状态。顺序流水线控制依赖周期12345678DIVR2,R1取指译码执行回写

ADDR3,R2取指译码等待执行回写

BRANCH取指译码等待执行回写指令4取指流水线冲突--结构冲突3.结构冲突(资源冲突)原因:硬件资源不够,例如两条指令都需要除法操作解决方法:增加额外的同类型资源改变资源的设计使其能被同时使用轮流暂停一部分流水线,轮流使用资源超标量CPU的体系结构超标量技术:可在一个时钟周期内对多条指令进行并行处理,使CPI小于1;特点:处理器中有两个或两个以上的相同的功能部件;

要求操作数之间必须没有相关性;整数指令浮点指令yyyy-M-2024/2/2655/50超标量结构机器的例子两条输入流水线三条执行流水线每个时钟周期可从存储器中获取两条指令用于执行不需要访问存储器的指令可处理所有需要或不需要访问存储器的指令可用于进行乘、除类较复杂的算术运算决定应使用哪一条执行流水线2024/2/2656/502024/2/2657/50多机并行系统大规模并行处理机(MPP)是一种价格昂贵的超级计算机,它由许多CPU通过高速专用互联网络连接。机群(cluster)由多台同构或异构的独立计算机通过高性能网络或局域网连在一起协同完成特定的并行计算任务。刀片(blade)通常指包含一个或多个CPU、内存以及网络接口的服务器主板。通常一个刀片柜共享其它外部I/O和电源,而辅助存储器则有距离刀片柜较近的存储服务器提供。网格(Network)是一组由高速网络连接的不同的计算机系统,可以相互合作也可独立工作。网格计算机将接受中央服务器分配的任务,然后在不忙的时候(如晚上或周末)执行这些任务。2024/2/2658/50多核处理器多线程技术单片多处理器(ChipMulitProcessor,CMP)问题:晶体管数量、芯片面积及芯片发热量多线程处理器(MultithreadedProcessor)细粒度多线程(Fine-GrailMultithreading)在每个指令中切换线程,处理器必须能在每个时钟周期切换线程。其优点是可以隐藏停顿引起的吞吐量损失;缺点是单个线程处理速度变慢了。粗粒度多线程(Coarse-GrailMultithreading)

仅当遇到开销大的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐量损失,特别是对于短的阻塞2024/2/2659/50

1966年M.J.Flynn按照指令流和数据流的不同组织方式,把计算机系统的结构分为以下4类:

(1)单指令流单数据流

--SISD

(2)单指令流多数据流

--SIMD

(3)多指令流单数据流

--

MISD

(4)多指令流多数据流

--

MIMD计算机体系结构的分类CUPUIS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论