《微处理器系统与嵌入式系统》全册配套课件_第1页
《微处理器系统与嵌入式系统》全册配套课件_第2页
《微处理器系统与嵌入式系统》全册配套课件_第3页
《微处理器系统与嵌入式系统》全册配套课件_第4页
《微处理器系统与嵌入式系统》全册配套课件_第5页
已阅读5页,还剩966页未读 继续免费阅读

下载本文档

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

文档简介

1《微处理器系统与嵌入式系统》全册配套课件2计算机是什么3后PC时代:通用计算机、嵌入式计算机计算机的分类4嵌入式系统是一门交叉学科,涉及计算机、微电子、网络、通信、信号处理、传感器等诸多领域。随着现代微电子技术、微机电系统MEMS、片上系统SoC、纳米材料、无线通信技术、信号处理技术、计算机网络技术等的进步以及互联网的迅猛发展,嵌入式系统向集成化、微型化,智能化、网络化方向发展。嵌入式(计算机)系统5

CPU>90%<10%无所不在的计算(普适计算)67891946年,美国宾夕法尼亚大学莫尔学院的物理学博士Mauchley和电气工程师Eckert领导的小组研制成功世界上第一台数字式电子计算机ENIAC

。著名的美籍匈牙利数学家VonNeumann参加了为改进ENIAC而举行的一系列专家会议,研究了新型计算机的体系结构。1949年,英国剑桥大学的威尔克斯等人在EDSAC

机上实现了冯·诺依曼模式。直至今天冯·诺依曼体系结构依然是绝大多数数字计算机的基础。计算机的体系结构10计算机的组成(1)11同步数字系统计算机的组成(2)12核心系统架构软件基础本课程涉及主要内容:计算机体系结构与组成原理;

微处理器系统结构;嵌入式系统设计技术;硬件基础计算机专业课程13考核方式考核方式:有限开卷成绩构成平时成绩:10%实验成绩:15%期中考试:15%期末考试:60%14教材微处理器系统结构及嵌入式系统设计,李广军等,电子工业出版社,2009.8微处理器系统结构及嵌入式系统设计,李广军等,电子工业出版社(第2版),20011.815参考书目郭新房等译.StephenD.Burd著.系统体系结构(第5版),清华大学出版社,2007年张晨曦、王志英等编著.计算机系统结构,高等教育出版社,2008年潘松,潘明编著.现代计算机组成原理,科学出版社,2007年张昆藏等译.WilliamStallings著.计算机组织与体系结构-性能设计(第七版),清华大学出版社,2006年杜春雷编著.ARM体系结构与编程,清华大学出版社,2007年任哲等编著.ARM体系结构及其嵌入式处理器,北京航空航天大学出版社,200716学时分配课堂教学:64学时概述(2学时)计算机系统组成与工作原理(10学时)微处理器体系结构及关键技术(6学时)总线技术与总线标准(6学时)存储器系统(8学时)输入/输出接口(8学时)ARM微处理器编程模型(4学时)ARM汇编指令(4学时)ARM程序设计(4学时)基于ARM微处理器的硬件系统设计(5学时)基于ARM微处理器的软件系统设计(5学时)基于ARM微处理器核的SoC设计(2学时)17学时分配实验:16学时基于ARM的嵌入式Linux开发环境建立ARM平台下多线程应用程序设计实验基于ARM的SCI/SPI串行通讯实验基于ARM的触摸屏驱动程序设计实验基于ARM的AC97音频驱动及应用实验多平台兼容的ARM9硬件开发环境搭建基于ARM的模块方式驱动程序设计实验基于ARM的SD卡读写及文件系统设计实验基于ARM的USBOTG接口实验基于ARM的GPRS通讯实验基于ARM的以太网通讯实验基于ARM的无线传感器网络实验18实验设备19课程简介是电子类专业最重要的专业基础课程之一,研究微处理器系统结构及嵌入式系统原理及设计方法前修课程:数字逻辑电路设计,计算机技术基础后修课程:嵌入式系统,工业控制课程目标:理解微处理器系统结构、工作原理,具备初步设计微处理器硬件系统、编写较简单程序的能力,熟悉使用微处理器系统的设计开发工具课程主要内容微处理器芯片结构、模块功能及作用微处理器系统结构及工作原理微处理器系统接口ARM指令系统及编程嵌入式系统设计20第一章概述第一章 概述1.1计算机发展概述(了解)电子计算机发展概述普适计算与泛在通信1.2集成电路与SoC设计(理解)集成电路技术的发展基于IP的SoC设计1.3先进的处理器技术(了解)片上多核处理器(CMP)流处理器(StreamProcessor) PIM(ProcessorInMemory)可重构计算处理器1.4嵌入式系统(了解)嵌入式系统的概念

嵌入式系统的特点嵌入式系统中的处理器嵌入式系统的组成嵌入式系统的发展现状与趋势学习嵌入式系统的意义2122现代信息科学的六大组成部分信息的生成、获取、存储、传输、处理及其应用是现代信息科学的六大组成部分,计算机在信息的后五部分都起到关键作用计算机的发展一直和数字电路设计的发展相辅相成,互相促进从计算机学科的角度分析,嵌入式系统在一定程度上代表了未来计算机发展的方向23IT行业的四大定律①Moore定律:微处理器内晶体管集成度每18个月翻一番;②Bell定律:如果保持计算能力不变,微处理器的价格每18个月减少一半;③Gilder定律:未来25年(1996年预言)里,主干网的带宽将每6个月增加一倍;④Metcalfe定律:网络价值同网络用户数的平方成正比241.1 计算机发展概述

机械式计算机的启蒙时代公元前3000年,中国古代使用珠子计数后来发明算盘25中世纪(1822)CharlesBabbage(1791-1871)出生于英国,父亲是银行家提出分析引擎的设计,用于差分运算differenceengine26分析引擎照片DifferenceEngineNumber2

