CPU的原理介绍市公开课一等奖省赛课获奖课件_第1页
CPU的原理介绍市公开课一等奖省赛课获奖课件_第2页
CPU的原理介绍市公开课一等奖省赛课获奖课件_第3页
CPU的原理介绍市公开课一等奖省赛课获奖课件_第4页
CPU的原理介绍市公开课一等奖省赛课获奖课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

CPU原理介绍

ByJunco_tongCPU的原理介绍第1页內容

1.CPU方塊圖說明

何謂Pipeline

何謂分支預測

2CPU何謂32位元,64位元.

3.何謂I/OMapping,MEMORYMapping

4.何謂Realmode,Protectmode

5.RISCV.SCISC

6.何謂浮點運算

CPU的原理介绍第2页参考资料

\\hwserver\Training\cpu基礎概念(junco)CPU的原理介绍第3页

将管道阶数设计得如此长,乃是因为

Intel想让

Pentium4能传送最高时钟频率。

每一个管道方块越小或越短,所需晶体管或‘门电路’就越少,而执行就越快。

P4超长管道(HyperPipeline)

CPU的原理介绍第4页A1A2A3An非PIPELINEB1PIPELINEA1B1C1A2B2C2A3B3C3AnBnCn在時間上:A3,B2,C1,->A4,B3,C1運算單元1運算單元2運算單元3運算單元nCPU的原理介绍第5页流水线是当代RISC关键一个主要设计,它极大地提升了性能。

对于一条详细指令执行过程,通常能够分为五个部分:取指令,指令译码,取操作数,运算(ALU),写结果。按照传统方式,全部指令次序执行造成了相当大资源浪费。处理方法很轻易想到,当指令控制器完成了第一条指令前三步后,直接开始第二条指令操作

不过,流水线有两个非常大问题:相关和转移。CPU的原理介绍第6页

CPU的原理介绍第7页CPU的原理介绍第8页在一个流水线系统中,假如第二条指令需要用到第一条指令结果,这种情况叫做相关。当前处理这个问题方法是乱序执行。乱序执行原理是在两条相关指令中插入不相关指令,使整条流水线顺畅。

另一个大问题是条件转移。假如第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行那一条指令?所以,现在采取分支预测技术来处理转移问题。即使我们程序中充满着分支,但大多数情况下总是选择某一分支。依据这些原理,分支预测技术能够在没有得到结果之前预测下一条指令是什么,并执行它。现在分支预测技术能够到达90%以上正确率

CPU的原理介绍第9页結論:越是长流水线,相关和转移两大问题也越严重,所以,流水线并不是越长越好,超标量也不是越多越好,找到一个速度与效率平衡点才是最主要。

CPU的原理介绍第10页1.CPU方塊圖說明

businterfaceL1datacacheREECPU的原理介绍第11页以下是各功效专有名词解释:

BTB=‘分支目标缓冲区(BranchTargetBuffer)’,在此表格中储存一分支预测及可能全部目标地址。Athlon也有类似机制称为‘BHT’=‘分支历史表(BranchHistoryTable)’,该表存放分支目标地址统计。ALU-运算逻辑单元,这就是我们所说'整数'单元。数学运算如加减乘除以及逻辑运算如'OR','AND','ASL','ROL'等指令都在逻辑运算单元中执行。在多数软件程序中,这些运算占了程序代码绝大多数。AGU-位址产生单元(AddressGenerationUnit)。这个单元与'ALU'一样主要,因为它负责在数据取出或存回时,决定正确地址。而且普通程序极少用绝对寻址方式。程序中若使用数组时,表示用是间接寻址,这么一来会使'AGU'单元连续在忙碌状态。CPU的原理介绍第12页

µOP='微运算码(Micro-Operation/Operand)',这是

Intel赋予微处理器中,执行单元能直接了解指令集名称。

AMD方面,则采取称之为‘宏运算码(MacroOPs)’,因为这个名称较

IntelµOPs来得先进而且更具意义。这两种运算码都有一项共同特征,他们都代表非常简单而且处理器能够快速执行指令集。

不像

x86指令集一样,这些运算码都有固定长度,所以很轻易地将之插入执行管道作业。

解码单元会将

x86指令转成一个或多个运算码,假如偶而碰到太复杂

x86指令,‘微指令定序器(MicroInstructionSequencer)’则会产生较多运算码序列。 CPU的原理介绍第13页在当代多数超标量处理器中都会发觉内建'微码记忆体(MicroCodeROM)'机制。

平均而言,多数

x86指令会被微码定序器编译成两个左右运算码。

一些很简单指令如'AND','OR','XOR'或'ADD'仅会产生一个运算码,而'DIV'或'MUL'以及间接寻址运算则会产生较多运算码。其它极为复杂指令如三角函数等能轻易产生上百个运算码,出自'微指令定序器(MicroInstructionSequencer)'。

