7第六讲中央处理器(24)数据通路结构描述.ppt
《7第六讲中央处理器(24)数据通路结构描述.ppt》由会员分享,可在线阅读,更多相关《7第六讲中央处理器(24)数据通路结构描述.ppt(102页珍藏版)》请在三一办公上搜索。
1、Datapaths,1,指令周期,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,ALU,指令寄存器IR,指令译码器,操作控制器时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 024,JMP 21,JMP 21,000 024,000 021,000 006,000 006,000 025,000 021,Datapaths,2,具体步骤如下:1)根据程序计数器PC的内容从
2、内存中取出一条指令,放置于指令寄存器IR中;2)分析IR中的操作码,决定应执行的操作;3)根据IR的地址码取出参加运算的操作数;4)对操作数进行运算;5)根据IR的地址码把运算结果存入指定地址;6)本条指令执行完毕,修改PC内容决定下一条指令所在的地址。,Datapaths,3,时序与控制方式 控制器在时钟脉冲驱动下产生节拍,一般情况下一个节拍对应于一个时钟脉冲,如下图所示。图中用step_i 代表第i个节拍,其宽度与时钟周期相等。节拍电位和其他信号相互组合用于控制操作,引导数据在数据通路中流动;而在节拍的末尾处则由时钟脉冲把运算结果(或中间结果)打入寄存器。,Datapaths,4,同步控制
3、方式,Datapaths,5,有限状态机(Finite State Machine,FSM),Datapaths,6,结构描述,Datapaths,7,组合逻辑控制器,Datapaths,8,Datapaths,9,Datapaths,10,Datapaths,11,CPU 设计,CPU 的设计可分为三部分:数据通路datapath 实现真正的数据处理.指令集 instruction set 实现程序和CPU之间的接口.控制器 control unit 使用程序员的指令告诉数据通路做什么。数据通路:ALU.寄存器.可读写的内存.,Datapaths,12,CPU?,处理器是一个很大规模的时序电
4、路.寄存器保存值,组成系统的状态 ALU 对存储在寄存器中的数据,进行数据处理.,结构描述,Datapaths,13,寄存器传送,本质上,处理器只是在寄存器间传送数据,可能在ALU 中做一些计算.引入 寄存器传送语言.对象为寄存器.基本的操作为 传送,将数据从一个寄存器复制到另一个寄存器.在传送中,利用ALU 做运算.,Datapaths,14,用两个字符表示寄存器,如 R0,R1,DR,或 SA.箭头表示 数据传送.如在一个时钟周期内复制 源寄存器 R2 到 目标寄存器 R1:R1 R2条件传送:仅当条件满足时进行传送如 K=1:传送 R3 至 R2 表示 为K=1:R2 R3在同一时钟周期
5、内进行的多个传送.R1 R2,K:R2 R3,寄存器传送语言,Datapaths,15,表示 算术操作:R1 R2+R3R3 R1-1 表示 逻辑操作:R2 R1 R2bitwise ANDR3 R0 R1bitwise OR表示移位:R2 sl R1 left shiftR2 sr R1 right shift,Register transfer operations,Datapaths,16,寄存器的方框图,如上表示一个 n-bit 的寄存器.数据:当 Load=1,数据输入.当 Load=0,寄存器保存当前值。寄存器的输出总是有效.省去时钟信号.,Datapaths,17,寄存器文件,寄
6、存器文件:当代处理器通常将多个寄存器组织到一起称为register file.与RAM类似,寄存器用地址区分。右图为2k x n 的寄存器文件:有2k 个寄存器,寄存器的地址线为k bits 长.每个寄存器存放一个n-bit 的字,,数据输入输出为 n bits 宽.,Datapaths,18,访问寄存器文件,假设:同时给出 AA 和 BA,则数据同时出现在 A 和 B 输出;当WR=1,利用DA 和 D 写入寄存器;方框图中省去了时钟信号:任何时候可以读出.但只在时钟的上升沿写入,n,n,n,k,k,k,D data,Write,D address,A address,B address,A
7、 data,B data,Register File,D,WR,DA,AA,A,B,BA,Datapaths,19,寄存器文件的内部,4个 n 位的寄存器文件,Datapaths,20,ALU,ALU的方框图:A/B 是2个 n-bit 的数值输入.FS 是 m-bit 的功能选择码,可表示 2m 个功能.F 为 n-bit 的计算结果.状态位 表示对应当前输出F 的附加状态:V=1 溢出.C 进位.N=1 结果为负.Z=1 结果 为0.,Datapaths,21,ALU 的功能,功能选择码为5 bits 长定义15种不同的功能。,Datapaths,22,第1个数据通路,最基本的数据通路:A
8、LU 的2个输入来自于寄存器文件.ALU 计算,结果存回寄存器.WR,DA,AA,BA,FS 为控制信号,决定数据通路的具体动作,如使用哪个寄存器及执行何种运算.,Datapaths,23,R0 R1+R3 AA=01 且 BA=11.R1 给 A data,R3 给 B data.ALU 功能选择码 为 FS=00010(A+B).DA=00 且 WR=1.在下一个时钟的上升沿,ALU 结果(R1+R3)存入 R0.,D data,Write,D address,A address,B address,A data,B data,Register File,WR,DA,AA,BA,A,B,A
9、LU,F,Z,N,C,V,FS,FS,00010,01,11,00,1,Datapaths,24,Two questions,需要更多的存储单元?谁来决定读写哪个寄存器及执行何种ALU 功能?,Datapaths,25,访问内存,在数据通路中加入RAM.写 RAM,需给出地址ADRS和数据DATA,分别 取自寄存器的A data.和B data 当 MW=1 时写入 RAM.,D data,Write,D address,A address,B address,A data,B data,Register File,WR,DA,AA,BA,A,B,ALU,F,Z,N,C,V,FS,FS,MD,
10、1,Datapaths,26,读RAM,读RAM,A data 提供地址.MW=0 结果存入寄存器.D data 有2个来源 ALU 或 RAM.多路选择器 MD 选择数据源:当 MD=0,ALU 输出存入寄存器.当 MD=1,RAM 输出存入寄存器.,D data,Write,D address,A address,B address,A data,B data,Register File,WR,DA,AA,BA,A,B,ALU,F,Z,N,C,V,FS,RAM,ADRS,DATA,CS,WR,OUT,MW,+5V,n,n,FS,MD,0,Datapaths,27,数据可在内存与寄存器文件之
11、间传送.ALU 不能直接访问内存.内存的容量受寄存器的限制。对于 字长为n-bit 的寄存器,只能使用2n x n 的内存.假设RAM 与CPU 时钟一样快,Datapaths,28,地址为X的内存单元的内容可表示为MX.例如:RAM 中的第1个字为 M0.若 R1 中包含内存地址,则MR1 表示 该单元的内容.,Datapaths,29,寄存器传送:R3 MR0R3 R3+1MR0 R3地址为 R0 的 RAM 的数据+1.ALU 只能对寄存器运算,RAM 必须先装入寄存器,运算后再存回RAM.假设R0 包含内存单元的地址.数据通路如何完成该操作?,Datapaths,30,R3 MR0,A
12、A=00,读 R0.R0 作为 RAM 的地址,MR0 出现在 RAM 的 OUT.MD=1,RAM 输出送到寄存器.DA=11 且 WR=1,结果存入R3MW=0,防止意外写入 RAM.没有ALU(FS)和BA.,1,11,00,1,0,D data,Write,D address,A address,B address,A data,B data,Register File,WR,DA,AA,BA,A,B,ALU,F,Z,N,C,V,FS,RAM,ADRS,DATA,CS,WR,OUT,MW,+5V,n,n,FS,n,MD,Datapaths,31,R3 R3+1,AA=11,R3 送入
13、ALU 的A 输入端.FS=00001,实现 A+1.R3+1 出现在ALU 输出端 F.MD=0,ALU 输出送回寄存器.DA=11 且 WR=1 结果写回到R3MW=0,避免意外写入内存没有使用BA.,D data,Write,D address,A address,B address,A data,B data,Register File,WR,DA,AA,BA,A,B,ALU,F,Z,N,C,V,FS,n,Q D1,D0,S,RAM,ADRS,DATA,CS,WR,OUT,MW,+5V,n,FS,MD,1,11,11,0,0,00001,Datapaths,32,MR0 R3,将R3
14、存回 RAM 中,其地址为 R0.AA=00 且 BA=11.R0 给ADRS,R3 给 DATA.MW=1,内存写.WR=0,无需写寄存器,MD 和 DA 没有用.不使用 ALU,忽略 FS,D data,Write,D address,A address,B address,A data,B data,Register File,WR,DA,AA,BA,A,B,ALU,F,Z,N,C,V,FS,RAM,ADRS,DATA,CS,WR,OUT,MW,+5V,n,n,FS,MD,0,00,1,11,Datapaths,33,加入常量,加入 常量,增加控制信号 MB.这样可以用任意值初始化寄存器
15、和内存.,MD,S D1 D0 Q,Constant,MB,Datapaths,34,Control units,数据通路的控制信号不同将执行不同的操作。谁提供控制信号?在真实的计算机中,数据通路的行为是由装入且正在执行的程序决定的.控制器 control unit 负责依据程序代码为数据通路产生正确的控制信号,Datapaths,35,小结,数据通路是处理器的一部分,完成真正的计算:基本元件为ALU,寄存器文件和内存。ALU 完成 计算,寄存器文件和内存提供对ALU 的操作数和结果的存储.不同的控制信号控制着数据通路的行为,Datapaths,36,Instruction set archi
16、tectures指令集体系结构,数据通路最终由程序员控制,Datapaths,37,编程与CPUs,用高级语言如C+,必须编译成可执行程序.可执行程序是面向 CPU的 机器语言(machine language)程序,可装入内存由处理器执行。机器语言是软硬件间的接口interface,讨论虚线以下的内容。,Datapaths,38,高级语言,High-level languages 提供很多有用的编程结构:For,while,loopsIf-then-else 函数和过程变量和数组许多语言提供一些很有用的安全性质:静态和动态类型检查垃圾收集高级语言相对来说是可移植的。理论上你可以编写一个高级语
17、言程序,然后在不同的处理器上运行。当与低级语言比较后,你才能体会到高级语言的“高级”.,Datapaths,39,低级语言,每个CPU有自己的低级指令集 instruction set,即机器语言,反映了 CPUs 的设计。这也意味着人类很难直接使用。表现在:控制流限于“jump”和“branch”,必须以此为基础构造loops 和 conditionals.对函数和过程的支持很有限.内存寻址方式必须明确显式指出,而不能简单地声明变量然后使用它们。很少提供错误检查。很难让机器语言程序在不同的处理器上运行。,Datapaths,40,汇编语言与机器语言,机器语言是二进制位串。人们使用 assem
18、bly language:加入助记符.助记符与机器指令有一对一的关系,汇编程序到机器程序的转换容易。,Datapaths,41,数据操作类指令,对应于ALU 的运算 加法类似于高级语言中的R0=R1+R2操作数为寄存器.,Datapaths,42,NOTR0,R1R0 R1ADDR3,R3,#1R3 R3+1SUBR1,R2,#5R1 R2-5NOT只有一个操作数.#表示常数,Datapaths,43,与数据通路的关系,指令反映了数据通路的设计.每条指令最多有两个数据源,因为ALU 只有两个输入.两个数据源可以是两个寄存器,也可以一个是寄存器,一个是常量.复杂的操作,如:R0 R1+R2-#3
19、必须由多条指令完成.指令只有一个目的操作数,还必须是寄存器类型.,Datapaths,44,RAM?,ALU 能够直接访问的是寄存器文件。必须把RAM 的内容复制到寄存文件后,才能作为ALU的操作数。ALU 的结果必须经过寄存器才能存入内存。必须依赖于数据传送类指令将数据在内存与寄存器文件之间传送。,Datapaths,45,从RAM中传送数据到寄存器,load 指令从内存中传送数据到寄存器。LD R1,(R3)R1 MR3 RAM 的地址来自于寄存器。括号表示R3中存放的是一个内存单元的地址。,D data,Write,D address,A address,B address,A data
20、,B data,Register File,WR,DA,AA,BA,RAM,ADRS,DATA,CS,WR,OUT,MW,+5V,MD,S D1 D0 Q,Constant,MB,Datapaths,46,将寄存器中的数据存入RAM,store 指令将寄存器中的内容传送到内存 RAM.ST(R3),R1 MR3 R1RAM 地址存放在 R3 中。写入RAM 的数据存放在R1 中。,MD,S D1 D0 Q,Constant,MB,Datapaths,47,给寄存器赋值,初始化寄存器LD R1,#0 R1 0 ALU(FS=10000)“传送 B”操作。,D data,Write,D addre
21、ss,A address,B address,A data,B data,Register File,WR,DA,AA,BA,RAM,ADRS,DATA,CS,WR,OUT,MW,+5V,MD,S D1 D0 Q,Constant,MB,Datapaths,48,常量存入内存,初始化内存:ST(R3),#0MR3 0,MD,S D1 D0 Q,Constant,MB,Datapaths,49,#和()!,#和()表明了不同的寻址方式.寻址方式决定了如何寻找操作数:数据通路的设计决定了可以采用何种寻址方式.数据通路不支持第二个例子的寻址方式.Why not?,Datapaths,50,示例,M1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 中央处理器 24 数据 通路 结构 描述
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5879254.html