4,000个部件7英尺高,11英尺长,18英寸厚500,000磅重analyticalengine,1834271.1.1电子计算机发展概述美国发明家佛斯特(LeedeForest)于1906年发明了电子管1909年起,BELL实验室相继发明电子管收音机、电子管录放机、电子管电视机、唱片机、无线电发报机1920年在美国宾夕法尼亚大学摩尔电子工程学院开始研究大规模数字计算机1943年MauchlyandEckert等给美国军方建议研制数字积分器,每秒能计算一个轨道参数1943年5月,ENIAC开始设计,1944年初,提出程序存储的概念1944年7月,2个累加器正常工作1945年春,ENIAC研制成功累加器:28个真空管1.电子管时代28ENIAC18,000电子管1500个继电器70,000电阻5M个焊点占地1,800平方英尺功率180,000瓦重量30吨运算速度5000次/秒29ENIAC30英国ManchesterMarkI(1948)开发成功固体电子存储器程序存储存储器:32字×32位1949年10月全部完成31EDSAC英国剑桥,1945年322.晶体管(transistor)时代1947年12月,肖克莱、巴丁和布拉顿锗点接触型晶体管1950年面结型硅晶体管1953年半导体材料区域提纯1958年第一块集成电路德克萨斯仪器公司(TI)-GeIC仙童公司(Fairchild)-SiIC1960年MOS场效应管33第一个点接触型锗晶体管巴丁(左)肖克莱(中)布拉顿1947年12月,3人研制出点接触型晶体管1948年1月肖构思了面结型晶体管,直到1950年4月研制成功34第一台集成电路的计算机IBM360(第三代)1964年4月,IBM研制第一台采用集成电路的计算机,兼顾科学计算和事务处理35中、小规模集成电路计算机第三代计算机是中、小规模集成电路计算机时代,它是以集成电路作为基础元件,这是微电子与计算机技术相结合的一大突破,并且有了操作系统。36INTEL40041971.11.15集成2250个元件第1个微处理器37INTEL80081972.4集成了3500第1个8位微处理器38集成度的迅猛发展半导体技术发展的事实像Moore定律所预言的一样,科学家和工程师解决了一个又一个的技术障碍,使MOS工艺每隔几年现款就缩小二分之一计算机进入是大规模集成电路(LargeScaleIntegration)和超大规模集成电路(VLSI)时代,软件方面发展了数据库系统,分布式操作系统,网络软件等39集成度的迅猛发展40INTEL处理器处理器

时间

宽度存储器

速度MIPS4004 1971 4 1K8008 1972 8 16K8080 1974 8 64K8088 1980 8 1M .3380286 1982 16 1M 380386 1985 32 4G 1180486 1989 32 4G 41Pentium1993 644G 111……41奔腾系列处理器奔腾处理器1994,100MHz,3.3V,集成3M元件奔腾II:1997.5.7,266MHz,3.3V,集成7.5M个元件42IntelPentium(IV)Microprocessor:1999,1.2GHz,1.8V,42MComponents43Intelcorei7四核处理器44新型的计算机生物计算机模糊计算机光计算机量子计算机超导计算机…思考:还有哪些公司的什么处理器和计算机?请举例说明计算机发展过程示意图1.1.2普适计算与泛在通信普适计算(Ubiquitouscomputing):45小型、便宜、网络化的处理设备广泛分布在日常生活的各个场所,计算设备将不只依赖命令行、图形界面进行人机交互,而更依赖“自然”的交互方式泛在通信(无所不在的计算机)46无线传感器网络47物联网技术48物联网技术49501.2集成电路与SoC设计美国德州仪器杰克,基尔比(Jack,Kilby)1958年9月,集成了5个元件,锗材料,相移振荡器第一块集成电路1.2.1集成电路技术的发展51第一块集成电路1959年7月,美国仙童公司诺伊斯(RobertRoyce)二氧化硅屏蔽的扩散技术和PN结的隔离技术,硅平面上的集成电路,更具商业化都申请了专利,且诺伊斯的先批准,都认为是集成电路的发明者RobertRoyce集成电路工艺年

度199920022005200820112014特征尺寸(

m)0.180.130.090.0650.500.035集成规模(transistors)120M330M880M2.5G7.1G19.9G521.2.2基于IP的SOC设计系统知识

(硬件与软件)电路设计知识

(DAC、ADC等)制造工艺知识

(90nm,65nm,45nm)晶圆工艺知识

(300mm晶圆)A/DA/D数字射频处理器数字滤波与控制混合信号处理器

数字基带混合信号处理器软硬件协同设计设计及验证技术IP核生成和复用技术超深亚微米工艺及纳米IC设计技术53片上网络(NOC)技术P处理器M存储器C缓存rni网络接口S交换开关Dsp核re可重构逻辑L专用逻辑541.3先进的处理器技术多核处理器5556多核处理器并行结构提高计算机性能的方法提高时钟频率,以加快CPU的执行速度流水线技术并行处理技术计算机系统模型单指令单数据SISD单指令多数据SIMD多指令单数据MISD多指令多数据MIMD多处理器组织方式对称多处理机(SymmetricMultiProcessor,SMP)机群系统(cluster)57用单总线连接的多处理器58通过网络连接的多处理器59片内多处理器和多线程技术多个微处理器通过互连网络连接共享的一种替代方式是片内处理器在这种设计中,处理器通常共享一些高速缓存和外部内存接口。很明显,当所有的部件都在同一芯片上时,芯片间通信的延迟就会小得多601.4嵌入式系统嵌入式系统或嵌入式计算机系统,是专用的计算机系统,随着技术的发展,嵌入式系统无处不在.61按应用来分类信息家电类移动终端类通信类汽车电子类工业控制类62一、嵌入式系统的概念IEEE定义:嵌入式系统(embededsystem)是“控制、监视或者辅助设备、机器和车间运行的装置”(devicesusedtocontrol,monitor,orassisttheoperationequipment,machineryorplants)国内普遍认同的定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统,即“嵌入到对象体系中的专用计算机系统”63二、嵌入式系统的特点嵌入式系统通常是面向特定应用的,如ARM系列多用于移动电话中,PowerPC用于网络设备中。嵌入式系统是一个技术密集、资金密集、高度分散并不断创新的知识集成系统,嵌入式系统的开发和应用不容易在市场上形成垄断。嵌入式系统的硬件和软件都必须高效率地设计。嵌入式处理器的应用软件是实现嵌入式系统功能的关键,和通用计算机有以下不同点:软件要求固件化,大多数嵌入式系统的软件固化在只读存储器中;要求高质量、高可靠性的软件代码;许多应用中要求系统软件具有实时处理能力。嵌入式系统和具体应用有机地结合在一起,嵌入式系统产品一旦进入市场,就具有较长的生命周期。嵌入式系统需要有一套开发工具和环境以应用为中心软、硬件可裁剪对体积、功耗、实时性、可靠性、功能、成本等有严格约束嵌入式系统的特点65三、嵌入式系统的组成嵌入式系统分为如下三大部分嵌入式系统的硬件,嵌入式系统的硬件包括嵌入式核心芯片、存储器系统及外部接口。嵌入式系统的软件。嵌入式系统的软件主要包括两大部分:嵌入式操作系统和应用软件。嵌入式系统的开发工具和开发系统