CPU的原理介绍第14页当程序代码或数据一开始进入Pentium4时,所见到新特色就是新系统总线。

Pentium3外频FSB设定在133Mhz,每时钟周期传输64位数据,提供8字节*133Mhz=1,066MB/s数据带宽;而

Pentium4系统总线仅为100Mhz,而且也是64位数据带宽,但因为利用与

APG4X相同原理‘四倍速’,所以可传输高达8字节*100MB/秒*4=3,200MB/秒

数据传输速度。

CPU的原理介绍第15页

Northwooddesktop:FSB=CPU外頻*4

分為:400=100*4

e.g.RK80532PC064512

533=133*4

e.g.RK80532PE083512

800=200*4

e.g.

RK80532PG088512

RK=FCPGA2(Package)

80532=NW478pin

C=400FSB

E=533FSB

G=800FSB

CPU的原理介绍第16页这项特色使得

Pentium4传输数据到系统其它部分比当前全部

x86处理器还快,。

不过,假如内存无法提供对应数据传输话,这么快处理器总线速度也是英雄无用武之地。

两个RDRAM通道能提供与Pentium4系统总线排(3,200MB/s)相同数据带宽,这么搭配将是理论上最完美结合─提供处理器、系统与内存间最高数据传输率,这也是最显著优势之一。不过,令人遗憾是整体系统成本将会因为使用高价RDRAM而变得更高不可攀.

現在惯用為DDR內存總線速度CPU外頻*2

100,133,166,200*2(帶寬MB/S:總線速度*2*8)CPU的原理介绍第17页高级传输缓存

CPU的原理介绍第18页接下来,绝大部分数据被带到

Pentium4内建

L2缓存中。

Intel称之为'高级传输缓存'Pentium4L2缓存读取延迟为7个时钟周期,其时钟频率与关键相同,与关键数据连接宽度为256字节。

经过这么分析,我们能够计算出L2与关键间惊人数据带宽─Pentium4@1.4GHz为44.8GB/s,Pentium4@1.5GHz之频宽为48Ghz/s。CPU的原理介绍第19页

PentiumIII内建16KBL1指令缓存与16KBL1数据缓存;但

Pentium4仅有8KB

L1数据缓存,

一个‘执行追踪缓存(ExecutionTraceCache)’。基本上,‘执行追踪缓存‘其實是在解码器底下L1指令缓存。

Intel被迫降低L1资料缓存大小成仅有8KB,方便L1有极低延迟,仅占2时钟周期。该大小为PentiumIIIL1资料缓存二分之一,仅为Athlon大小8分之一。即使缓存量较少,但整体读取延迟就比PentiumIIIL1数据缓存还来得低。cpu方塊圖CPU的原理介绍第20页进入执行管道(ExecutionPipeline)─Pentium4追踪缓存

CPU的原理介绍第21页InstructionTLB(指令快表)

用來存放L1Cache到L2Cache地址轉換,L1Cache中用到線性地址,而L2Cache用到是物理地址.

DynamicBranchPredictor(動態分支預測)

存放在TLB中經惯用到地址.CPU的原理介绍第22页

Instructiondecoder(指令解碼器)

把從L2Cache中得到指令分解成uOPs,當碰到複雜指令時,進入ROM中解碼

ExecutionTraceCache執行追蹤緩存

我们仅知道追踪缓存应可包含12,000个µOPs,其追踪缓存大小应该为92-96KB左右。

据此推测,一个

Pentium4µOP长度约为64-bit左右。這些

µOPs是由InstructionDecoder所產生.CPU的原理介绍第23页

uOPsSequencer(微指令排序器)

來完成微指令執行次序.

以以下例子作为说明。上方方块中为实际代码,下方方块中表示追踪缓存实际内容,而未用到代码并未存放于追踪缓存内。CPU的原理介绍第24页

CPU的原理介绍第25页追踪缓存分支预测单元(TraceCacheBranchPredictionUnit)

Intel相当自豪地将分支预测单元用于辅助执行追踪缓存.它分支目标缓冲区(branchtargetbuffer)大小为

PentiumIII内八倍,512Entries,而且采取新算法,并认为比

AMD在

Thunderbird与Spitfire中所采取最新

G-share算法表现还要优异。

Intel声称用了这个单元后,可降低

PentiumIII33%预测失败。CPU的原理介绍第26页

存在于追踪缓存内容,如前所述,仅代表

Pentium4管道最开始五阶,而接下来就是

CPU的原理介绍第27页分配资源

存放器重新命名

写入µOP序列

写入排序器并分析相关性

分配µOPs到对应之执行单元

读取存放器信息(确保实际指令所用存放器为128个通用存放器中,正确存放器信息)

