当前位置:首页 > 商业/管理/HR > 公司方案 > 第3讲TS101存储器和程序定序器
第3讲:TS101的存储器和程序控制器主讲:秦国栋西安电子科技大学电子工程学院2第3讲内容提示3.1存储器特点3.2存储器映射3.3存储器访问类型和规则3.4定序器的功能和指令类型3.5分支和中断3.6定序器指令西安电子科技大学电子工程学院33.1TS101存储器的特点3个存储器块M0M1M2Sequencer128bJALU128b128bKALU128bCompblockXI/OProcessorCompblockY128bLinkPortsExternalBus西安电子科技大学电子工程学院4TS101内部存储器特点三个内部存储器块,每个64Kx32位三个内部128位数据总线,每个都与一个存储器模块相连在一个周期中可以进行3个128-位的传输操作–2个数据传输和一个程序指令传输I/O处理器一次仅能使用一次内部总线注意:I/O处理器和核争用指令总线存储器可以交替地存储指令和数据每个指令周期允许对每个存储器块访问一次西安电子科技大学电子工程学院50x000000000x0000FFFF0x000800000x0008FFFF0x001000000x0010FFFF0x001800000x001807FFInternalMemory0InternalMemory1InternalMemory2InternalRegisters0x003FFFFF0x000000000x003FFFFF0x01C00000InternalMemoryBroadcast0x02000000ProcessorID00x02400000ProcessorID10x02800000ProcessorID20x02C00000ProcessorID30x03000000ProcessorID40x03400000ProcessorID50x03800000ProcessorID60x03C00000ProcessorID70x040000000x100000000x0C0000000x08000000SDRAMMemoryblock0Memoryblock1HostINTERNALSPACE3.2TS101的存储器映射全局地址西安电子科技大学电子工程学院6主机存储空间内部存储器空间外部存储器空间多处理器存储器空间0xFFFFFFFF0x100000000x0FFFFFFF0x040000000x03FFFFFF0x01C000000x003FFFFF0x00000000对应主机处理器。作为从机寻址被访问的主机。主地址空间是3.75G字适用于片外存储器和存储器映射I/O装置—SDRAM,其它存储器装置和I/O外设。对应多处理器系统中其它处理器的内部存储器和广播存储器空间。处理器ID标识出处理器群中的每个处理器。对应处理器的内部地址空间,Ureg和SIMD空间。存储器映射存储器访问32位地址空间的4G个字。西安电子科技大学电子工程学院70x0FFFFFFF0x0C000000寻址外部存储器块1。MS1外部存储器块MS0外部存储器块SDRAM0x07FFFFFF0x040000000x0BFFFFFF0x08000000寻址外部存储器块0。寻址外部SDRAM装置。外部存储器空间地址:MS1外部存储器块MS0外部存储器块SDRAM存储器装置西安电子科技大学电子工程学院8ID111ID110ID101ID100ID011ID010ID001ID000BroadcastWrite0x01C00000to0x01FFFFFF0x02C00000to0x02FFFFFF0x02800000to0x02BFFFFF0x02400000to0x027FFFFF0x02000000to0x023FFFFF0x03000000to0x033FFFFF0x03400000to0x037FFFFF0x03800000to0x03BFFFFF0x03C00000to0x03FFFFFF多处理器存储器空间地址:处理器ID000处理器ID001处理器ID010处理器ID011处理器ID100处理器ID101处理器ID110处理器ID111广播存储器空间西安电子科技大学电子工程学院90x00000000to0x0000FFFF0x00180000to0x001807FF0x00100000to0x0010FFFF0x00080000to0x0008FFFFUregsBlock1Block0Block2内部存储器空间地址:Uregs块2块1块0西安电子科技大学电子工程学院113.3存储器访问类型和规则有效的存储器访问方法:广播写-(参看外部存储器访问)交叉传输访问•合并分配•广播分配•注意:在广播写中,一个TigerSHARC写到其它几个TigerSHARCs中。在合并分配中一条指令访问两个计算块。在广播分配中一条指令给两个计算块加载相同的数据。西安电子科技大学电子工程学院12合并分配(I)在合并分配中一条指令访问两个计算块。合并分别从两个计算块的存储器中加载数据。数据传输的大小决定数据是如何分解的。指令语法决定数据的分配正常的,按照xy次序分配反序前缀(yx)反序分配的次序西安电子科技大学电子工程学院13长字访问长字访问(翻转)xyR1=L[J0+=2];yxR1=L[J0+=2];word2word1CBXCBYword2word1CBXCBY合并分配(II)西安电子科技大学电子工程学院14四字访问四字访问(翻转)xyR3:2=q[J0+=4];CBXCBYword3word2word0word1word3word2word1word0yxR3:2=q[J0+=4];CBXCBYword3word2word0word1word3word2word1word0合并分配(III)西安电子科技大学电子工程学院15word2word3word1word0word2word3word1word0word2word3word1word0CBXCBY广播分配在广播分配中一条指令把相同的数据加载到两个计算块中。正常字,长字,四字访问的操作例子:R11:8=q[J0+=4];西安电子科技大学电子工程学院16广播写广播写与广播分配不同。在相同的TigerSHARC中,广播分配把相同的数据分配到两个计算块中广播写把相同的数据分配到几个TigerSHARC中。广播写通过一个TigerSHARC写广播存储器空间来完成。例子:当几个TigerSHARC需要在相同的数据流中进行相同的算术运算时,广播写用于有效地把数据分配到所有的处理器中。西安电子科技大学电子工程学院17062C84EAquad-wordalignedlong-wordalignednormal-wordaligned32bits32bits32bits32bits数据大小和对齐数据在存储器中以正常字-,长字-,或者四字-为边界对齐正常字=32位(e.g.xR1)长字=64位(e.g.xR3:2)四字=128位(e.g.xR7:4)西安电子科技大学电子工程学院180123456…………………..5051525354555657……50values50values50values50values数据对齐-应用举例有时会遇到数据不对齐的情况一般的运算法则都需要知道运算的类型。一个内部循环:•把循环缓冲区中的50个连续的值加载到计算块中。•执行一次MAC–存储一个值外循环增加起始位置并重复西安电子科技大学电子工程学院19JLregistersJL0JL1JL3JB0JB1JB2JB3J0J1J2J3JL2JindexregistersJBregistersDAB访问(I)DAB访问指令–用来访问存储器中未对齐的四字。限制计算块中四字的加载。不支持合并的加载和存储器存储。DAB总是在一个循环缓冲寄存器组中访问在执行DAB指令之前,设置基址和长度寄存器。如果进行线性访问,把对应的L寄存器长度设置为0。西安电子科技大学电子工程学院20DAB访问(II)a0rXrXrXb0a3a2a1c0b3b2b1d0c3c2c1e0d3d2d1InstructionreferencesthislocationwithJ0(0x03)Firstmemoryaccessreferencesthislocation0x00as“nearest”quadalignedboundarya0rXrXrXXXXXa0rXrXrXa1a2a3b0XXXXflushedbysecondmemoryaccessMemory-128-bitwideDABafterfirstaccessDABaftersecondaccessExampleinstruction:R3:0=DABQ[J0+=4];;AssumeJ0=03QuadtransfersoutofDABstartatJ0-a0,a1,a2,a3,0004080C10Residualdatafrompreviousaccess西安电子科技大学电子工程学院21Memory-128-bitwideFour32-bitwordsEight16-bitwordsa2a0XXXXXa1a3a4a5a6a7b0b1b2b3b4b5b6b70C080400070605040302010016-bitreference0302010032-bitreferenceExampleinstruction:R3:0=SDABQ[J0+=8];;AssumeJ0=05Solution:Lower16-bitwordwillbe2xthe32bitreferenceUpper16-bitwordwillbe2x32-bitreference+1Prefix“S”inSDABsignalsthisformofaddressingDAB访问(III)–短字操作对于短字访问问题是怎样索引高或者低16位字位置?西安电子科技大学电子工程学院233.4程序定序器功能和指令类型.M0M1M2Sequencer128-entryBTB128bJALU128b128bKALU128bProcElYProcElXI/OProcessor定序器的地位西安电子科技大学电子工程学院24Sequence128-entryBTB128b定序器功能管理程序的结构和程序流:提供下一条要执行的指令的地址维护一个指令对齐缓冲区(IAB)用于高速取等待执行的指令。减少分支目标缓冲区(BTB)分支延迟,以保证条件和非条件指令的有效执行。减少循环数。估计条件。处理中断。西安电子科技大学电子工程学院25MemoryaddressfetchmuxBranchTargetBufferInterruptUnitProgramCounter32bitfetchaddressInstructionAlignmentBuffer128-bitbitdatafrommemoryInstructionsoutputtotheALU,MAC,Shifter,IALUMemoryInterruptsInc.定序器–简化的方框图.西安电子科技大学电子工程学院26指令流的几种类型线性流循环跳转子程序中断IDLEInstructionInstructionInstructionInstructionInstructionLoopNTimesInstructionInstructionInstructionRTIInstructionInstructionInstructionRETSInstructionInstructionInstructionCALLInstructionInstructionInstructionInstructionInstructionInstructionInstructionInstructionAddress:nn+1n+5n+4n+3
本文标题:第3讲TS101存储器和程序定序器
链接地址:https://www.777doc.com/doc-3793453 .html