硬件软件开发系统嵌入式处理器存储器系统外部接口EMPUEMCUEDSPESoCEPSoC程序ROM数据RAM参数EEPROMNVRAM并行接口串行接口音视频接口

网络接口嵌入式操作系统应用软件VxWorksμc/OSWindowsCE嵌入式Linux编译器链接器调试器集成软件环境硬件工具仿真器编程器在线调试工具外围设备键盘LCD存储设备音频设备专用设备嵌入式系统的组成70四、嵌入式系统的发展趋势开发平台的完备化嵌入式系统的网络化系统的集成度的提高和性能指标的提高友好的人机界面作业:2、3、5、8思考:4、6、97172第2章计算机系统组成与工作原理10学时第2章计算机系统组成与工作原理2.1计算机系统的基本结构与组成(掌握)计算机系统的层次模型计算机系统的结构、组织与实现2.2计算机系统的工作原理(掌握)冯·诺依曼计算机架构模型机系统结构模型机指令集模型机工作流程73第2章计算机系统组成与工作原理2.3微处理器体系结构的改进(理解)冯·诺依曼结构的改进并行技术的发展流水线结构超标量与超长指令字结构多机与多核结构2.4计算机体系结构分类(理解)2.5计算机性能评测(掌握)字长、存储容量、运算速度74(a)软硬件层次(b)语言层次2.1.1计算机系统的层次模型(a)图自下而上反映了系统逐级生成的过程,自上而下反映了系统求解问题的过程;软硬件的逻辑等价性可以表现为:硬件软化(如RISC思想)、软件硬化(如CISC思想)、固件化(如微程序);(b)图中的虚拟机:与某种特殊编程语言对应的假想硬件机器微体系结构层(微程序或硬连逻辑)操作系统层语言处理层(解释、编译)用户程序层(语言编程)系统分析层(数学模型、算法)硬核级数字逻辑层(硬件)指令系统层(机器语言指令)应用语言虚拟机高级语言虚拟机汇编语言虚拟机操作系统虚拟机机器语言级微程序级寄存器级(硬件)硬件系统:异常处理机构、指令系统、CPU、存储器、I/O及通信子系统系统软件:操作系统、编译器、数据库管理系统、Web浏览器、设备驱动、中断服务程序应用软件752.1.2计算机系统的结构、组成与实现体系结构Architecture

程序员关心的计算机概念结构与功能特性

如:确定指令集中是否有乘法指令;计算机组成Organization

从硬件角度关注物理机器的组织 如:乘法指令由专用乘法器还是用加法器实现计算机实现Realization

底层的器件技术、微组装技术、冷却技术等 如:加法器底层的物理器件类型及微组装技术系列机76计算机的体系结构

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

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

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

机上实现了冯·诺依曼模式。直至今天冯·诺依曼体系结构依然是绝大多数数字计算机的基础。77冯·诺伊曼计算机系统结构框图78体系结构角度的多层结构硬件向上提供的接口:指令系统异常事件端口定义79体系结构、组成与实现体系结构Architecture

程序员关心的计算机概念结构与功能特性

如:确定指令集中是否有乘法指令;计算机组成Organization

从硬件角度关注物理机器的组织 如:乘法指令由专用乘法器还是用加法器实现计算机实现Realization

底层的器件技术、微组装技术、冷却技术等 如:加法器底层的物理器件类型及微组装技术系列机80计算机的组成(1)81计算机的组成(2)总线结构82计算机的组成(3)同步数字系统83组织角度的多层结构84体系结构、组成与实现体系结构Architecture

程序员关心的计算机概念结构与功能特性

如:确定指令集中是否有乘法指令;计算机组成Organization

从硬件角度关注物理机器的组织 如:乘法指令由专用乘法器还是用加法器实现计算机实现Realization

底层的器件技术、微组装技术、冷却技术等 如:加法器底层的物理器件类型及微组装技术系列机85计算机的实现半导体技术制造技术封装技术装配技术电源技术冷却技术……86872.2.1冯·诺依曼体系架构硬件组成五大部分以存储器为中心信息表示:二进制计算机内部的控制信息和数据信息均采用二进制表示,并存放在同一个存储器中工作原理:存储程序/指令(控制)驱动编制好的程序(包括指令和数据)预先经由输入设备输入并保存在存储器中计算机开始工作后,在不需要人工干预的情况下由控制器自动、高速地依次从存储器中取出指令并加以执行2.2.2模型机系统结构基于总线的冯·诺依曼架构模型机总线子系统:作为公共通道连接各子部件,用于实现各部件之间的数据、信息等的传输和交换(第4章)存储器子系统:存放当前的运行程序和数据(第5章)输入输出子系统:完成计算机与外部的信息交换(第6章)CPU子系统:集成了运算器、控制器和寄存器的超大规模集成电路芯片(VLSI)(第3章)881.模型机总线结构按传输信息的不同,可将总线分为数据总线DB、地址总线AB和控制总线CB三类:地址总线通常是单向的,由主设备(如CPU)发出,用于选择读写对象(如某个特定的存储单元或外部设备);数据总线用于数据交换,通常是双向的;控制总线包括真正的控制信号线(如读/写信号)和一些状态信号线(如是否已将数据送上总线),用于实现对设备的监视和控制。MPURAMROMI/O接口外设ABDBCB892.模型机内存储器存储器组织由许多字节单元组成,每个单元都有一个唯一的编号(存储单元地址),保存的信息称为存储单元内容。访问(读或写)存储单元:存储单元地址经地址译码后产生相应的选通信号,同时在控制信号的作用下读出存储单元内容到数据缓冲器,或将数据缓冲器中的内容写入选定的单元。9091Littleendian92各种宽度信息的存储(a)按任意相连存储紧凑,但访问需要2总线操作

(b)按整数边界存储

有浪费,但访问效率高933.输入/输出子系统计算机与直接相联的外围设备进行数据交换的过程通常称为输入/输出(In/Out),而与远方设备进行数据交换的过程习惯上称为数据通信(datacommunication)算术逻辑单元ALU累加器ACC累加锁存器暂存器标志寄存器FR通用寄存器组堆栈指针SP程序计数器PC微操作控制电路指令译码器ID指令寄存器IR