CPU的原理介绍第28页接着来到µOP真正执行阶段,

快速执行引擎(RapidExecutionEngine)

cpu方塊圖

CPU的原理介绍第29页'快速执行引擎'基本组员为两组'2倍'ALU及

AGU。

因为他们能够每半时钟内处理一个µOP,所以四个中每一个时钟皆为处理器时钟两倍。即使

Intel从未透露是否这些单元时钟真是处理器两倍,或是每一单元中包含2个一模一样次单元,使得每个单元能够在每半时钟内交互地处理一个µOPs。

不论上述那个叙述才是真都无所谓,因为我们只要知道一个事实─快速执行引擎在每半个时钟内,就可处理一个简单µOPs。

CPU的原理介绍第30页2CPU位數確定

普通而言CPU位元數,能够依據其內部暫存器數目或外部資料匯流排數目而定.例:PentiumCPU資料匯流排為64條線,為16位元CPU;其位址匯流排有32條線,定址能力為224byte亦即16Mb

CPU的原理介绍第31页[觀念澄清]一部電腦我們稱之為8位元電腦,是因為其cpu運算單元(ALU)一次執行運算資料為8位元長度。比如:11110000+00000111=11110111(2進制

unsigned)

注意:是ALU一次計算資料位元長度,而不是cpu一次讀入資料長度,主要原因是曾有過電腦內部計算是16位元,不过CPU一次由memory取得資料是8位元長度,CPU經由二次讀取才取得ALU要計算16位元長度資料。這樣設計在32位元電腦上也曾經有過。主要設計考量是CPU這個IC接腳數太多了,所以設計時將databus設計成只有二分之一,而資料分兩次讀入。所以以資料匯流排數目,作為CPU位元數

CPU的原理介绍第32页CPU種類位元數字組數8080,800881

byte8088,8086,80286162

byte80386,80486PentiumI324bytePentiumII.Celeron648

bytePowerPC648

byteDetail:\\hwserver\Training\newpersonstudy\TRAIN_CPU.xlsCPU的原理介绍第33页3.1I/OMapping,MEMORYMapping

1.I/OMapping在实际应用中,通常把I/O接口电路中能被CPU直接访问存放器或一些特定器件称之为端口(Port)。I/O端口地址是CPU与I/O设备直接通信地址,简称口地址。CPU能够通过这些端口发送命令、读取状态和传送数据。因而一个接口通常含有几个端口,比如:命令口、状态口、数据口等。

CPU的原理介绍第34页I/O端口编址方式有两种:一个是存放器映射方式,即把端口地址与存放器地址统一编址,所以这种编址方式也称之为统一编址方式;另一个是I/O映射方式,即I/O端口地址与存放器地址分别进行独立编址,也称之为独立编址。

1.统一编址

这种编址方式是从存放空间中划出一部分地址空间分配给I/O设备,而把I/O接口中端口作为存放器单元一样进行访问,不设置专门I/O指令。在统一编址方式中,能够将I/O端口看作是内存单元。从标准上说,用于内存指令均可用于外设,这给使用者提供了极大方便。但因为I/O端口占用了内存地址,就相对降低了内存可用范围。CPU的原理介绍第35页

2.独立编址

在这种编址方式中,内存地址空间和I/O端口地址是相对独立。比如,在8086/8088CPU中,其内存地址是从00000H~FFFFFH连续1M字节。其I/O端口地址范围从0000H~FFFFH。它们相互独立,互不影响。同时,设置了专门IN、OUT等I/O指令。

内存与端口独立编址,各自有自己寻址空间。用于内存和用于I/O端口指令是不一样,很轻易识别。不过用于I/O端口指令功效较弱,在I/O操作中必须经过CPU存放器进行中转才能完成。CPU的原理介绍第36页PC系列微机系统支持端口数目是1024个,其端口地址空间是从000~3FFH,其有效译码地址是A0~A9这10根地址。

PC系列微机把I/O端口地址空间分为两部分,即把1024个端口前256个端口(000~0FFH)专供I/O接口芯片使用,后768个端口(100~3FFH)为I/O接口控制卡使用,以下表所示。

假如我们要设计I/O接口电路,就必须使用I/O端口地址。在选定I/O端口地址时要注意:

CPU的原理介绍第37页

(1)凡是被系统配置占用了端口地址一律不能使用。

(2)从标准上讲,未被系统占用地址用户都能够使用,但对计算机厂家申明保留地址,不要使用,以免发生I/O端口地址重合和冲突造成所设计产品与系统不兼容。

(3)通常,用户可使用300H~31FH,这是PC系列微机留作试验卡用。在用户可用I/O地址范围内,为了防止与其它用户开发接口控制卡发生地址冲突,最好采取地址开关。

CPU的原理介绍第38页