操作码,地址码脉冲分配器时钟脉冲源控制总线CB地址总线AB数据总线DB内部总线地址缓冲器数据缓冲器运算器寄存器组控制器4.模型机CPU子系统94模型机指令系统指令是发送到CPU的命令,指示CPU执行一个特定的处理,如从存储器取数据、对数据进行逻辑运算等。CPU可以处理的全部指令集合称为指令集(InstructionSet)。指令集结构(ISA,InstructionSetArchitecture)是体系结构的主要内容之一,对CPU的基本组织会产生非常大的影响。ISA功能设计实际就是确定软硬件的功能分配。指令通常包含操作码和操作数两部分。操作码指明要完成操作的性质,如加、减、乘、除、数据传送、移位等;操作数指明参加上述规定操作的数据或数据所存放的地址。汇编语言源程序机器语言程序(目标代码)汇编(汇编程序)高级语言源程序编译或解释(编译程序)952.2.3模型机常用汇编指令指

型操作码示例操作数示例说

明算术类加法ADDRs1,Rs2,Rd①Rs,Imm②,Rd(Rs1)+(Rs2)

Rd(Rs)+Imm

Rd运算类指令只能对寄存器中的数据或立即数进行直接操作减法SUBRs1,Rs2,RdRs,Imm,Rd(Rs1)-(Rs2)

Rd(Rs)-Imm

Rd逻辑类位与ANDRs1,Rs2,RdRs,Imm,Rd(Rs1)˄(Rs2)

Rd(Rs)˄Imm

Rd位或ORRs1,Rs2,RdRs,Imm,Rd(Rs1)˅(Rs2)

Rd(Rs)˅Imm

Rd位非NOTRs,Rd!(Rs)

Rd传送类存储器或I/O读LDR[MEM],Rd[MEM]

(Rd)将指定地址的存储单元或I/O端口的值读入寄存器Rd存储器或I/O写STRRs,[MEM](Rs)

[MEM]将寄存器Rs的值写入指定地址的存储单元或I/O端口寄存器访问MOVRs,RdImm,Rd(Rs)

(Rd)跳转类无条件跳转JMPLableLable

(PC)条件跳转JX/JNXLableIfX为真/假,则Lable

(PC)过程调用CALLSub-LableSub-Lable

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

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

程序本身产生某些例外条件处理完后返回断点97程序的执行过程取指令、分析指令、执行指令ABDBALU累加器ACC暂存器标志寄存器FR寄存器组

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

操作码,地址码内部总线地址缓冲器数据缓冲器程序计数器PC地址译码读控制B0H5CH04H2EH地址1001H1002H1003H内容1000H内存储器MOV5CH,R1ADDR1,2EH,R2+1CPU外CPU内①②③④⑤⑥①②③④⑤⑥①③④⑤⑥②①②③④⑤⑥⑦⑧982.3冯·诺依曼体系结构的演进演进CPU指令集

存储器子系统

总线输入/输出子系统

改变改变控制方式,发展数据、需求、模式等其它驱动方式;改变串行执行模式,发展并行技术;3-6章重点指令功能、指令格式、寻址方式分层结构高速总线+多种接口方式

冯·诺依曼型计算机的本质特点也造成了其瓶颈:

指令执行的串行性

存储器读取的串行性992.3.1不同的指令集设计策略:CISC与RISCCISC(ComplexInstructionSetComputer,复杂指令集计算机)不断增强指令的功能以及设置更复杂的新指令取代原先由程序段完成的功能,从而实现软件功能的硬化。RISC(ReducedInstructionSetComputer,精简指令集计算机)通过减少指令种类和简化指令功能来降低硬件设计复杂度,从而提高指令的执行速度。现代计算机:RISC+CISC100按处理器指令架构分类复杂指令集计算机(ComplexInstructionSetComputer,CISC),如X86控制器的设计实现复杂包含了复杂计算指令且运行时间长精简指令集计算机(ReducedInstructionSetComputer,RISC),如IBM的PowerPC,Sun的SPARC,MIPS的MIPSRxxx系列高效的编译器才能使RISC优点充分体现指令数据少且每条指令都能在单时钟周期完成超长指令集架构是英文(VeryLongInstructionWord,VLIW),IA-64,如INTEL的IA-64,AMD的X86-64简化处理器结构,删除复杂的控制器电路,每时钟周期可运行20条指令,而CISC通常只能运行1-3条指令,RISC能运行4条指令101102CISC的设计思想及特点每条指令执行单一功能,硬件复杂为编程方便,往往增加指令数目,指令编码长度增加,硬件译码更复杂为编程灵活,增加寻址方式,指令长度不一,译码复杂每条指令完成一个完整功能,因此单条指令涉及多个操作,如取指、参数、运算、存结果等为增加新功能,需增加新指令,因此指令系统越来越复杂,这也是CISC的由来如MC68020机就有25种寻址模式

103RISC的设计思想及特点RISC的出现简化了指令系统,克服了CISC的缺点,使更多的芯片硅面积可以用于实现流水和高速缓存,有效地提高了计算机的性能。RISC机的设计应当遵循以下五个原则。指令条数少,格式简单,易于译码;提供足够的寄存器,只允许load和store指令访问内存;指令由硬件直接执行,在单个周期内完成;充分利用流水线;强调优化编译器的作用104CISC和RISC的区别内核结构CISC:数据线和指令线分时复用,即冯.诺依曼结构,程序存储器和数据存储器合并编址RISC:数据线和指令线分离,即哈佛结构。取指令和取数据可同时进行处理器指令集

CISC:不等长指令集,需要对不等长指令进行分割,执行时间长,采用微码RISC:等长精简指令集,执行速度快且性能稳定。可同时执行多条指令,可将一条指令分割成若干个进程或线程,交由多个处理器同时执行,并行处理方面RISC明显优于CISC软件CISC:DOS、WindowsRISC:成熟的操作系统少,Windows需要翻译过程,速度慢105RISC,CISC看法的误区RISC指令都是简单指令LDREQR0,[R1,R2,LSR#16]!指令的强大,一般的CISC处理器望尘莫及。RISC的“简单”是指指令集的执行时间、指令长度、指令格式整齐划一CISC的复杂指令速度慢、执行效率很低现代CISC处理器具有非常长的流水线(PIII采用了25级的流水线),执行速度快。但老的CPU执行速度可能较慢但RISC不管是老的CPU,还是新的CPU,指令执行时间都是相同的,不需要在对指令执行作出优化RISC处理器比CISC处理器需要更多的寄存器这不是一个需求问题,而是一个实现问题。所以有的CISC寄存器与RISC相当。一般情况RISC需要比较多的寄存器RISC都有流水线ARM2没有采用流水线CISC与RISC的数据流IRIDREGALUMEM开始退出IRIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构CISC:寻址方式复杂106分层的存储子系统如何以合理的价格搭建出容量和速度都满足要求的存储系统,始终是计算机体系结构设计中的关键问题之一。现代计算机系统通常把不同的存储设备按一定的体系结构组织起来,以解决存储容量、存取速度和价格之间的矛盾设计目标:整个存储系统速度接近M1而价格和容量接近Mn107108存储子系统主存(内存):DRAM(存储数据和临时调入的程序)、FLASH(存储引导程序、固化程序(固件)),占用寻址空间,临时性存储,解决速度问题编址方式:字节编址信息存放方式:大/小端(big/littleendian)系统辅存(外存):磁盘、光盘。文件/块存储,虚拟存储介质,较长时间存储,解决容量问题均衡速度、容量、成本、长期存储等要求而分级存储器需考虑的主要因素速度、容量、成本其他增加存储器带宽的方法并行存储器双端口存储器哈佛体系结构DSP程序数据I/O接口外设程序地址数据读地址数据写地址程序读总线数据读总线程序/数据写数据程序109现代高速总线高速并行总线高速总线串行化110多级总线结构北桥南桥前端总线FrontSideBus111112④外部总线、(系统)外总线如并口、串口③系统总线、(系统)内总线如ISA、PCI②片(间)总线三总线形式①片内总线单总线形式计算机系统的四层总线结构运算器寄存器控制器CPU存储芯片I/O芯片主板扩展接口板扩展接口板计算机系统其他计算机系统其他仪器系统输入输出管理方式1132.3.2并行处理技术指令级并行技术ISP

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

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

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

组相联cache、先行进位加法器并行处理技术实现多个处理器或处理器模块的并行性,其基本思想包括时间重叠(timeinterleaving)、资源重复(resourcereplicaiton)和资源共享(resourcesharing)。1142.3.3流水线技术可通过分割逻辑,插入缓冲寄存器(流水线Reg)来构建115指令时空图顺序执行4级流水线执行流水线满载116更细的流水线取指(FI)指令译码(DI)计算操作数地址(CO)取操作数(FO)执行指令(EI)写操作数(WO)117流水线CPU的特点优点:

通过指令级并行来提高性能。缺点:增加了硬件成本。流水寄存器会引入延迟和时钟偏移,这些额外开销会使每条指令的执行时间有所增加,同时限制了流水线的深度。流水线中各段的操作存在关联(dependence)时可能会引起流水线中断,从而影响流水线的性能和效率。118流水线冲突理想流水线的性能:每个时钟周期完成一条指令实际流水机器中可能存在冒险(hazard)导致停顿:①数据冲突(如后面的计算要用到前面的结果)定向技术可将结果数据从其产生的地方直接传送到所有需要它的功能部件编译器可利用流水线调度(scheduling)技术来重新组织指令顺序②结构冲突(硬件资源不够)增加额外的同类型资源改变资源的设计使其能被同时使用③控制冲突(分支等跳转指令引起)可采用分支预测及预测执行技术最大限度地使处理器各部分保持运行状态。多端口的寄存器堆哈佛结构存储器、超标量119流水线数据冲突及乱序执行注意这里其实需要两个独立执行部件120流水线结构冲突及超标量流水线?有5个执行单元的超标量流水线有2套硬件的超标量流水线CPU共用一个取指单元的5段双流水线1212.3.4超标量CPU的体系结构超标量技术:可在一个时钟周期内对多条指令进行并行处理,使CPI小于1;特点:处理器中有两个或两个以上的相同的功能部件;要求操作数之间必须没有相关性;整数指令浮点指令122超标量处理机一般概念性结构instructionfetching多个流水线读取及转移预测逻辑instructiondecoding并行译码器,预译码技术instructiondispatching动态规划instructionexecution多个流水线功能单元instructioncompletion暂存结果数据instructionretiring真正更新Reg和Mem中的结果数据

超标量结构两条输入流水线三条执行流水线每个时钟周期可从存储器中获取两条指令用于执行不需要访问存储器的指令可处理所有需要或不需要访问存储器的指令可用于进行乘、除类较复杂的算术运算决定应使用哪一条执行流水线124和超标量处理机不同,超长指令字VLIW(VeryLongInstructionWord)依靠编译器在编译时找出指令之间潜在的并行性,并通过指令调度把可能出现的数据冲突减少到最小,最后把能并行执行的多条指令组装成一条很长的指令,然后由处理机中多个相互独立的执行部件分别执行长指令中的一个操作,即相当于同时执行多条指令。VLIW处理机能否成功,很大程度上取决于代码压缩的效率,其编译程序和体系结构的关系非常密切,缺乏对传统软件和硬件的兼容,因而不大适用一般应用领域。VLIW处理机1252.3.5多机与多核结构大规模并行处理机(MPP)是一种价格昂贵的超级计算机,它由许多CPU通过高速专用互联网络连接。机群(cluster)由多台同构或异构的独立计算机通过高性能网络或局域网连在一起协同完成特定的并行计算任务。刀片(blade)通常指包含一个或多个CPU、内存以及网络接口的服务器主板。通常一个刀片柜共享其它外部I/O和电源,而辅助存储器则有距离刀片柜较近的存储服务器提供。网格(Network)是一组由高速网络连接的不同的计算机系统,可以相互合作也可独立工作。网格计算机将接受中央服务器分配的任务,然后在不忙的时候(如晚上或周末)执行这些任务。126多核处理器127多线程技术单片多处理器(ChipMulitProcessor,CMP)问题:晶体管数量、芯片面积及芯片发热量多线程处理器(MultithreadedProcessor)细粒度多线程(Fine-GrailMultithreading)在每个指令中切换线程,处理器必须能在每个时钟周期切换线程。其优点是可以隐藏停顿引起的吞吐量损失;缺点是单个线程处理速度变慢了。粗粒度多线程(Coarse-GrailMultithreading)

仅当遇到开销大的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐量损失,特别是对于短的阻塞1282.4计算机体系结构的分类Flynn分类:根据指令流和数据流的多少进行分类单指令单数据SISD单指令多数据SIMD多指令单数据MISD多指令多数据MIMDCU控制部件PU处理部件MM存储单元CS为控制流DS为数据流IS为指令流传统的顺序处理机、标量流水线处理机、超标量流水线处理机阵列处理机、向量处理机无实际机型对应多处理机系统1292.5计算机系统的性能测定计算机系统的性能由硬件性能和程序特性决定,通常可利用标准测试程序来测定性能。用MIPS(MillionInstructionsPerSecond,每秒百万条指令)或MFLOPS(每秒百万次浮点操作)的数值来衡量计算机系统的硬件速度。用CPU执行时间T来量化硬软件结合系统的有效速度。MIPS=f(MHz)/CPIT(s)=(IC×CPI)/f(Hz)f(时钟频率):CPU的基本工作频率IC(指令数目):运行程序的指令总数CPI(CyclesPerInstruction):指令执行的平均周期数,可从运行大量测试程序或实际程序产生的统计数据中计算出来CPI数越小CPU速度越快130计算机系统性能量度值计算假设一台计算机的时钟频率是100MHz(每秒百万周期),具有4种类型的指令,它们的使用率和CPI分别如下表所示。求该计算机的MIPS值以及运行一个具有107条指令的程序所需的CPU时间。131冯.诺依曼计算机由哪几部分构成?连接这些部分的总线按功能不同分为哪几类?冯.诺依曼计算机与哈弗结构计算机有什么不同?132第二章习题作业:2~6、14、15思考:1、7~13133134第三章 微处理器体系结构及关键技术6学时第三章 微处理器体系结构及关键技术3.1微处理器体系结构及功能模块简介处理器的主要功能及部件(掌握)处理器的基本功能结构(掌握)一个简化的处理器模型结构示例(理解)3.2处理器设计(理解)处理器的设计步骤控制器的操作与功能随机逻辑控制器设计

微程序(微码)控制器结构及设计

寄存器组(registerfile)设计

135第三章 微处理器体系结构及关键技术3.3指令系统设计(掌握)机器指令的组成指令格式指令类型寻址方式指令系统设计要点3.4指令流水线技术流水线技术的特点(掌握)流水线操作的详细说明(掌握)流水线的局限性(理解)指令流水线设计(理解)3.5典型微处理体系结构简介(理解)ARM体系结构简介Intelx86体系结构简介136中央处理单元

CentralProcessingUnit,CPU微处理器

MicroProcessingUnit,MPU微控制单元

MicroControlUnit,

MCU单片机计算机单芯片控制器、运算器、寄存器CPU、少量存储器及I/O接口CPU+存储器+总线/接口+外设几个概念yyyy-M-137/863.1微处理器体系结构及功能模块简介冯·诺依曼机:5大部件存储程序串行单顺序每一个基本指令周期(或称取指、执行周期)经过一系列步骤执行一条指令如指令读取、指令译码、数据读取、操作执行、结果存入以及下一条指令的确定一条指令接着一条指令地重复这样的基本指令周期3.1微处理器体系结构及功能模块简介数据通路CPU的RTL描述:数据通路控制器处理器的部件:算术逻辑运算部件(ALU)、寄存器组、内总线和控制器140微处理器组成CPU组成控制器寄存器算术和逻辑单元指令执行单元部件间的互连机构指令系统CPU的作用:协调并控制计算机的各个部件并执行程序的指令序列微处理器的主要功能计算机系统设计师认为:处理器是指一种能够经过多个步骤执行计算任务的数字设备从本质上讲,处理器的作用是协调和控制计算机的各个部件,并执行程序的指令序列处理器的5个主要功能:指令控制:控制指令按程序逻辑顺序执行操作控制:按照指令执行过程及指令约定功能的需求产生各种操作控制信号时序控制:能够在适当的时间(时刻)使相应操作控制信号有效,并保持所需的时长数据加工:对数据进行算术和逻辑运算处理中断处理:程序执行过程中应能够及时处理出现的I/O操作请求及异常情况141142CPU的功能CPU的作用是协调和控制计算机的各个部件并执行程序的指令序列,具有以下基本功能:①取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。②分析指令:即指令译码,是指对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。③执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成数据通路:ALU+Reg+内部总线ALU:运算Reg组:暂存内总线:传输简单的单总线(ALU总线)复杂的多级总线(片上总线)数据通路数据通路是指运算相关的部件及相关的数据传输路径算术逻辑运算部件ALU寄存器组通用寄存器组、暂存器、指令寄存器、程序计数器、当前程序状态寄存器、地址寄存器、数据缓冲寄存器简单的处理器中只设置一组数据传送总线,用来连接处理器内的寄存器和ALU部件较复杂的处理器可能设置几组双向数据总线,同时传送多个数据144145CPU功能能对指令进行译码并执行规定的动作可以进行算术和逻辑运算能与存储器和外设交换数据提供整个系统所需的控制控制器输入输出一条运算指令的读取和执行过程可被划分为取指令、取源操作数、取目的操作数、执行运算操作、存放运算结果等阶段,每个阶段又可以再分成若干步操作控制器实现控制简化的处理器模型机控制器所需的指令、数据通路所需的数据都是从总线上得到操作过程类似于上章所述147字长8位,4种指令格式的模型机结构148内存地址寄存器内存数据寄存器通用寄存器累加寄存器程序计数器指令寄存器多路选择器简化的处理器模型哈佛结构CPU与内存储器的接口1.对外形成三总线形式;2.寄存器MAR和MDR简化了CPU与主存之间的传送通路,使其容易控制;3.寄存器MAR和MDR对用户透明,即不能编程访问;3.2微处理器设计数据通道组成:ALU+寄存器+内部总线功能:基本的二进制算术、逻辑及移位运算;根据运算结果设置状态标志(进/借位、溢出等);特性:数据通路宽度:即字长,CPU单次传送和处理数据的能力。数据通路周期:ALU运算并将保存结果的过程。控制单元(控制器)时序控制部件:指令周期、工作周期、时钟周期(工作脉冲)指令译码逻辑:微程序(CISC)、硬连逻辑(RISC)、……微处理器的总体结构指令集结构(ISA)是体系结构的主要内容之一,其功能设计实际就是确定软硬件的功能分配。考虑因素速度、成本和灵活性实现方式硬件、软件优化策略RISC、CISC;流水线;多核;……实现内容数据类型、指令功能、指令格式、寻址方式实现步骤根据应用初拟出指令的分类和具体的指令;编写出针对该指令系统的各种高级语言编译程序;对多种算法程序进行模拟测试,确认指令系统的操作码和寻址方式的效能是否都比较高;用硬件实现高频使用的指令,软件实现低频使用指令。指令系统设计3.2.1处理器的设计步骤综合考虑指令系统、总体结构、时序系统等拟定指令系统1533.2.1处理器的设计步骤确定总体结构安排时序拟定指令流程和微命令序列形成控制逻辑组合逻辑控制方式中,将产生微命令的条件进行综合、化简,形成逻辑式,从而构成控制器的核心逻辑电路。在微程序控制方式中,则是根据微命令代码来编写微指令,组成微程序,从而构成以控制存储器为核心的控制逻1543.2.2控制器的操作与功能微操作1551561.指令系统结构指令字由几个字段组成

操作码字段规定了计算机指令系统中由CPU实现的操作操作数是执行指令时需要的数据或寻找数据的方式单个处理器的所有指令构成指令集1572.随机逻辑体系结构在随机逻辑体系结构中,用布尔逻辑函数来表示控制单元的输入和输出之间的关系,每一个控制信号在布尔逻辑中用一个逻辑符号表示设计步骤:使用指令集结构驱动硬件的逻辑方程首先定义所需的指令集结构,根据指令集结构决定硬件的逻辑方程及有限状态机的逻辑硬件的逻辑方程再反馈到指令集结构为简化具体实现所需的硬件逻辑,对指令集结构做必要的修改和优化,达到最大限度地减少逻辑复杂度的目的由于指令集与硬件逻辑之间关系密切,设计过程复杂,难以用于其他款的处理器,重用性差158随机逻辑体系结构159随机逻辑体系结构的特点优点:使用的门电路总数少从而减少制造费用缺点:指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂重用性差设计成果很少能再利用到以后的新CPU设计中指令集优化困难仅用于较简单的指令集结构1603.微码(Microcode)体系结构在微码(微指令)结构中,控制单元的输入和输出之间的关系被视为一个存储系统,相当于把控制信号存储起来控制信号存放在一个微程序内存里。在指令执行过程中的每一个时钟周期,从微程序内存里读取一个(微)控制字作为指令执行的控制信号微码设计思想用软件方法控制数据信息传送,达到硬件实现微程序顺序产生单条指令执行所需的全部控制信号161微码结构的工作原理在微码体系结构中,其CPU的指令系统可以不直接用硬件逻辑电路实现,而是通过执行微代码程序来实现微码结构由如下两部分组成:微码控制器:小型的高速控制器微代码:在微码控制器中运行的微指令和软件设计微码体系结构的主要目的是:当设计新的微码体系结构时能够减少重复设计的费用,增强CPU的性能162指令、微程序、微指令(微码)微指令:在一个时间单位(节拍)内出现的一组微操作描述的语句微程序:一组微指令系列通过一组微指令产生的控制信号,使一条指令中的所有微操作得以实现,即实现一条指令的功能T1:微操作1(命令1,命令2,…)微操作2(命令1,命令2)

………Ti:微操作j(命令1,命令2,…)微指令i

………Tm:微操作n(命令1,命令2,…)微指令m微指令1一条机器指令一个微程序163微码结构Memory(RAM)Datapathmcontroller(ROM)AddrDatazero?busy?opcodeM使能写使能存储微码指令微码组成的指令构成的用户程序(如MIPS,x86等)164微码机器包括:数据通路和控制流两个主要部分

165微指令166微程序控制器的一般结构167微码结构优缺点优点:高度抽象存储结构,不是硬件电路不易出错易于修改,更新设计快缺点:微码的硬件电路开销大微控制器的运行速度高指令开箱依赖于微指令系统指令集设计示例假设某机器的字长是8位,支持常见的简单指令:指令是双地址指令,源操作数采用2种寻址方式—寄存器寻址(R0~R3)和立即寻址;目标操作数可采用2种寻址方式-寄存器寻址和存储器直接。请为下述九条机器指令设计可行的代码方案。若采用定长编码(8bit)方案,可定义指令格式如下:76543210=0000表示ADD=0001表示SUB=0010表示MOV=0011表示IN=0100表示OUT=0101表示RR……目的操作数寻址方式:0—直接寻址1—寄存器寻址目标寄存器编号源操作数寻址方式:0—立即寻址1—寄存器寻址源寄存器编号操作码机器指令集机器指令符号表示法由于直接与机器指令二进制表示法打交道很困难,于是普遍使用的是机器指令符号表示法(symbolrepresentation)。操作码可缩写成助记符(mnemonic)来表示

ADD 加 SUB 减 MUL 乘 DIV 除 LOAD 由存储器装入 STOR 存入存储器yyyy-M-汇编语言数据类型确认某种特殊类型的数据是否应该得到硬件支持数值型数据:无符号整数、带符号整数、浮点数非数值数据:字符串确认字长(对数据长度的限制)截断(truncation)或溢出(overflow)在选择数据格式和长度时需要平衡数值范围、程序执行期间发生溢出的可能性、处理设备和存储设备的复杂性、以及价格和速度等因素。指令类型指令按功能可分成以下三种基本类型:数据传输:将数据从一个地方(源地址)复制到另一个

地方(目的地址),传输结束后源地址中的内容不变。

数据传送范围:R->R、R->M、M->R或M->M

数据传送宽度:一般为固定值(如8、16或32bit),其

它宽度的数据传送一般可通过软件移位和合

并操作来实现。数据运算:包括算术运算(加、减、乘、除等)和逻辑

运算(与、或、非、异或等)。

该类指令需要明确操作数的类型和长度。控制类:用于改变正常的程序执行流程,完成程序的跳转,主要包括转移指令和过程指令。I/O?机器指令要素操作码(operationcode,opcode):需要完成的操作;源操作数(sourceoperandreference):操作所需的输入;结果操作数(resultoperandreference):操作产生的结果;下一条指令(nextinstructionreference):告诉CPU到哪里

取下一条指令。yyyy-M-指令格式在计算机内部,指令由一个位串来表示。相应于指令的各要素,这些位串划分成几个字段:操作码字段:说明CPU应进行的操作按操作类型分组:同类操作要求同样或类似的控制信号,因此编码也类似(有尽可能多的公共位)操作数字段/地址字段:说明源操作数和目的操作数存放的位置信息(R、M或I/O);说明源操作数和目的操作数的数据类型;下一条指令地址字段:

如紧跟当前指令,在主存或虚存中,则不需显示引用;如可能产生跳转,则需要显示给出存储地址;指令类型决定了CPU的软件功能特性寻址方式决定了CPU硬件功能特性174/86操作码字段常见指令字段分配操作码位段分配扩展操作码操作数字段

二元操作(binaryoperation)是一种基本操作类型,这样的指令通常包含三个操作数地址:两个源操作数和一个目的(结果)操作数。为了缩短指令长度,可以采用以下方法:只有一个地址指定给存储器中的操作数,而其余地址都指定给寄存器,可以在指令格式中明确地指定其寄存器号。把一个、两个或三个操作数的地址在指令格式中变成隐含的地址。隐含的地址可以指定给专用寄存器,而这些寄存器的名字隐含在指令格式的操作码中。yyyy-M-176/86机器指令结构:M-M、M-R、R-R机器指令结构:零地址、单地址、双地址寻址方式操作数实际存放位置:寻址方式:1.在指令码中指定操作数:立即数寻址2.在寄存器中指定操作数:寄存器(直接)寻址3.在存储器中指定操作数:存储器直接寻址、存储器间接寻址4.在汇编程序中指定操作数:

相对寻址5.操作数在I/O接口中:存储器寻址(存储器映像编址)或端口寻址(独立编址)立即数寻址

immediateaddressingmode寄存器直接寻址方式

registerdirectaddressingmode指令的地址字段给出寄存器号(名),而被指定的寄存器的内容就是操作数。存储器直接寻址

memorydirectaddressingmode 指令的地址字段直接给定一个立即数作为存储单元的地址。寄存器直接寻址存储器间接寻址

memoryindirectaddressingmode(1)寄存器间接寻址方式(2)存储器间接寻址方式(3)位移量寻址方式(4)变址寻址方式(5)比例尺寻址方式用于加强编写与位置无关的汇编语言程序寄存器间接寻址方式

registerindirectaddressingmode将存储器地址指定在寄存器中,即让寄存器内容指向一个可访问到操作数的存储器单元。yyyy-M-182/86存储器间接寻址方式

memoryindirectaddressingmode

多级间接寻址;通常用于访问存储器中的“跳转表”:跳转表首址指定在寄存器中,该表中的每个表项指向一个可访问到操作数的存储器单元。跳转表位移量寻址方式

displacementaddressingmode

通常用于数组、矩阵类向量数据的存取:寄存器值指定数组首址,立即数指定组内偏移;指数寻址方式

indexedaddressingmode

通常用于数组、矩阵类向量数据的存取:寄存器1值指定数组首址,寄存器2指定组内偏移;比例尺寻址方式

scaledaddressingmode用字节表示的操作数的长度位移量寻址+指数寻址+自增/自减寻址PC相对寻址方式

ProgramCounter-relatedaddressingmode

主要用在转移和跳转指令,指定汇编语言程序码的内部位置作为目的地址偏移量操作数。指令:JUMP[abe]操作:PC←[abe]=(PC)updated+immSign_ext当前指令取出后的PC值出现在指令中188控制单元模型189CPU内部结构CPU包括算术和逻辑单元、累加器、程序计数器、指令寄存器、指令译码器、时序和控制部件190MIPS的总线型数据通道微指令:寄存器到寄存器的传送(17个控制信号)

MA

PC meansRegSel=PC;enReg=yes; ldMA=yesB

Reg[rt]meansenMemMAaddrdataldMAMemorybusyMemWrtBus32zero?

A

BOpSelldAldBALUenALUALUcontrol2RegWrtenRegaddrdatarsrtrd32(PC)31(Link)RegSel32GPRs+PC...32-bitReg3rsrtrdExtSelIROpcodeldIRImmExtenImm2RegSel=rt;enReg=yes;ldB=yes1913.1.2微处理器体系结构简介在设计计算机体系结构时,要考虑:CPU采用何种指令系统?该计算机体系的价格及性能之比如何?这种计算机体系有销售市场吗?指令系统指令格式寻址方式192处理器结构按照指令执行的串行/并行及电路结构不同划分,处理器结构分为六种193流水线结构成功设计的流水线机器会要求在它的指令集设计及硬件设计之间达到一种平衡,因此设计流水线机器是一项比较困难的工作。此外,当流水线在并行地执行指令时,正执行的指令之间可能发生多种冲突(hazard)情况,所以在设计流水线机器时要预先考虑到可能的冲突,并且设法在设计时加以解决。194指令的顺序执行和流水线执行195流水线技术

理想流水线的性能:达到每一个时钟周期可以完成一条指令与指令串行执行相比较,速度提高5倍

流水线是一种多条指令重叠执行的实现技术1963.2指令系统设计指令是规定微处理器进行操作的命令,不同类型的处理器具有不同的指令系统指令系统设计是中央处理器设计的基础,CPU的操作由其执行的指令来确定指令字由操作码、操作数和操作数地址等字段组成一条指令的地址字段和相关的寻址方式对CPU的组织结构有显著的影响,因此要仔细考虑指令系统的结构设计1973.2.1机器指令要素每条机器指令必定包含CPU执行所需的信息。机器指令要素

操作码(operationcode):指定将要完成的操作(如ADD或I/O等)。这些二进制代码常简称为opcode

源操作数引用(sourceoperandreference):操作会涉及到一个或多个源操作数,这是操作所需的输入结果操作数引用(resultoperandreference):操作可产生一个结果下一条指令引用(nextinstructionreference):告诉CPU这条指令执行完后到哪里取下一条指令,通常下一条指令紧跟之后,因此不显式引用198指令周期状态图199操作数存储位置主存或虚存:与下一条指令的引用一样,必须提供主存或虚存的地址CPU寄存器:除极少数例外,一个CPU总有一个或多个能被机器指令访问的寄存器。若只有一个寄存器,则对它的引用可以是隐式的;若不止一个寄存器,则每个寄存器要指定一个唯一的编号,指令提供所需寄存器的寄存器编号I/O设备:需要I/O操作的指令必须指定I/O模块或设备。若使用存储器映射(memory-mapped)I/O方式,则只是另一类主存或虚存地址。2003.2.2指令格式指令格式:指令要素的组织形式,即构成指令的位串的组织形式。这些位串划分成几个字段指令集通常不止一种指令格式。处理器使用的一般指令格式:201指令格式的要素指令格式取决于计算机指令系统的机器代码表示。操作码,定义了将要执行的操作,二进制编码,编码位数决定了指令类型数目操作数,源操作数和目的操作数在存储器和(或)寄存器中所在位置的信息。这些位置都用地址以及各种寻址方式加以指定。操作数的数据类型。可选要素立即数:操作数作为指令的构成部分直接给出位移量:操作地址的补充信息附加信息202指令操作操作码和操作数是机器指令的两个最重要的部分。操作码字段定义了具体的何种操作,体现了计算机在软件方面的执行功能特性操作数由地址字段给出获得数据的方法,由地址信息和寻址方式共同决定,往往需要硬件电路的变换得到最终的地址,进而选中相应的单元并获得操作数,因此决定了

温馨提示

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

评论

0/150

提交评论