系统板上接口芯片端口地址CPU的原理介绍第39页

扩展槽上接口控制卡端口地址CPU的原理介绍第40页3.2.MEMORYMappingDetailinformation當初IBM設計[IBMPC]時,首先所謂[個人電腦]剛萌牙,一方面因所採用CPU定址限制,所以IBM在為該XTPC做『位址』定義時,只考慮到1MBYTE範圍,並規定0-640K位址(所謂BASEMEMORY)供普通APPLICATION,IRQVECTOR等使用,而640K-1M則有些保留,有些供附加卡,SYSTEMBIOS,VIDEOBIOS等使用

CPU的原理介绍第41页後來推出286,出現16M.因CPU適時配合,便把所定義位址往上增加.這些新增加位址也都是線性.由上面描述,我們已經知道PC硬體電路,在ADDRESSDECODE方面能够分成:1.0-640K及1M-16M兩段落,其性質雷同,且是MAPPING到DRAM上.2.640K-1M之位址因屬於BIOS,ONBOARDRESOURCES,ADD_ONCARD

CPU的原理介绍第42页自从微处理器进展到32位地址總線,可尋址空間為232=4GB,

下面解释平展模式线性地址分配.

moreCPU的原理介绍第43页4.1realmode

这是自8086一直延续继承下来16位模式。逻辑地址形式为段:偏移,二者均是16位。将段名所指定段存放器内容乘以16(即左移4位),得到20位段基址,加上16位偏移即得20位物理地址。实模式使用A19~A020根地址线,最大物理地址空间为1MB。最高物理地址为FFFFF(H),若段基址加上偏移计算出物理地址超出20位,则超出位被丢弃,即出现地址围绕现象。比如FFFF:FFFF计算出地址为10FFEF,实际送出物理地址为0FFEF

MS-DOS操作系统、(运行于实模式时)Windows3.x和它们16位应用程序采取实模式。CPU的原理介绍第44页4.2.Protectmode受保护虚拟地址模式(ProtectedVirtualAddressMode)简称为保护模式。这是80386才具备并一直延续下来32位模式。Pentium存放管理部件MMU设有分段部件SU和分页部件PU,允许SU、PU单独工作或同时工作。于是保护模式又细分为以下三种模式:

CPU的原理介绍第45页1.分段不分页模式

2.分段分页模式

3.不分段分页模式

这个模式下SU不工作,只是PU工作。程序也不提供段选择符,以存放器提供32位地址被看成是由页目录、页表和页内偏移三个字段组成。由PU完成虚拟地址到物理地址转换。进程所拥有最大虚拟空间是=4GB,即使虚拟空间减小了,但也够用。这种纯分页虚拟地址模式,也称为平展地址模式(flataddressmode)。它也能提供保护机制,而且将虚拟存放器看成是线性分页地址空间,比分段模式含有更大灵活性。WindowsNT、Windows95操作系统采取了这种模式来支持32位应用程序运行。CPU的原理介绍第46页

保护模式分页地址转换详细转换过程目录项页表项偏移量物理页地址偏移量。。。。页目录项。。。。。。。。页表项。。。。

页目录表地址000CR3(CPU內部存放器)CPU的原理介绍第47页

Pentium4KB分页方式地址转换CPU的原理介绍第48页Pentium4MB分页方式地址转换CPU的原理介绍第49页RISC與CISC

CISC,ComplexInstructionSetComputer,复杂指令系统计算机。

RISC,ReducedInstructionSetComputer,精简指令系统计算机。

CPU的原理介绍第50页(1)CISC产生、发展和现实状况

一开始,计算机指令系统只有极少一些基本指令,而其它复杂指令全靠软件编译时经过简单指令组合来实现。为了提升速度,越来越多复杂指令被加入了指令系统中。不过,很快又有一个问题:一个指令系统指令数是受指令操作码位数所限制.操作码扩展。前面说过,操作码后面跟是地址码,而有些指令是用不着地址码或只用少许地址码。那么,就能够把操作码扩展到这些位置。

CPU的原理介绍第51页然后,为了到达操作码扩展先决条件:降低地址码,设计师们又动足了脑筋,创造了各种各样寻址方式,如基址寻址、相对寻址等,用以最大程度压缩地址码长度,为操作码留出空间。

就这么,慢慢地,CISC指令系统就形成了,大量复杂指令、可变指令长度、各种寻址方式是CISC特点,也是CISC缺点:因为这些都大大增加了解码难度,而在现在高速硬件发展下,复杂指令所带来速度提升早已不及在解码上浪费点时间。

CPU的原理介绍第52页(2)RISC产生、发展和现实状况

1975年,IBM设计师JohnCocke研究了当初IBM370CISC系统,发觉其中占总指令数仅

温馨提示

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

评论

0/150

提交评论