图1为宏指令集对称式并行体系结构微处理器图
宏指令集对称式并行体系的基本操作结构是复式对称的分体存储结构。如图1所示,它包括:
*四个独立的可控制成为以随机存储方式操作和FILO或FIFO
顺序存储方式操作为特征的地址指针生成部件:FPCA、
YPCA、FSD、FRD;
*四组独立的以双锁存寄存器结构为特征的双数据端口处理
部件:FD、FZ、FTNSF、FT;
*一个以寄存器形态结构构成的、允许被可编程方式改变的
硬件逻辑、组织和控制关系为特征的内部超长指令标识部
件:FIF;
*一个长指令控制处理逻辑部件:FDIF;
*一个三维乒乓译码控制器:FCC;
*对应于8条独立数据总线的寄存器堆,每条数据总线对应4
个以双锁存结构为特征的寄存器:TH, NH,SH,FH,TL,NL,SL,
FL,I,J,K,R,IH,JH,KH,RH,D,D1,D2,D3,DR,DR1,DR2,DR3,
Z,Z1,Z2,Z3,ZM,ZM1,ZM2,ZM3,用以内、外数据、指令输
入/输出操作方式及结果的暂存;
*一个同步循环脉冲时钟信号发生器部件:FCLK;
*一条汇集各部件输出操作方式并可将输出传递于各部件输
入方式的TIMD总线。
如图1a、1b所示,第一地址部件FPCA和第一数据端口部件FD与第二地址部件YPCA和第二数据端口部件FZ的功能、结构相同且存储器独立对称;FD部件中FDR与FRR和FZ部件中FZM与FMM的功能、结构相同且数据输入/输出对称。
如图1c、1d所示,第三生成部件FSD和第三数据端口部件FTNSF与第四地址部件FRD和第四数据端口部件FT的功能、结构相同且存储器独立对称;FT部件中FTI与FTJ和FTNSF部件中FTL与FTH的功能、结构相同且数据输入/输出对称。
如图1e所示,三维乒乓译码控制器FCC中,第一译码器FCCP与第二译码器FCCB乒乓译码的功能、结构、控制方式相同且操作对称。
四组数据端口(FD,FZ,FTNSF,FT)、八条独立数据总线(FDR,FRR,FZM,FMM,FTL,FTH,FTI,FTJ)和四个独立的地址发生器(FPCA,YPCA,FSD,FRD),将以总线形式传输数据并分别针对特定的存储器或连接其它设备,其中FD、FZ是指令、数据控制流输入的主要来源,通过三维的乒乓对称式译码结构部件FCC和一条连接各端口与内部寄存器部件的总线TIMD总线,实现内部之间和内、外之间的数据传输,使对称的端口部件被控制为具有可以是指令输入/输出或是数据输入/输出或是控制输入/输出的应用操作特征。
上述特征构成了地址、数据、控制部件两两对称和功能及结构双双对称的宏指令集对称式并行体系的主要结构——复式对称的分体存储结构。
如图1f所示,该体系结构任意一数据端口产生的指令/数据输入操作方式,经端口寄存器接受并暂存数据/指令,产生了指令/数据的第一线路输出方式;经独立的以双锁存寄存器结构的串行或并行寄存器暂存,产生数据/指令的第二线路输出方式;经内部寄存器标识字及译码器共同组合逻辑作用,生成组合控制信号,对该体系所有部件实施控制和操作,其各个部件的操作结果形成数据/指令的第三线路输出方式;该结果被返回到各个部件的多路选通器,沟通所有部件之间的数据信号输入、输出操作。所有线路方式将被汇集到内部总线TIMD Bus,通过TIMD的多路选通器形成指令/数据的第四线路输出方式,该总线允许内部与外部所有部件的数据/指令相互传输。
该体系各部件数据/指令输入/输出操作方式,均通过多路选通器将其内部的第二线路方式和部件间的第一、第三、第四线路方式选通操作,允许各部件间指令/数据/结果相互传输,而所有线路输入/输出方式均通过TIMD总线的多路选通器汇集,由此通过TIMD总线实现了内部指令/数据/结果通过内部部件相互间传输的总线操作方式。
该结构特征如下:
*基本结构简单,第一、第二、第三、第四地址/数据端口部件基本结构具有一致性、重复性而且功能作用相同、操作对称,在超长指令控制体系作用中,部件可以被重新组织;
*内部各部件数据通路具有可通过TIMD总线进行焦点数据操作方式及发散数据操作方式的控制特征,在体系结构重组及不同操作方式选择时,四个线路传输方式的数据输入/输出操作将有效支持体系结构的重组和不同应用的需求。
配合指令/数据的输入方式,各数据端口部件产生的数据输入/输出操作方式,经内部第一、第二、第三、第四线路方式的选择、传输,实现了体系结构支持多重功能并行操作的特征,及数据结构关系处理产生的行为操作过程,反映了宏语言原语的功能。图2为复用数据式双锁存寄存器结构图
宏指令集对称式并行体系结构的基本操作器件是复用数据式的双锁存寄存器结构,如图2所示。该结构由两个独立的选通器和两个独立的锁存器组成,可被组合成为不同的形式,如图2a、2b所示,它有四个重要特征:
(1)第一、第二锁存器的控制端分别由两个独立的电平信号(L,L1)或时钟(CLKA,CLKB)控制,第一锁存器在控制信号CLKA无效关闭时,第二锁存器控制信号CLKB有效导通,因此在时钟周期内或某一时刻内Q2和Q的值相等。
(2)由于第一、第二锁存器的控制端是分别独立控制,因此在某一周期或某一时刻,可将其中任一控制端经组合逻辑信号控制,使第一、第二锁存器的Q和Q2的值不等。
(3)第一、第二锁存器结构有二个输出(Q,Q2)端,具有自保持和多数据源(D1,D2)操作的应用特点,可响应第一、第二、第三、第四线路方式的数据传输操作方式。
(4)第一、第二选通器的选通端,是分别由两个独立的电平信号(CD,CD1)编码控制,当同步或异步控制进行选通时,可有效地支持数据的复用和串行或并行寄存器操作的方式。
数据复用的形式如图2c所示,当第一选通器选通输入端D的数据A1被第一锁存器保存后,CD1控制第二选通器MUX2选通Q2,则数据A1被传送至Q1,此后经CLKB负信号将数据A1保存于Q端,CD1在第二锁存器关闭后,选通Q,则Q与Q1在操作周期内是相等的;如图2d所示,当数据A1被保存于Q端后,CD控制第一选通器器选通Q,则Q与Q2在操作周期内也是相等的,由此当CD和CD1的选通控制为同步操作时,Q,Q1,Q2相等,是复用形式,实现了确定数据的主、副本算法操作。当CD和CD1异步操作时Q、Q1相等,Q2与之不等,构成并行寄存器操作方式。
非破坏型的数据操作如图2e所示,当第一、第二锁存器的任一控制信号(例CLKB)产生受组合逻辑控制时,D值将被有效的保持在Q端,使D的操作成为一种非破坏型的数据操作,当操作结束后,可在任意时刻由CD控制第一选通器选通Q,恢复D值。
插入式数据操作如图2f所示,插入式数据操作可在第一、第二锁存器之间利用CD和CD1对第一、第二选通器控制,或用CLKA,CLKB的控制,分别产生两组不同的或相同的数据,使在循环脉冲的时钟操作周期,一个由双锁存器组成的寄存器发挥了两个寄存器的作用,具有多种数据源及数据类型的操作方式。
自保持电路如图2所示,该第一、第二锁存器结构的寄存器,在分别受到CD,CD1和CLKA,CLKB异步控制时,具有自保持数据和可编成串行或并行寄存器结构的操作特征。表2-1双锁存寄存器信号说明表
信号名 |
功能 |
有效值 |
CD |
第一数据选通器选通信号 |
根据应用编码选择 |
CD1 |
第二数据选通器选通信号 |
根据应用编码选择 |
CLKA |
第一锁存器锁存控制信号,可以为时钟信号;也可为控制电平信号。 |
低电平有效,即:CLKA为“0”时,D数据进入LATCH_1寄存器锁存;CLKA为“1”时,LATCH_1数据保持不变。 |
CLKB |
第二锁存器锁存控制信号,可以为时钟信号;也可为控制电平信号。 |
高电平有效,即:CLKB为“1”时,Q1数据进入LATCH_2寄存器锁存;CLKB为“0”时,LATCH_1数据保持不变。 |
D2 |
第一选通器的数据来源,包括各种来源的数据:Q3,Q4,…Qn | --- |
D1 |
第二选通器的数据来源,包括各种来源的数据:Q3,Q4,…Qn | --- |
Q2 |
第一锁存输出数据 |
--- |
Q |
第二锁存输出数据 |
--- |
D |
第一数据选通器MUX_1输出数据 |
--- |
Q1 |
第二数据选通器MUX_2输出数据 |
--- |
图3为FPCA、YPCA地址部件图
对称式的地址部件,如图3所示,它包括:
*一个地址多路选通器MUX,可接受该体系结构微处理器第一、第二、第三、第四线路方式的数据输入,其中一路数据来自内部数据总线TIMD BUS,另外三路数据来自当前地址指针PC、增量指针PCINC和减量指针PCDEC,MUX的选通信号MPC来自FCC译码部件或第一线路方式输出的超长指令标识格式字的控制域,MUX的输出总线AA分别连接到地址错误比较器COM、加1器INC、减1器DEC和当前地址寄存器PC;
*一个加1器INC和一个减1器DEC,分别用于对选通的当前地址进行增量和减量的计算,加1器和减1器的输入均来自地址选通器MUX的输出AA,它们的输出分别连接到增量指针寄存器PCINC及减量指针寄存器PCDEC;
*三个可作为串行的先进先出、先进后出及随机存储方式下的地址指针寄存器PC、增量指针寄存器PCINC及减量指针寄存器PCDEC;
*一个地址溢出错误比较器COM,用以判定当前地址指针溢出及存储特征的裁决和处理,它的输入分别来自MUX选通器的输出线AA和专用数据线A1,A1作为界地址或基地址,当COM经过比较处理后,输出地址线A及错误标识信号A_err;
*一个管理控制同步或异步控制时序的转换器ASC,ASC转换器是在MASC信号的控制下,将输入的地址线A上的地址值[A]经过同步/异步时序控制的处理,生成最终访问存储器的地址,形成第三线路输出方式,由地址端ADDR输出。
对称式的地址部件的基本特征如下:
(1)如图3a所示,该体系复位后由MPC信号控制MUX地址选通器,通过选取内部数据总线TIMD总线第四线路方式的输入,用于指示当前存储方式的初始地址指针,该地址指针经错误判断器件COM处理后,产生实际访问存储器的地址[A]并通过同步/异步时序控制部件ASC输出,以第三线路方式在地址总线ADDR输出。同时,MUX选通的当前地址值[AA]分别经过INC加1器和DEC减1器产生地址的增量和减量,其中地址的增量在下周期被增量指针寄存器PCINC的双锁存结构所保存,形成第二线路方式输出,作为下一个周期可被选择访问存储单元的地址指针(双锁存结构寄存器的详细说明请参阅《发明图说明2》)。在没有新的地址指针通过MUX选通被重新定义之前,增量指针寄存器将成为唯一的随机存储方式的指针。指针寄存器PC将保存当前操作(本周期)选通的地址值[AA]而减量指针寄存器PCDEC保存当前选通的地址减量,即上一周期操作的地址值。三个地址寄存器在系统中断时,将依据当前超长指令控制体系产生的组合控制信号,决定哪一个寄存器的地址值以第三线路方式输出进行保护。
(2)如图3b、3c所示,当系统采用先进后出存储方式时,在MPC信号控制下,由MUX地址选通器通过选通内部数据总线TIMD总线的第四线路方式输入,确定一个地址初值,经错误判断器件COM处理后,产生实际访问存储器的地址[A]并经过同步/异步时序控制部件ASC输出,以第三线路方式在地址总线ADDR输出。同时,当前选通地址值[AA]经INC加1器进行增量后在下周期存放到增量指针寄存器PCINC中,形成第二线路输出方式,作为下一个周期对存储单元进行读访问操作的地址输出;当前地址[AA]经DEC减1器进行减量后在下周期存放到减量指针寄存器PCDEC中,作为下一个周期对存储单元进行写访问操作的地址输出;当前指针寄存器PC保存了当前的顺序存储的地址位置。
(3)如图3d、3e所示,当系统采用先进先出存储方式时,在MPC信号控制下,由MUX选通器通过选通内部数据总线TIMD总线的第四线路方式输入,确定一个地址初值,经错误判断器件COM处理后,产生实际访问存储器的地址[A]并经过同步/异步时序控制部件ASC输出,以第三线路方式在地址总线ADDR输出。这时,增量指针寄存器PCINC作为存储单元的写访问指针WP;当前指针寄存器PC作为存储单元的读访问指针RP,形成第二线路输出方式。
进一步说,就是当进行存储单元的写操作时,选通的地址值[AA]的增量在下周期被存放到增量指针寄存器PCINC中,该值作为下一周期写操作的存储单元地址指针,而作为读访问的地址指针——当前指针寄存器PC仍保持原值不变。当进行存储单元的读操作时,选通的地址值[AA]增量后在下周期被存放到PC当前指针寄存器中,作为下一周期读操作的存储单元地址指针,而作为写访问的地址指针——增量指针寄存器PCINC仍保持原值不变。当系统发生溢出中断时,则依据超长指令控制体系产生的组合控制信号,决定选择增量指针寄存器或PC当前地址指针以第三线路方式输出保存。
对称式的地址部件的功能、结构、操作及控制方式均相同,在各部件独立操作时,其地址生成、存储操作方式及读写控制是由其相配合的FD和FZ数据端口部件分别产生的指令/数据输入方式在当周期内由组合控制信号方式决定,并在下一周期时钟上沿通过数据端口实施数据读写输入输出操作,如图3f所示。
在FPCA和YPCA部件合并操作时,当其中一个部件FPCA或YPCA选择随机存储方式,另一个部件YPCA或FPCA选择先进后出堆栈存储方式,且被选择为堆栈存储方式的部件,生成的地址进行数据读写操作,将受控于被选择为随机存储方式部件的数据端口输入的指令/数据产生的组合控制信号,如图3f所示,T1周期执行的指令A要求堆栈操作方式的数据端口部件在T2周期进行写操作,而T2周期CLK上升沿所读入的指令B要求在T3周期对该数据端口部件进行读操作,由此T2、T3周期产生的写和读操作在T3周期是冗余的操作,在指令A和指令B的组合控制下,T2、T3被选择为周期堆栈操作方式数据端口部件的外部操作呈不读、不写的高阻状态。请参阅《图说明6》的说明。
对称式地址部件的三种存储操作方式:先进先出或先进后出堆栈操作方式及随机存储方式是由内部超长指令寄存器标识部件FIF的两个子部件FIF_PS和FIF_FIFO进行控制。
FIF_PS与FIF_FIFO分别由两个选通器MUX和触发器DFF组成,如图3g所示。其基本特征是:通过外部硬件联线标识逻辑控制和内部超长指令寄存器标识字控制可对地址部件进行先进先出或先进后出堆栈操作方式及随机存储方式的定义。
在该处理器复位前,首先将处理器外部硬联线标识引脚PS_PIN和FIFO_PIN通过跳接线进行设置。当处理器在复位周期内,RSTn信号有效,使得MUX1选通PS_PIN,MUX3选通FIFO_PIN,同时,MUX2和MUX4由于RSTn信号有效分别选通MUX1和MUX3的输出信号,并在下周期的CLK上升沿分别由DFF1和DFF2两个触发器保存,实现了复位期间由外部硬件联线对地址部件操作方式的初始定义。
在该处理器复位后,MUX2和MUX4分别选通DFF1和DFF2所保存的状态值,当指令重新定义地址部件的操作方式时,PS_Ins和FIFO_Ins信号有效,使得MUX1和MUX2选通器分别选通YPS和YFIFO信号,并通过MUX2和MUX4的选通输入分别保存在DFF1和DFF2中,最后通过PS和FIFO信号输出到地址部件进行操作方式的控制。
地址端口的同步、异步控制时序的转换器ASC,如图3h-1所示,包括了一个锁存器LAT,一个触发器DFF和一个MUX选通器。系统可对地址输出的时序关系进行同步/异步控制或进行由同步到异步、由异步到同步的转换控制,其控制部件是内部超长指令寄存器标识控制部件FIF的一个子部件FIF_ASC。FIF_ASC由两个选通器MUX1、MUX2和一个触发器DFF组成。
存储器的同步访问时序是指在同步时钟沿之前,给出稳定的访问存储器的地址信号及读、写控制信号,由同步时钟沿将其锁定,锁存后的地址将在整个存储周期内保持稳定,用作存储器数据的读写操作,地址在被同步锁存后,允许地址部件改变新的地址值,用于下个存储周期的操作地址。
存储器的异步访问时序是指访问存储器的地址信号无同步时钟锁定,由地址部件产生控制,保持地址指针在整个周期内稳定,在完成当周期数据的读写操作之前,不允许地址部件变换新的地址。
存储器的同步访问时序操作如图3i所示,地址A由LAT锁存器控制信号CLK4的高电平导通,经过M_ASC器件的选通,成为ADDR信号输出,并在芯片外部被同步时钟锁定且保持整个存储周期,以进行存储器数据的读写操作。
存储器的异步访问时序操作如图3j所示,地址A由DFF触发器控制信号CLK的上升沿锁定,经过M_ASC器件的选通,成为ADDR信号输出,作为访问存储器的地址指针,该地址指针保持整个存储周期的稳定,直到下一个CLK的上升沿重新锁定新的地址指针为止。
对地址端口的同步/异步时序的控制有两种方式,如图3h-1所示:
(1)复位时硬线标识定义
在该微处理器复位前,首先将外部引脚ASC_PIN通过跳接线进行设置。当处理器进入复位周期后,RSTn信号有效,MUX1选通器选通ASC_PIN,MUX2选通器选通MUX1的输出信号MASC1,并在下周期的CLK上升沿将其保存在DFF触发器内,实现了在复位时硬线标识对地址端口的同步/异步操作方式的初始定义。
(2)内部超长指令寄存器标识定义
在该处理器复位结束后,MUX1选通同步/异步时序的指令控制域信号ASC_Yu作为输出,MUX2选通DFF触发器所保存的复位初始状态MASC2。当外部超长指令标识字对内部超长指令寄存器标识字进行装载时,ASC_Val信号有效,MUX2选通MUX1的输出信号MASC1,在下周期的CLK上升沿将外部超长指令装载的信号ASC_Yu保存在DFF触发器,经过一个周期的时序转换时间,通过MASC输出信号控制地址端口的同步/异步操作方式,时序参见图3k和3l。
数据端口部件的同步/异步时序的转换器件,如图3h-2所示,包括两个锁存器和一个选通器。系统对数据端口部件的输入数据进行同步/异步锁存时序的转换控制,其控制部件是内部超长指令寄存器标识控制部件FIF的一个子部件FIF_ASCd。FIF_ASCd由三个选通器MUX1、MUX2、MUX3和一个触发器DFF组成。
数据端口部件的同步/异步时序的控制有三种方式,如图3h-2所示:
(1)复位时硬线标识定义
在该微处理器复位前,首先将外部引脚ASCd_PIN通过跳接线进行设置。当处理器进入复位周期后,RSTn信号有效,MUX1选通器选通ASCd_PIN,MUX2选通器选通MUX1的输出信号MASCd1,并在下周期的CLK上升沿将其保存在DFF触发器内。在复位期间内,ASCd_Ins信号无效,MUX3选通DFF触发器的输出线作为MASCd信号,连接到数据端口部件的输入数据同步/异步时序控制操作器件,从而实现在复位时的硬线标识定义。
(2)内部超长指令寄存器标识定义
当该处理器复位结束后,MUX1选通ASCd_Yu数据同步/异步时序的指令控制域信号作为输出,触发器DFF保持复位期间外部引脚ASCd_PIN信号的状态,当外部超长指令标识字对内部超长指令寄存器标识字进行装载时,ASCd_Val信号有效,MUX2选通MUX1的输出信号MASCd1,并在下周期CLK上升沿保存在DFF触发器中。
当该处理器呈现是同步时序时,MUX3选通器在指令控制的有效周期的后半周期通过ASCd_Ins信号选通来自指令控制的ASCd_Yu信号,以便系统在当周期内转换成异步方式,在下一周期ASCd_Ins失效,仍选回到触发器DFF输出的信号,由于这时DFF已将ASCd_Yu指令域所要求的异步方式锁存好,因此处理器保持异步方式直到再有指令重新设置。时序见图3m。
当该处理器呈现是异步时序时,MUX3选通器在指令控制的有效周期的后半周期通过ASCd_Ins信号选通来自指令控制的ASCd_Yu信号,以便系统在当周期内转换成同步方式,在下一周期ASCd_Ins失效,仍选回到触发器DFF输出的信号,由于这时DFF已将ASCd_Yu指令域所要求的同步方式锁存好,因此处理器保持同步方式直到再有指令重新设置。时序见图3n。
(3)超长指令控制域标识定义
当超长指令控制域标识动态设置数据端口部件的同步/异步时序操作状态时,ASCd_Ins信号有效,MUX3选通器选通当前指令控制域ASCd_Yu作为输出信号MASCd,从而在本周期改变数据端口部件的同步/异步时序的操作方式。在指令执行结束后,ASCd_Ins变成无效,MUX3也选回到DFF触发器的输出信号,数据端口部件的同步/异步时序也自动恢复成指令执行前的操作方式,时序参见图3o和图3p。表3-1 图3信号注释TIMD ——内部数据总线PC ——当前地址指针寄存器数据总线PCINC——增量地址指针寄存器数据总线PCDEC——减量地址指针寄存器数据总线MPC ——地址选通器MUX_PC的选通控制信号AA ——地址选通器MUX_PC的选通输出信号CLKA1——增量地址寄存器PCINC的第一锁存控制信号CLKA2——减量地址寄存器PCDEC的第一锁存控制信号CLKA3——当前地址寄存器PC的第一锁存控制信号D1 ——增量地址寄存器第一、第二锁存之间的选通器
MUX_INC的来自其它部件的数据总线D2 ——减量地址寄存器第一、第二锁存之间的选通器
MUX_DEC的来自其它部件的数据总线D3 ——当前地址寄存器第一、第二锁存之间的选通器
MUX_PC的来自其它部件的数据总线CD1 ——增量地址寄存器第一、第二锁存之间的选通器
MUX_INC的选通控制信号CD2 ——减量地址寄存器第一、第二锁存之间的选通器
MUX_DEC的选通控制信号CD3 ——当前地址寄存器第一、第二锁存之间的选通器
MUX_PC的选通控制信号CLKB1——增量地址寄存器PCINC的第二锁存控制信号CLKB2——减量地址寄存器PCDEC的第二锁存控制信号CLKB3——当前地址寄存器PC的下锁锁存控制信号MASC ——控制同步/异步时序的地址选通信号A_err——地址错误识别信号图4为FALU可变操作序列的运算功能部件图
宏指令集对称式并行体系结构包括了一个具有多种运算功能的FALU部件,该部件如图4所示,它包括:
*两个加、减算术运算器件FAU1和FAU2。FAU1可以独立使用,
也可以与FINC器件配合完成地址及数据偏值运算功能,
FAU2是构成可变序列的运算器件之一;
*一个逻辑运算器件FLOG,是构成可变序列的运算器件之一;
*一个移位运算器件FSHIFT,同FAU2和FLOG一起构成了可变
序列的运算部件;
*一个加1运算器件FINC,它与FAU1器件配合完成地址及数
据偏值运算功能;
*十三个数据选通器,其中:
MUX1选通器用于FINC运算器四种线路方式的数据选通;
MUX2和MUX3用于FAU1运算器四种线路方式的数据选通;
MUX4和MUX5用于FLOG运算器四种线路方式的数据选通;
MUX6和MUX7用于FAU2运算器四种线路方式的数据选通;
MUX8用于FSHIFT运算器四种线路方式的数据选通;
MUX9用于FAU2运算器选通四种线路方式数据或内部运算结
果;
MUX10用于FLOG运算器选通四种线路方式数据或内部运算
结果;
MUX11用于FSHIFT运算器选通四种线路方式数据或内部运
算结果;
MUX12用于选通FAU1和FLOG的运算结果,作为第三线路方
式输出;
MUX13用于选通FAU2、FLOG和FSHIFT的运算结果,作为第
三线路方式输出。
*一个触发器DFF,用于保存地址或数据的偏值运算结果。
其中,可变序列运算部件如图4a所示,它是构成FALU并行运算部件的一部分,它由FAU2、FLOG、FSHIFT三个运算器件以及MUX4、MUX5、MUX6、MUX7、MUX8、MUX9、MUX10、MUX11、MUX13九个选通器件组成。
在可变序列运算器件之间均有两两互连的数据通路,用于相互传送运算结果,每个运算器件的运算结果输出都可作为其它运算器件操作数的输入,同时也可以接收其它运算器件的运算结果输出,作为本运算器件操作数的输入,执行算法操作。如图4a所示,FAU2运算器件的运算结果通过AU2数据总线,连接到MUX10和MUX11的输入端,由M10和M11选通信号控制,允许选通输出到FLOG和FSHIFT运算器件中,作为操作数执行算法操作。同样,FLOG和FSHIFT的运算结果输出也可传送到其它运算器件。操作数依次经过两个以上的运算器件处理,便构成了一种运算操作的序列,如加、乘运算序列。
由该装置的结构可知,每个运算器件的操作数不仅可以来自寄存器部件或存储器部件,还可以来自其它运算器件的结果。操作数的选取是通过MUX选通器来实现的,而选通器的选通端则由超长指令内部寄存器标识部件FIF_ALU产生的信号加以控制,因此,通过改变超长指令内部寄存器标识就可以改变运算器件的操作数来源,也就改变了运算操作的序列关系,这种可变运算序列操作的基本特征如下:
*算术运算和逻辑运算序列的操作过程如图4b所示,FAU2算术运算器件需要两路操作数,其中第一路操作数直接来自数据总线TIMD总线第四线路方式输出,另一路操作数在M9信号的控制下,通过MUX9选通器也选择数据总线TIMD总线第四线路方式输出。两路数据进入FAU2运算器件进行加法或减法的算术运算并输出运算结果[AU2],[AU2]允许作为逻辑运算器件的其中一路操作数,并在M10控制下由MUX10选通器选通输入到FLOG逻辑运算器件。FLOG器件的另一路操作数来自于内部数据总线TIMD总线,这两路数据进行逻辑运算后产生的结果为[LOG],由M13控制MUX13选通器选取[LOG]作为算术、逻辑运算序列的最终结果输出。
*逻辑运算和算术运算序列的操作过程如图4c所示,FLOG逻辑运算器件需要两路操作数,其中第一路操作数直接来自数据总线TIMD总线第四线路方式输出,另一路操作数在M10信号的控制下,通过MUX10选通器也选择数据总线TIMD总线第四线路方式输出。两路数据进入FLOG运算器件进行逻辑运算并输出运算结果[LOG],[LOG]允许作为算术运算器件的其中一路操作数,在M9控制下由MUX9选通器选通输入到FAU2算术运算器件。FAU2器件的另一路操作数来自于内部数据总线TIMD总线第四线路方式输出,这两路数据进行算术运算后的结果[AU2],由M13控制MUX13选通器选取[AU2]作为逻辑、算术运算序列的最终结果输出。
*算术运算和移位运算序列的操作过程如图4d所示,FAU2算术运算器件需要两路操作数,其中第一路操作数直接来自数据总线TIMD总线第四线路方式输出,另一路操作数在M9信号的控制下,通过MUX9选通器也选择数据总线TIMD总线第四线路方式输出。两路数据进入FAU2运算器件进行加法或减法的算术运算并输出运算结果[AU2],[AU2]允许作为移位运算器件的操作数,在M11控制下由MUX11选通器选通输入到FSHIFT移位运算器件。由于移位操作是单操作数运算,因此不需要再有其它操作数,[AU2]进行移位运算后的结果[SHIFT],由M13控制MUX13选通器选取[SHIFT]作为算术、移位运算序列的最终结果输出。
*移位运算和算术运算序列的操作过程如图4e所示,FSHIFT移位运算器件只需要一路操作数,该操作数在M11信号的控制下,通过MUX11选通器选择数据总线TIMD总线第四线路方式输出。当数据进入FSHIFT运算器件进行移位运算并输出运算结果[SHIFT]后,[SHIFT]允许作为算术运算器件的其中一路操作数在,M9控制下由MUX9选通器选通输入到FAU2算术运算器件。FAU2部件的另一路操作数来自于内部数据总线TIMD BUS第四线路方式输出,这两路数据进行算术运算后的结果[AU2],由M13控制MUX13选通器选取[AU2]作为移位、算术运算序列的最终结果输出。
*逻辑运算和移位运算序列的操作过程如图4f所示,FLOG逻辑运算部件需要两路操作数,其中第一路操作数直接来自数据总线TIMD总线第四线路方式输出,另一路操作数在M10信号的控制下,通过MUX10选通器也选择数据总线TIMD总线第四线路方式输出。两路数据进入FLOG运算器件进行逻辑运算并输出运算结果[LOG],[LOG]允许作为移位运算部件的操作数,在M11控制下由MUX11选通器选通输入到FSHIFT移位运算部件。由于移位运算是单操作数运算,因此不需要再有其它操作数,[LOG]进行移位运算后的结果[SHIFT],由M13控制MUX13选通器选取[SHIFT]作为逻辑、移位运算序列的最终结果输出。
*移位运算和逻辑运算序列的操作过程如图4g所示,FSHIFT移位运算器件只需要一路操作数,该操作数在M11信号的控制下,通过MUX11选通器选择TIMD总线数据总线第四线路方式输出。当数据进入FSHIFT运算部件进行移位运算并输出运算结果[SHIFT]后,[SHIFT]允许作为逻辑运算器件的其中一路操作数,在M10控制下由MUX10选通器选通输入到FLOG逻辑运算器件。FLOG部件的另一路操作数来自于内部数据总线TIMD总线第四线路方式输出,这两路数据进行逻辑运算后的结果[LOG],由M13控制MUX13选通器选取[LOG]作为算术、逻辑运算序列的最终结果输出。
可变运算序列的设计方法不仅适应于对三个运算部件的应用,对多个运算部件也同样适用。其主要的特征在于操作数的来源可产生于任意功能部件操作的结果,而且两路操作数都可以来自任一功能算法部件运算的结果。表4-1信号名称注释TIMD ——内部数据总线INC ——加1器件的运算结果数据总线AU1 ——加、减算术运算器件1运算结果数据总线AU2 ——加、减算术运算器件2运算结果数据总线LOG ——逻辑运算器件运算结果数据总线SHIFT——移位运算器件运算结果数据总线ALU1 ——运算部件运算结果1输出数据总线ALU2 ——运算部件可变序列运算结果数据总线AU ——运算部件地址或数据偏值运算结果数据总线Rau ——偏值结果寄存器输出数据总线LRau——偏值结果寄存器锁定结果控制信号YAU1——FAU1算术运算器件运算功能控制信号YAU2——FAU2算术运算器件运算功能控制信号YLOG——FLOG逻辑运算器件运算功能控制信号YSHC——FSHIFT移位运算器件移位功能控制信号YSHB——FSHIFT移位运算器件移位位数控制信号表4-2 FAU1及FAU2器件功能表
YAU1/YAU2 |
功能 |
00011011 |
加法运算带进位加法运算减法运算带借位减法运算 |
表4-3 FLOG器件功能表
YLOG |
功能 |
00011011 |
传送操作数逻辑与逻辑或逻辑异或 |
表4-4 FSHIFT器件功能表
YSHC |
功能 |
000001010011100101110111 |
传送操作数逻辑左移逻辑右移循环左移循环右移算术右移算术左移操作数求反 |
YSHB控制移位操作中的移位位数,移位位数范围是0~31位。图5为并行寄存器堆的体系结构图
宏指令集对称式并行体系结构微处理器包含了一个对称式并行寄存器部件,如图5所示,它包括:
*两组内部数据寄存器堆,每组各含四个多位的复用数据式
的双锁存寄存器DLAT,如图2;
*内部数据总线TIMD总线通过第四线路方式输出,可与每一
个内部寄存器DLAT的输入数据端(图2,Q端)相沟通,并通
过MUX1选通输入到DLAT保存,如图5所示;
*每一个内部寄存器的数据均可经双锁存器的第二寄存器
LATCH2,以第三线路方式输出至TI总线,并汇集到内部数
据总线TIMD总线中;
*MUX_H、MUX_L数据选通器分别针对每组寄存器堆中的四个
寄存器进行选通,选择其中一个输出到MUX_H或MUX_L选通
器;
*MUX_MH、MUX_ML选通器对两组寄存器堆的输出数据进行选
通,选取其中一路至PAD_H、PAD_L;
*PAD_H、PAD_L为内部寄存器与存储器之间的数据通路结点;
*RAM_H、RAM_L为两个数据存储器。
对称式并行寄存器部件的主要特征为:
(1)结构完全对称。如图5a所示,对称式并行体系的数据寄存器FTNSF结构与控制寄存器FT、FD、FZ结构是完全对称一致的,而且每组寄存器堆的结构也是完全对称的。
(2)由多组寄存器堆构成。如图5a所示,对称式并行体系的数据寄存器FTNSF和控制寄存器FT各含有两组寄存器堆(Register Files),每组中均含四个寄存器(DLAT),各组寄存器堆可以分别独立使用,也可以联合一起使用。
(3)以复用数据式双锁存寄存器为基本结构。图5a中每一个DLAT均采用了复式双锁存寄存器结构,如图2所述。
(4)多个数据入出操作点可以完全并行操作。如图5b所示,针对每一组寄存器堆中的T、N、S、F寄存器,除有公共的数据输入端TIMD总线外,每一个都有一个独立的数据输入端D0、D1、D2、D3,通过对DLAT双锁存结构的MUX1选通器的控制,使数据可以分别并行进入到T、N、S、F寄存器中。四个寄存器第二锁存LATCH2的输出端T、N、S、F可以同时将各自的数据送至不同的数据操作点进行数据加工。
(5)可与多存储体相连。如图5所示,每一组寄存器堆均可通过数据选通器MUX_H、MUX_MH、MUX_L、MUX_ML与外部的存储器RAM_H、RAM_L相连接。MUX_H、MUX_L选通器对每一寄存器堆中的四个寄存器的数据进行选通,选取其中一个作为当前写入数据存储器的数据,通过MUX_MH、MUX_ML选通器写入数据存储器中;MUX_MH、MUX_ML接收由MUX_L和MUX_H选通输出的数据,通过PAD_H、PAD_L写入RAM_H或RAM_L存储器中。
(6)可对操作方式进行重组和重定义。通过内部超长指令寄存器标识结构(图1中FIF),可对并行寄存器的操作进行重定义。并行寄存器的操作有如下几种方式:
*并行寄存器堆
如图5b所示的并行操作,每个寄存器均可成为独立的数据寄存器,供运算部件进行并行操作。当并行数据寄存器与双运算部件FALU相结合时,可以同时提供八个操作数供双运算部件的双算术运算部件FAU1和FAU2、逻辑运算部件FLOG、移位部件FSF使用,并同时可以接收八个运算操作的结果,以多入口、多出口操作为特征。
*先进后出寄存器——堆栈操作方式(FILO)
图5c所示的是先进后出(FILO)寄存器结构,当内部超长指令寄存器标识部件FIF_FIFO和FIF_PS定义内部并行寄存器部件为FILO操作方式时,参见表5-1,该部件以FILO(堆栈)操作规则进行数据传输操作。T数据寄存器为内部数据堆栈的栈顶,F数据寄存器为内部数据堆栈的栈尾,SP指针指向存储器堆栈顶单元,SP+1指针指向堆栈存储器的次栈顶(第二项),SP-1指针指向第一个可用于入栈的空单元,F数据寄存器的内容与存储器中的栈顶单元(SP指针指向的单元)一致。
当进行入栈操作时,如图5c所示,S寄存器的数据从其双锁存器DLAT的第二锁存器LATCH2以第三线路方式输出,经过数据选通器MUX_1以第四线路方式写入存储器RAM中的SP-1单元。写入数据在时钟CLK1的负沿t1有效,并保持到下一个时钟的正沿t2。如图5d所示,在同一时钟周期内,第二或第三线路方式输入的数据Data送入T寄存器,T寄存器的数据通过第三线路方式,从该寄存器的第二锁存器LATCH2输出至N寄存器双锁存的第一数据选通器MUX_1,N寄存器的第一锁存器的数据选通器则选择第三线路方式输入的T寄存器的数据,在CLK时钟的上升沿t2处将数据锁入第一锁存LATCH1,并在CLK1下降沿t3处将该数据保存至第二锁存LATCH2。以同样的操作方式,N寄存器的数据被送入S寄存器,S寄存器的数据被送入F寄存器。因此,入栈前后内部寄存器中的数据将出现一次顺序的数据传送,如图5e所示。
当进行出栈操作时,如图5c所示,数据的流向与入栈操作相反,T寄存器的数据以第三线路方式从其双锁存器的第二锁存器LATCH2输出,同时N、S、F寄存器数据分别按第三线路方式,从各自的第二锁存LATCH2输出至T、N、S寄存器的第一锁存器之前的MUX_1选通器,在CLK时钟的上升沿t1送入第一锁存器LATCH1锁存,如图5f所示,在CLK1下降沿t2前锁存入第二锁存LATCH2中。由于存储器的读写周期大于寄存器传送时间,因此,存储器RAM的SP+1单元中数据在CLK时钟的负半周t3处才可送至F寄存器的MUX_1选通器,并在CLK时钟的上升沿t4处锁存入F寄存器的第一锁存LATCH1,在t5时才进入F寄存器的下第二锁存LATCH2。
由于F寄存器与存储器重叠,因此,在出栈操作时产生了“先用后补”的特性。存储器栈顶单元数据通过重叠寄存器F先被内部操作利用,然后经过存储器的读周期进行补充。
*先进先出寄存器——队列操作方式(FIFO)
FILO串行操作的特点是单操作点操作,数据的出、入均在堆栈栈顶进行,而先进先出(FIFO)串行操作的特点是双操作点操作:数据的入队操作在队列的尾部进行,数据的出队操作在队列的首部进行。
图5g所示的是先进先出(FIFO)寄存器结构,当内部超长指令寄存器标识部件FIF_FIFO和FIF_SP定义内部并行寄存器部件为FIFO操作方式时,参见表5-1,在该数据寄存器中,把T寄存器作为内部数据寄存器队列的首部,增加一个内部队尾指针Nil指示当前的队尾,在外部增设两个指针A和B,A指针指向存储器队列的队首,B指针指向存储器队列的队尾,A指针与FILO方式的当前地址指针共用一个寄存器SP,B指针与FILO方式的增量指针共用一个寄存器SPINC。如图5h所示,当队列为空时,Nil指针指向T,表明内部寄存器为空,A、B指针重合,指向存储器的0地址,表明存储器为空,这种状态就是FIFO操作的初始态。
数据的入队操作分两种情况进行:
(1)如图5i所示,当Nil指针值小于“100”时,表明T、N、S、F寄存器构成的内部寄存器队列中没有完全填满数据,此时,入队的数据可通过第二或第三线路方式被送入Nil指针指向的队尾寄存器,然后Nil+1,指向下一个空的寄存器。当Nil加1后等于“100”时,表明内部寄存器队列已经全部填满了。
(2)如图5j所示,在Nil指针值等于“100”、内部寄存器队列已经全部填满的情况下进行入队操作,通过第二或第三线路方式输入的入队数据,将以第四线路方式被送入B指针指向的存储器队尾单元,然后B指针经加1器INC加1,送回SPINC寄存器,指向下一个可用的存储器单元。此时,A指针(SP寄存器)保持不变。
数据的出队操作也分两种情况进行:
(1)如图5k所示,当Nil指针值小于“100”、内部寄存器队列没有完全填满时,出队操作和出栈操作类似,即通过第三线路方式的数据传送,T寄存器数据送出,N寄存器内容送T寄存器,S寄存器内容送N寄存器,F寄存器内容送S寄存器,Nil指针减1。
(2)如图5l所示,在Nil指针值等于“100”、内部寄存器队列完全填满的情况下进行出队操作,则通过第三线路方式的数据传送,T寄存器数据送出,N寄存器内容送T寄存器,S寄存器内容送N寄存器,F寄存器内容送S寄存器;存储器队列首指针A指示的单元中的数据由第一线路方式经I/O PAD和数据选通,送至F寄存器,A指针经加1器INC加1送回SP寄存器,指向下一个存储着的数据。此时,B指针(SPINC寄存器)保持不变。
FILO的数据存储模型为直线形,FIFO的数据存储模型则为环形。图5m是FIFO与FILO的存储模型图,FIFO操作是在环形的存储模型上沿同一个方向运动,操作点的不同代表不同的操作,即:当操作点指向队首时为出队操作,当操作点指向队尾时为入队操作;FILO则以栈顶为操作点,上下运动,运动方向代表不同的操作,即:当栈顶向上浮动时为入栈操作,当栈顶向下移动时为出栈操作。
*寄存器堆之间的串行操作
对称式并行寄存器不仅可以实现各寄存器之间的串、并行控制,而且还可以实现寄存器堆之间的串联与并联的操作。
寄存器堆间的串行操作是把两个寄存器组以FIFO或FILO的形式串联成一个整体,此时,与两个寄存器堆相连的存储体也被串联成一个整体,图5n给出了寄存器堆间串行的结构示意图。当TH、NH、SH、FH中都存有数据时,可以利用TL、NL、SL、FL进行扩展;当内部寄存器数据计数器指示内部两个寄存器堆均装满数据时,可以根据内部超长指令寄存器表示FIF_RFE的定义,向该寄存器堆的数据存储体扩展;当内部寄存器数据计数器指示第一存储体已装满数据时,可以再向第二存储体扩展。扩展方式是FIFO出/入数据队或FILO出/入数据栈的操作方式。
*寄存器堆间的并行操作
寄存器堆间的并行操作可以有两种方式,即数据宽度的扩展和多路数据操作的并行:
(1)数据宽度的扩展,是将两寄存器堆合并成一个双倍数据字长的寄存器堆,其中TH、NH、SH、FH为数据的字长高半部分,TL、NL、SL、FL为数据字长的低半部分,如图5o所示,此方式使数据的字长扩展了一倍,大大提高了数据运算的精度,有效地支持了高精度科学计算的需求。
(2)多路数据操作的并行,是独立数据操作的并行操作,实际上图5b所示的结构即为独立数据操作的并行结构,图中TH、NH、SH、FH和TL、NL、SL、FL构成了两个完全独立的数据实体,各自都可以进行独立的操作,互不干扰,两个寄存器堆之间的数据交换可以通过内部数据总线TIMD来实现。这种并行方式有利于不同进程的并行操作,如TH、NH寄存器的加运算与TL、NL寄存器的逻辑运算可同时进行,有效支持了可变序列运算部件的操作。数据组间的串并操作控制也是通过该微处理器体系结构的内部标识FIF_RFE来控制其定义的,如表5-3所示。
通过内部超长指令寄存器标识部件FIF_FIFO和FIF_PS的标识,宏指令集对称式并行体系可以把内部寄存器和外部数据存储器构成上述的各种操作形态,实现可编程、可重组、可重定位。表5-1 寄存器堆串并方式控制
FIF_FIFO FIF_PS |
寄存器堆操作状态 |
0 01 0x 1 |
串行操作FILO方式串行操作FIFO方式并行操作方式 |
表5-2 图5信号说明表
信号名 |
功能 |
有关图解 |
TIMD |
内部数据总线 |
5 |
TI_BUS |
内部寄存器堆总线 |
5 |
CLK |
双锁存器第一锁存器控制信号 |
5a~5r |
CLK1 |
双锁存器第二锁存器控制信号 |
5a~5r |
Nil |
内部队列尾指针 |
5j,5k,5l,5m,5n,5o |
表5-3 寄存器堆扩展方式控制
表5-4 图5操作部件说明表
操作部件 |
功能 |
有关图解 |
DLAT |
双锁存器参见《图2说明》 |
5,5a~5e,5h,5j5l,5m,5n,5o |
TNSF |
寄存器堆之一的寄存器组,可以是:TH,NH,SH,FH;TL,NL,SL,FL;IH,JH,KH,RH;IL,JL,KL,RL中的一组 |
5,5a~5r |
T_Reg_Latch1N_Reg_Latch1S_Reg_Latch1F_Reg_Latch1 |
T,N,S,F双锁存结构中的第一锁存器 |
5f,5l |
T_Reg_Latch2N_Reg_Latch2S_Reg_Latch2F_Reg_Latch2 |
T,N,S,F双锁存结构中的第二锁存器 |
5f,5l |
图6为FRD、FSD地址部件图
地址部件FSD与数据寄存器FTNSF相连接,地址部件FRD与寄存器FT相连接,如图6所示,这两个地址部件的主要特征是:利用数据重叠,解决数据连续读写操作的冗余问题。
如图6a所示,地址部件FSD和地址部件FRD为双指针结构,它们均含有一对对称的地址指针管理部件(Pointer1,Pointer2),分别指向两个存储器。每一个地址指针均包括:
*一个地址多路选通器MUX,可接受该体系结构微处理器第一、第二、第三、第四线路方式的数据输入,其中一路数据来自内部数据总线TIMD总线,另外三路数据来自当前地址指针SP、增量指针SPINC和减量指针SPDEC,MUX的选通信号MSP来自FCC译码部件或第一线路方式输入的超长指令标识格式字的控制域,MUX的输出总线AA分别连接到地址错误比较器COM、加1器INC、减1器DEC和当前地址寄存器SP;
*一个加1器INC和减1器DEC,分别用于对选通的当前地址指针进行增量和减量的计算,它们的输入均来自地址选通器MUX的输出,它们的输出分别连接到增量指针寄存器SPINC及减量指针寄存器SPDEC;
*三个可作为串行的先进先出(FIFO)、先进后出(FILO)操作方式和随机存储方式的地址指针寄存器SP、增量指针寄存器SPINC和减量指针寄存器SPDEC;
*一个指针地址溢出错误控制及分区、分页的基地址管理部件COM,用以判定当前地址指针溢出及数据分区、分页控制管理,它的输入来自地址选通器以第三线路方式输出的AA和内部数据总线TIMD总线以第四线路方式输出的数据A1,A1作为分区、分页基地址,AA作为页内地址,经COM处理后合成为物理地址输出;
*一个同步/异步控制时序转换器ASC,它在MASC信号控制下,将输入的地址指针A经过同步/异步时序控制处理,通过地址输出引脚输出到与之相连的存储器。
宏指令集对称式并行体系采用对称式并行寄存器结构,使地址部件具有以双指针结构构成数据重叠的特征。
如图6a所示,两个指针SPH和SPL分别指向两个对称的数据存储区,以便支持数据的并行处理操作。SPH和SPL分别指向存储器RAM_H和RAM_L中的将进行数据读写的存储单元,在FILO操作时,该单元内容与内部栈尾数据寄存器F内容相同,即为数据重叠。
配合超长指令寄存器标识字译码信号及数据操作重叠,在FILO存储模型中实现了数据“先用后补”的操作特征,有效控制数据入出外部堆栈存储器的操作冗余问题。如图6b所示,SP指针指向存储器中数据的入/出操作点,即FILO存储器堆栈的栈顶单元(Dn),SP-1指向下一个可用空单元,SP+1指向存储器栈顶的第二项(Dn-1),图中T、N、S、F为并行数据寄存器中的一组(参见图5a说明),是与该数据存储栈对应的内部栈顶单元。F寄存器内容时刻与存储器中SP单元保持一致,图6c为入栈时SP指针的变化情况。
当入栈操作出现时,内部栈顶寄存器S的数据通过第三线路方式送入第四项F寄存器,经过端口输出的数据同时由第四线路方式送入SP-1指针指向的栈顶空单元,通过第三线路方式N寄存器数据送入S,T寄存器数据送入N,入栈数据Data送入T。由于每个内部寄存器均采用双锁存结构(参见图二DLAT的说明),因此,以上一系列操作均可以在同一周期内完成,数据通路参见图5c说明,当完成入栈数据的装载后,SP指针自动经过图6a中的减1器(DEC)减1,指向新的栈顶单元,此时,SP单元中数据仍然与F单元保持一致。
当一个出栈操作有效时,如图6d所示,需要将存储器中的栈顶单元数据读入内部寄存器中,由于存储器栈顶单元的内容与F寄存器内容一致,因此,在出栈时不会因为存储器的读写周期大于寄存器的传送周期而引起数据传送的延误。如图6e所示,F寄存器的数据可以和S、N、T寄存器在T1周期通过第三线路方式同时完成出栈操作,出栈后结果在T2周期体现在寄存器中。FSD部件在T1周期的CLK时钟负半周产生出栈地址SP+1,经COM出错比较和ASC同步/异步控制,如图6a所示,地址指针输出引脚PAD在CLK上升沿t1处将出栈地址送存储器,进行读操作,经过一个存储器的读周期,存储器数据在T2周期的CLK时钟负半周通过第一线路方式将所读数据送入数据端口,经过数据选通FTNSF部件的F寄存器在T3周期可将所读数据保存在双锁存寄存器中。
数据重叠的应用特征是解决数据出入外部堆栈存储器的冗余操作。由于FILO为单一操作点的存储模型,数据的出入均是针对栈顶的,对于该微处理器体系结构,当出现入栈与出栈的连续操作时(即入栈→出栈或出栈→入栈),对外部存储器来说相当于无存储访问操作,数据的变化仅是在内部栈顶寄存器间进行,因此外部存储器将保持原状态,解决了频繁的存储器读/写而引起的功耗增大的问题。图6f给出了连续入出栈操作时的指针、数据变化情况。连续入出栈数据变化是依靠《图2说明》所述的控制结构产生的。
图6g是栈指针在入栈→出栈操作时的变化时序图。当出栈操作在T1周期有效时,地址选通器MUX选取SPDEC减量指针寄存器数据作为当前入栈地址输出,在T2周期将S寄存器中的数据写入该指针指向的单元之中。当出栈操作在T2周期内有效时,地址指针部件把在T2周期内执行的入栈操作废弃,将读写操作控制OE信号设置为不读不写操作,此时,栈存储器呈高阻状态,不进行数据的输出;在T2周期出栈操作控制地址指针选通器MUX选取SPINC增量指针寄存器数据,恢复入栈前指针的数据。通过入栈→出栈操作的联合作用,栈存储器数据并没有发生任何改变,数据的入出全在内部寄存器之间完成。
当出栈操作→入栈操作时,如图6h所示,出栈操作在T1周期有效,T数据寄存器第二锁存器数据以第三线路方式送出,T、N、S第一锁存器经MUX_1数据选通第三线路方式,在CLK上升沿t处将N、S、F第二锁存器的数据经第三线路方式传送到第一锁存器中;在T2周期入栈时,T数据寄存器第一锁存器通过MUX_1选通入栈数据进入第一锁存器LATCH,第二锁存器选通第一锁存器的数据在t3处更新数据,N、S、F寄存器则由译码器部件在T2周期内通过CD2端控制抑制其第二锁存器的开启,使第二锁存器仍保持原数据,上锁存则选择第二锁存器的数据恢复原数据内容,这样,经出→入栈操作后,除T寄存器更新了数据外,其它寄存器均保持原数据不变。
指针部件的操作,如图6i所示,经组合控制信号作用在T1周期出栈操作,经输出地址选通MUX选择SPINC增量指针寄存器数据输出,控制出栈的操作在T2周期执行;在T2周期经新产生的组合控制信号作用产生入栈操作时,组合逻辑则控制堆栈数据端口呈高阻态,使存储器不读不写,MUX地址选通器选择SPDEC减量指针寄存器数据,恢复原SP指针值。
当连续的入栈动作出现时,地址指针每周期减值一次,将入栈数据依次送入栈存储器中,如图6j所示。
在连续出栈时,如图6k所示,出栈数据将直接送S寄存器,以便可及时供数据运算操作使用。当入栈结束后,再对F寄存器进行补充。栈指针在连续出栈操作时顺序加1,不断将栈顶的数据读出。表6-1 图六信号说明表
信号名 |
功能 |
有关图解 |
TIMD |
内部数据总线,所有内部部件的的数据均可被送入TIMD总线 |
6,6b |
SPHASPLA |
地址指针输出数据总线 |
6,6b,6f,6h,6j,6k,6l |
MAS |
同步/异步地址控制参见《图3说明》 |
6,6b,6f,6h,6j,6k,6l |
SPHSPL |
当前地址指针寄存器数据 |
6,6b,6f,6h,6j,6k,6l |
SPINC |
增量指针数据 |
6,6b,6f,6h,6j,6k,6l |
SPDEC |
减量指针数据 |
6,6b,6f,6h,6j,6k,6l |
AA |
地址指针选通器输出信号 | |
A |
地址溢出判断COM的输出信号 | |
A1 |
来自TIMD总线的基地址信号 | |
CDTCDNCDSCDF |
T,N,S,F寄存器第一选通器选通控制信号 |
6g |
CDT1CDN1CDS1CDF1 |
T,N,S,F寄存器第二选通器选通控制信号 |
6g |
表6-2 图6操作部件说明表
操作部件 |
功能 |
有关图解 |
ASC |
地址同步、异步控制部件参见《图3说明》 |
6,6b,6f,6h,6j,6k,6l |
COM |
地址溢出判断部件 |
6,6b,6f,6h,6j,6k,6l |
MUX |
地址来源选通器 |
6,6b,6f,6h,6j,6k,6l |
SP |
当前地址指针锁存器 |
6 |
SPINC |
增量指针锁存器 |
6 |
SPDEC |
减量指针锁存器 |
6 |
TL,NL,SL,FLTH,NH,SH,FH |
FTNSFH内部寄存器堆FTNSFL内部寄存器堆 |
6a |
IL,JL,KL,RLIH,JH,KH,RH |
FTI内部寄存器堆FTJ内部寄存器堆 |
6b |
TNSF |
FTNSF寄存器堆之一的寄存器组,可以是:TH,NH,SH,FH;TL,NL,SL,FL中的一组 |
6e,6d,6e,6f,6g |
T_Reg_Latch1N_Reg_Latch1S_Reg_Latch1F_Reg_Latch1 |
T,N,S,F双锁存结构中的第一锁存器 |
6i |
T_Reg_Latch2N_Reg_Latch2S_Reg_Latch2F_Reg_Latch2 |
T,N,S,F双锁存结构中的第二锁存器 |
6i |
宏指令集对称式并行体系结构的数据端口部件FD,FZ具有配合数据输入输出进行字节交换的功能,如图7和图7a所示。字节交换部件由两个器件组成:
*FSWAPI——数据输入方式的字节交换操作器件。该器件的输入端来自第二线路方式的DIL数据总线;输出端为第三线路方式的D数据总线;控制端SWAPI来自内部超长指令寄存器标识控制部件FIF的一个子部件FIF_DHL,用于控制对数据输入进行字节交换的方式。FSWAPI器件的功能参见表7-2。
*FSWAPO——数据输出方式的字节交换操作器件。该器件的输入端来自四种线路方式的输出DSWAPO数据总线;输出端为DB数据总线;控制端SWAPO来自内部超长指令寄存器标识控制部件FIF的一个子部件FIF_DHL,用于对数据输出方式进行字节交换的控制。 FSWAPO器件的功能参见表7-3。
存储器可以简单地看成是字节的顺序阵列,每一字节都有唯一的地址,如果数据需要多于一个字节的存储,则可以把该数据存放于多个连续的字节中。多字节数据的存储有两种字节编址方式,即“小尾端”方式和“大尾端”方式。“大尾端”方式是把字的高字节放在低地址、低字节放在高地址;“小尾端”方式把字的高字节放在高地址、低字节放在低地址。
图7b是64-Bit数据123456789abcdef0H在地址a处的两种表示。
宏指令集对称式并行体系结构处理器支持“小尾端”和“大尾端”两种字节编址方式,并能选择控制操作方式的转换,这样对应用来说可以构造两种编址方式。在支持“大小尾端”方式的同时,该微处理器还可以依据程序的要求对输入输出数据进行字节变换操作,参见表7-6和表7-8。
数据输入输出方式字节交换控制子部件FIF_DHL,如图7a所示,它包括三部分:
*FIF_BE,字节使能控制信号生成器件;
*FIF_SWAPI,数据输入方式字节交换控制信号生成器件;
*FIF_SWAPO,数据输出方式字节交换控制信号生成器件。(1)FIF_BE,字节使能控制信号生成期间
FIF_BE如图7c1所示,它包括:
*MUXB1选通器,用于字节地址的数据来源选通;
*ADD_Badr增量器,用于连续数据存储操作时对字节地址的增量计算;
*DFFB1触发器,用于保存字节地址;
*GEN_BE逻辑器件,用于字节操作表示方式的转换,它是将
起始字节地址和字节宽度转换成字节使能的控制信号;
*LAT_BE锁存器,用于同步时序时对字节使能控制信号的锁
存;
*DFF_BE触发器,用于异步时序时对字节使能控制信号的保
存。其基本特征是:
在该微处理器复位周期内,RSTn信号为高电平有效,DFFB1触发器被清零,作为字节地址的初始值,该值由Badr信号线传输到MUXB1选通器的一个输入端,MUXB1的另一个输入端来自YBadr信号,由于选通信号Badr_Ins为低电平无效,使得MUXB1选通Badr,输出到ADD_Badr增量器。在复位时,CTMS15为低电平信号无效,ADD_Badr器件对输入的Badr1信号不进行增量运算,因此直接将输入信号输出,在下周期的CLK上升沿被保存在DFFB1触发器中。在复位结束时,DFFB1一直保持着字节地址的初始值。
在该微处理器复位后,当指令控制数据进行输入/输出操作时,Badr_Ins信号为低电平有效,MUXB1选通YBadr输出到ADD_Badr增量器,该器件按照表7-4对输入信号进行“大小尾”字节地址转换,在重复操作情况下进行字节地址的增量运算,并输出Badr信号到GEN_BE逻辑器件,在Size字节宽度信号的约束下转换成为字节使能信号,通过同步/异步时序的控制,输出BE信号。有关同步/异步时序控制可参见《(图3说明》。
当该微处理器完成数据输入/输出操作后,CLR信号为高电平有效,使得DFFB1重新被清零。
Badr字节地址信号还分别传送到输入输出数据字节交换控制生成器件FIF_SWAPI和FIF_SWAPO。(2)FIF_SWAPI,数据输入方式字节交换控制信号生成器件
FIF_SWAPI如图7c2所示,它包括:
*MUXI1和MUXI2两个选通器,用于程序对输入数据进行字节
交换控制的来源选通;
*DFFI1触发器,用于保存程序对输入数据进行字节交换的
控制;
*GENI逻辑器件,用于生成最终的输入数据字节交换控制;
*DFFI2触发器,用于保存最终的输入数据字节交换控制。其基本特征是:
在该微处理器复位周期RSTn内,RSTn信号为高电平有效,DFFI1触发器被清零,作为超长指令对数据输入方式进行字节交换控制的初始值,该值由SWAPI1信号反馈到MUXI1选通器的一个输入端,选通器的另一个输入端来自YSWAPI信号。由于在复位期间,SWAPI_Ins信号为低电平无效,使得MUXI1选通SWAPI1并输出到DFFI1触发器,并且在下周期的CLK上升沿被保存在DFFI1中。另外,字节使能控制生成器件输入进来的Badr信号,在复位时也被设置为零,它与SWAPI2信号一起输入到GENI逻辑器件,如表7-7所示,GENI的输出信号也为零,并在下周期的CLK上升沿保存在DFFI2出发器中,从而生成最终的输入数据字节交换控制信号SWAPI,该信号连接到FD部件中FSWAPI器件的控制端,由于此时SWAPI为零,因此FSWAPI器件仅将输入数据直接传送出去,而不进行字节交换操作。
在该微处理器复位结束后,当进行取数操作时,SWAPI_Ins信号变为高电平有效,使得MUXI1选通SWAPI1信号输出到DFFI1,并在下周期的CLK上升沿保存在DFFI1,实现了超长指令对输入数据进行字节交换控制的重新设置。与此同时,SWAPI_Ins信号控制MUXI2器件选通YSWAPI,使得当周期即可改变输出信号SWAPI2为新的设定值,在下周期SWAPI_Ins信号失效后,MUXI2又重新选回到SWAPI1,但此时,SWAPI1已经变成新设定的值。SWAPI2信号被设置之后,它与来自FIF_BE字节使能生成器件的Badr信号一起输入到GENI器件,并按表7-6进行逻辑操作,并输出结果SWAPI3信号,最后由DFFI2在下周期的CLK上升沿保存住,输出到SWAPI信号到FD部件对数据输入方式进行字节交换操作的控制。(3)FIF_SWAPO,数据输出方式字节交换控制信号生成器件
FIF_SWAPO如图7c3所示,它包括:
*MUXO1和MUXO2两个选通器,用于超长指令对数据输出方式
进行字节交换控制的来源选通;
*DFFO1触发器,用于保存程序对输出数据进行字节交换的
控制;
*GENO逻辑器件,用于生成最终的输出数据字节交换控制;
*DFFO2触发器,用于保存最终的输出数据字节交换控制。其基本特征可参考数据输入方式字节交换控制生成器件。
图7d是对输入的16位数据进行“大小尾”字节交换及程序控制进行字节交换的操作实例。初始条件如下:
Size=01, 表示数据宽度为16位;
YBadr=010, 表示字节地址为2;
YSWAPI2=01, 表示程序要求进行高低字节的交换;
BER=0, 表示为“大尾端”方式;
CTMS15N=0, 表示重复操作无效。
首先由图7c1,YBadr信号通过MUXB1选通器输入到ADD_Badr逻辑器件,由表7-4可知,输出信号Badr2为100,经过DFFB1触发器送到FIF_SWAPI的GENI器件,见图7c2。同时,YSWAPI信号的数据通过MUXI1、DFF1和MUXI2器件通路也传送到GENI器件,由表7-7可知,GENI输出信号SWAPI3为101,该数据被DFFI2保存后送到FD部件中的FSWAPI输入数据交换操作器件中,按表7-2完成数据的字节交换操作。表7-1 图7a信号注释DIL ——FSWAPI数据输入方式字节交换器件的输入数据总
线D ——FSWAPI数据输入方式字节交换器件的输出数据总
线SWAPI ——FSWAPI数据输入方式字节交换器件的控制信号DSWAPO ——FSWAPO数据输出方式字节交换器件的输入数据总
线DB ——FSWAPO数据输出方式字节交换器件的输出数据总
线SWAPO ——FSWAPO数据输出方式字节交换器件的控制信号BE ——字节使能控制信号Badr_err——字节地址错误信号表7-2 FSWAPI数据输入方式字节交换器件功能表
SWAPI |
DIL<63:0> |
D<63:0> |
000001010011100101110111 | ABCDEFGH |
ABCDEFGHBADCFEHGCDABGHEFDCBAHGFEEFGHABCDFEHGBADCGHEFCDABHGFEDCBA |
注:表中字母A代表DIL<63:56>,字母B代表DIL<55:48>,
字母C代表DIL<47:40>,字母D代表DIL<39:32>,
字母E代表DIL<31:24>,字母F代表DIL<23:16>,
字母G代表DIL<15:8>,字母H代表DIL<7:0>。表7-3 FSWAPI数据输出方式字节交换器件功能表
SWAPO |
DSWAPO<63:0> |
DB<63:0> |
000001010011100101110111 | ABCDEFGH |
HHHHHHHHGGGGGGGGGHGHGHGHEFEFEFEFEFGHEFGHABCDABCDABCDEFGHEFGHABCD |
注:表中字母A代表DSWAPO<63:56>,字母B代表DSWAPO<55:48>,
字母C代表DSWAPO<47:40>,字母D代表DSWAPO<39:32>,
字母E代表DSWAPO<31:24>,字母F代表DSWAPO<23:16>,
字母G代表DSWAPO<15:8>,字母H代表DSWAPO<7:0>。表7-4 ADD_Badr字节地址增量计算功能表
Badr1 |
CTMS15N BER Size |
Badr2 |
000~111 |
0 0 00011011 |
Badr1<2:0>求反Badr1<2:1>求反Badr1<2>求反Badr1<2:0> |
000~111 |
0 1 00011011 |
Badr1<2:0> |
000~111 |
1 0 00011011 |
(Badr1+1)<2:0>求反(Badr1+2)<2:1>求反(Badr1+4)<2>求反Badr1<2:0> |
000~111 |
1 1 00011011 |
Badr1+1Badr1+2Badr1+4Badr1<2:0> |
表7-5 GEN-BE字节使能生成器件功能表
Size |
Badr |
BE |
Badr_err |
00 |
000001010011100101110111 |
01h02h04h08h10h20h40h80h |
00000000 |
01 |
000010100110xx1 |
03h0ch30hc0hxxh |
00001 |
10 | 000100x01x10x11 | 0fhf0hxxhxxhxxh | 00111 |
11 |
000xx1x1x1xx |
ffhxxhxxhxxh |
0111 |
表7-6 SWAPI2超长指令控制数据输入方式字节交换的功能表
SizeSWAPI2 | 00 | 01 | 10 | 11 |
00011011 |
不交换保留保留保留 |
不交换高低字节交换保留保留 |
不交换高低16位交换高低字节交换保留 |
不交换高低32位交换高低16位交换高低字节交换 |
表7-7 GENI逻辑器件功能表
Size |
SWAPI2 |
Badr |
SWAPI3 |
00 |
00 |
000~111 |
Badr |
01 |
0001 |
xx0 |
BadrBadr+1 |
10 |
000110 |
x00 |
BadrBadr+2Badr+1 |
11 |
00011011 |
000 |
BadrBadr+4Badr+2Badr+1 |
表7-8 SWAPO2超长指令控制数据输出方式字节交换的功能表
SizeSWAPI2 | 00 | 01 | 10 | 11 |
01 |
不交换保留 |
不交换高低字节交换 |
不交换高低16位交换 |
不交换高低32位交换 |
表7-9 GENO逻辑器件功能表
Size |
SWAPO2 |
Badr |
SWAPO3 |
00 | 01 | 000~111 | 000001 |
01 |
01 |
xx0 |
010011 |
10 |
01 |
x00 |
100101 |
11 |
01 |
000 |
110111 |
图7b 64-Bit数据123456789abcdef0H在地址a处的两种表示。
“大尾端”方式 “小尾端”方式(BiG Endian) (Small Endian)
宏指令集对称式并行体系结构的数据端口部件FD,FZ具有配合输入的数据进行不同数据宽度的相等比较功能,从而可以实现字符查找及字符串匹配等操作,如图7所示。字符及字符串比较控制部件由FSCAN器件组成:
*FSCAN——数据相等比较器件。该器件有三个输入端,分别来自第一线路方式的IL数据总线、第二线路方式的D数据总线和第四线路方式的TIMD内部数据总线。输出端是:FLAGd信号,用于相等比较的标志;SNO信号,表示数据相等的字节位置,该信号仅在FLAGd为高电平时有意义。FSCAN还有三个控制端,分别是SCOMP、STRING和SCAN信号,其中:控制信号SCOMP用于控制相等比较操作中的数据有效宽度,它来自超长指令控制部件FIF的一个子部件FIF_SCOMP。FSCAN器件的功能参见表7-10。
FIF_SCOMP控制子部件,如图7e所示,它包括:
*一个选通器MUX,用于数据相等比较方式的来源选通;
*一个触发器DFF,用于数据相等比较方式的保存。FIF_SCOMP控制子部件的基本特征是:
在该微处理器复位周期内,RSTn信号为高电平有效,DFF触发器被清零,设置数据相等比较操作方式的初始值,该值由SCOMP信号线传输到MUX选通器的一个输入端,MUX的另一个输入端来自YSCOMP信号,由于在复位期间,选通信号SCOMP_Ins为低电平无效,因此MUX选通SCOMP作为输出并传送到DFF触发器的输入端,并在下周期的CLK上升沿被保存在DFF触发器中。在复位结束时,DFF一直保持着比较操作方式的初始值“零”,其输出信号SCOMP连接到FD部件中的数据相等比较器件FSCAN,由表7-10可知,此时的数据比较方式为全64位比较,但由于在复位期间,STRING和SCAN信号均为低电平无效,因此FSCAN的输出信号FLAGd和SNO也为为低电平无效。
在该微处理器复位结束后,对数据比较方式操作进行设置,SCOMP_Ins信号变为高电平有效,使得MUX选通YSCOMP信号输出到DFF触发器,并在下周期的CLK上升沿保存到DFF中,从而实现对数据比较操作方式的设置。新设置的值通过DFF的输出线SCOMP连接到FD部件的数据相等比较器件FSCAN,进行比较操作的控制。
当FSCAN的两个控制信号STRING和SCAN均为低电平无效时,FSCAN器件的输出信号FLAGd为低电平,SNO信号可为任意值但无意义。
当STRING信号为高电平有效而SCAN信号为低电平无效时,FSCAN器件选取第一线路方式的IL数据总线和第二线路方式的D数据总线上的数据进行相等比较操作。如表7-10所示,当SCOMP等于“1000”表示64位数据中的低32位相等比较的结果有效,也就是FSCAN将[IL]和[D]的低32位进行相等比较,如果相等,则FLAGd为高电平,如果不等,则FLAGd为低电平。在STRING信号有效的比较操作中,SNO信号一直无意义。在SCOMP为其它值时,操作类似。
当STRING信号为低电平无效而SCAN信号为高电平有效时,FSCAN器件选取第一线路方式的IL数据总线和第四线路方式TIMD内部数据总线上的数据进行相等比较操作。如表7-10所示,当SCOMP等于“0010”,此时表示为8位数据相等的查找方式,也就是FSCAN将[TIMD]的低8位数作为目标字串(或看作两个BCD码),与[IL]的8个字符(64位)分别进行相等比较。当[IL]的8个字符中有一个或多个字符与目标字符相等时,FLAGd信号将变为高电平,SNO信号指示出相等字符的字节位置;若有多个字符相等时,SNO表示的是第一个相等字符的字节位置(相等比较的有效顺序是从低字节到高字节);当[IL]的8个字符中没有一个字符与目标字符相等时,FLAGd信号为低电平,SNO信号可为任意值但无意义。表7-10 FSCAN数据相等比较器件功能表
STRING |
SCAN |
SCOMP |
FLAGd |
SNO |
0 |
0 |
0000~1111 |
0 |
无效 |
0 |
1 |
0000 |
[IL]与[TIMD]进行全64位相等比较。当相等时,FLAGd=1;当不相等时,FLAGd=0 | 000 |
0010 |
[IL]低8位与[TIMD]八个8位数分别进行相等比较。当有一个或多个8位数相等时,FLAGd=1;否则FLAGd=0 |
000~111SNO为第一个相等的8位数的字节位置 |
0100 |
[IL]低16位数与[TIMD]四个16位数分别进行相等比较。当有一个或多个16位数相等时FLAGd=1;否则FLAGd=0 |
xx0SNO为第一个相等的16位数的字节位置 |
1000 |
[IL]低32位数与[TIMD]两个32位数分别进行相等比较。当高32位或低32位与[TIMD]低32位相等时,FLAGd=1;否则FLAGd=0 |
000或111[TIMD]低32位与[IL]低32位相等时SNO=000;[TIMD]低32位与[IL]高32位相等时SNO=000 |
1 |
0 |
0000000100100011010001010110011110001001101010111100110111101111 |
[IL]与[D]64位全相等时为1[IL]与[D]低4位相等时为1[IL]与[D]低8位相等时为1[IL]与[D]低12位相等时为1[IL]与[D]低16位相等时为1[IL]与[D]低20位相等时为1[IL]与[D]低24位相等时为1[IL]与[D]低28位相等时为1[IL]与[D]低32位相等时为1[IL]与[D]低36位相等时为1[IL]与[D]低40位相等时为1[IL]与[D]低44位相等时为1[IL]与[D]低48位相等时为1[IL]与[D]低52位相等时为1[IL]与[D]低56位相等时为1[IL]与[D]低60位相等时为1 |
无效 |
宏指令集对称式并行体系复式对称的分体存储结构中,对称的每组数据端口的两条数据总线具有操作方式可选择的特征,可以选择独立使用或合并使用两种方式进行数据的输入/输出操作。
通过内部超长指令寄存器标识部件FIF的定义,每组数据端口的两条数据总线分别连接不同的存储体或其它设备,在一个机器周期内产生的数据输入,是该数据端口总线独立使用的操作方式,如图7f所示。
通过内部超长指令寄存器标识部件FIF的定义,每组数据端口的两条数据总线连接同一个存储体或同一个设备,在一个机器周期内产生数据输入,是该数据端口总线合并使用的操作方式,如图7g所示。
对于数据总线使用方式的控制是通过两个途径实现的:
(1)复位时,由外部硬联线标识逻辑定义
(2)执行时,由外部超长指令标识字控制
通过外部硬联线标识逻辑可对数据总线的操作方式进行选择定义,在复位时由外部硬联线标识逻辑定义数据总线使用方式的控制,如图7h所示。在该微处理器复位前,将微处理器外部硬联线标识逻辑中的STRC_PIN<2:0>进行跳接线设置,选择当前微处理器数据端口的总线与外部设备或存储器的连接方式。STRC_PIN<2:0>定义如表7-11所示。
当该微处理器与外部设备或存储器构成合并使用方式时,如图7g,存储器RAM_A同时与FD端口的FRD和FRR数据总线相连接,构成了一个双倍数据总线宽度的存储总线,且微处理器复位后的初始化程序也存于RAM_A的复位地址单元addr_rest处。此时,STRC_PIN<2:0>信号用跳接线设置成“010”状态。当微处理器复位时,如图7所示,外部引脚STRC_PIN<2:0>的信号将被读入微处理器的内部超长指令寄存器标识部件FIF中的寄存器STRC_REG中,并将该寄存器数据STRC送至FRST和FPCA部件中。根据STRC信号状态,复位操作部件FRST将控制FPCA地址部件产生系统复位引导地址addr_rest,并从地址端口FPCA_addr把复位地址送至RAM_A中,从addr_rest单元中读取复位初始化的第一条指令,从FD部件的FDR、FRR数据总线上送入微处理器芯片内部,经过DLAT锁存后从Q1、Q2总线输出至FCC译码部件,进行译码执行。
当该微处理器与外部设备或存储器构成如图7g的使用方式,复位引导程序存放于与微处理器FZM端口相连的外部设备或存储器中,且连接方式也为合并使用方式,此时,微处理器在复位前用跳接线将STRC_PIN<2:0>设置成“110”状态。当微处理器复位时,如图7所示,外部硬联线标识逻辑中的STRC_PIN<2:0>的值被读入微处理器内部超长指令寄存器标识部件FIF中的寄存器STRC_REG中,并控制地址部件YPCA生成复位地址addr_rest,通过YPCA_addr地址端口,送至RAM2中,从addr_rest单元处读取复位引导程序的第一条指令,通过FZM、FMM端口进入双锁存器DLAT中,在CLK时钟的上升沿从Q1、Q2端输出至FCC译码电路译码执行。
当存储器或外部设备与该微处理器的连接方式如图7f所示时,表明存储器或外部设备采用独立操作方式使用数据总线。此时,如果复位引导程序在RAM_A中,则将STRC_PIN<2:0>设置为“000”状态,微处理器复位操作时如图7所示。FIF部件将根据STRC_PIN<2:0>状态填写STRC_REG,并控制FPCA地址部件生成复位地址addr_rest,并将该地址传送到FD部件中与FCC控制译码部件产生的复位引导指令INS_Rset一起,形成一个引导请求指令,并分成两个周期将该指令发出,该指令格式形态如图7i所示,它是一个双倍数据总线宽度的指令,在第一周期先将引导请求信号REQ_C置为有效(为“0”),并将复位引导请求指令的第一格式(Format_1)通过FRD端口送向RAM_A,该格式将包括取数地址、大小等信息。在第二周期再将复位引导指令的第二格式(Format_2)通过FDR端口送向RAM_A,该格式主要包含一些状态设置的指令。当发出复位引导请求指令之后,微处理器将处于等待状态,等待数据有效的信号C_REQ有效,然后将RAM_A发送到FDR端口的复位指令读入FD部件的DLAT锁存器中,并从该锁存的上锁数据端Q处将指令送FCC译码部件执行,如图7j所示。
当存储器或外部设备以独立操作方式使用数据总线,且STRC_PIN<2:0>的状态被设置成“001”时,表明该微处理器的复位引导程序存放于RAM_B中,如图7f所示,微处理器将从RAM_B中读取复位引导程序的第一条指令,进行初始化,因此,在微处理器复位时,复位地址将由FPCA部件生成,通过FPCA_Addr地址端口送至RAM_B存储器中读取addr_rest单元中的指令,经FRR端口送入FCC部件译码执行,如图7所示。
当存储器或外部设备以独立操作方式使用数据总线,且STRC_PIN<2:0>的状态被设置成“100”时,表明该微处理器的复位引导程序存放于RAM_C中,如图7f所示,此时复位引导过程与STRC_PIN为“000”状态类似,只是复位地址将由YPCA产生,与复位指令一起通过FZ部件的FZM端口用两个周期送至RAM_C,并等待引导指令有效后执行复位操作。
当存储器或外部设备以独立操作方式使用数据总线,且STRC_PIN<2:0>的状态将被设置成“101”时,表明该微处理器的复位引导程序存放于RAM_D中时,如图7f所示,在复位时,复位地址将由YPCA产生,经YPCA_addr端口送入RAM_D读取Addr_rest单元中的指令,经FMM端口送入FCC部件译码执行。
通过外部超长指令标识格式字可以对内部状态进行动态重定义。指令操作控制是根据数据传送操作的需求进行的,它对数据传送操作时的数据通路进行管理,可以定义以下几种数据传送通路,如图7k所示:
*D_R_MOV——FDR端口与FRR端口之间的数据传送;
*D_Z_MOV——FDR端口与FZM端口之间的数据传送;
*R_Z_MOV——FRR端口与FZM端口之间的数据传送;
*D_M_MOV——FDR端口与FMM端口之间的数据传送;
*R_M_MOV——FRR端口与FMM端口之间的数据传送;
*Z_M_MOV——FZM端口与FMM端口之间的数据传送;
*DR_ZM_MOV——合并总线使用时,FD部件与FA部件之间的
数据传送。
当D_R_MOV时,如图7l所示,由FPCA发出读数据地址的双格式读请求指令,第一周期将该地址从FDR端口发出,第二周期发出读指令,当读数据有效时,FPCA部件将写地址从FPCA_addr端送出写数据由FRR端口送出,写入RAM_B中。当合并总线传送时,读写地址分别由FPCA、YPCA通过地址端口FPCA_addr、YPCA_addr发出,数据将从FDR、FRR端一起经内部数据总线TIMD送到FZM、FMM输出,或由FZM、FMM送至FDR、FRR输出。
各端口之间的数据传送操作均与上两种方式类似。表7-11 STRC_PIN状态控制表
TRC_PIN<2:0> |
状态定义 | 信号来源 |
数据总线状态 |
复位引导状态 | 来自外部硬件标识信号输入引脚STRC_PIN |
000 | 数据总线独立使用 | 从FDR端口引导 |
001 |
数据总线独立使用 |
从FRR端口引导 |
010 |
数据总线合并使用 |
从FD端口引导 |
011 |
保留 |
保留 |
100 |
数据总线独立使用 |
从FZM端口引导 |
101 |
数据总线独立使用 |
从FMM端口引导 |
110 |
数据总线合并使用 |
从FZ端口引导 |
111 |
保留 |
保留 |
表7-12 图7f~7s信号说明表
信号名 |
功能 |
定义 |
有关图解 |
STRC_PIN |
外部状态控制信号定义控制数据总线的操作方式 |
参见表7-11 |
7h~7s |
STRC |
内部状态寄存器STRC_REG的输出信号控制数据总线的操作方式 |
参见表9-1 |
7h~7s |
CLK |
数据上锁存控制时钟 |
CLK=0,数据进入DLAT上锁存CLK=1,DLAT上锁存保持不变 |
7i,7j,7l,7n,7o,7r,7s |
LDR |
FDR输入双锁存的下锁存控制信号 |
LDR=1,上锁存数据可进入下锁存中LDR=0,下锁存保持不变 |
7i,7j,7l,7o,7r,7s |
LRR |
FRR输入双锁存的下锁存控制信号 |
LRR=1,上锁存数据可进入下锁存中LRR=0,下锁存保持不变 |
7i,7j,7l,7o,7r,7s |
Q1 |
FDR、FRR、FZM、FMM部件数据输入双锁存的上锁存控制信号 |
作为当周期输入的指令进入FCC译码部件 |
7i,7j,7l,7o,7r,7s |
表7-13 图7f~7s操作部件说明表
操作部件 |
功能 |
有关图解 |
FRR、FDR |
FD端口的两条数据I/O总线控制部件 |
7h~7s |
FZM、FMM |
FZ端口的两条数据I/O总线控制部件 |
7h~7s |
FPCA |
FD端口数据访问地址生成部件 |
7h~7s |
FCC |
宏指令集并行体系三维乒乓译码器参见《图9说明》 |
7h~7s |
YPCA |
FZ端口数据访问地址生成部件 |
7h~7s |
MUX |
多路数据选通器 |
7h~7s |
FIF |
内部状态标识控制部件 |
7h~7l,7o~7s |
FSWAPO |
输出数据字节交换控制部件 |
7i,7j,7l,7o,7r,7s |
FSWAPI |
输入数据字节交换控制部件 |
7i,7j,7l,7o,7r,7s |
FDH2 |
字节访问大小尾控制部件 |
7i,7j,7l,7o,7r,7s |
FSCAN |
字节比较控制部件 |
7i,7j,7l,7o,7r,7s |
DLAT |
输入数据双锁存器 |
7i,7j,7l,7o,7r,7s |
FDIF |
指令预处理部件 |
7i,7j,7l,7o,7r,7s |
FALU |
运算部件 |
7i,7j,7l,7o,7r,7s |
DFF |
数据输出控制寄存器 |
7i,7j,7l,7o,7r,7s |
图8为超长指令控制体系结构图
超长指令控制体系是一种标识体系,它由内部寄存器标识体系和外部存储器标识体系以及硬联线标识构成,在应用中的表现形式是一种类似汇编语言但语义层次较高的宏语言。其重要应用特征是:
该体系宏语言的程序设计必须依据该体系结构的全部特征,分别将人类操作行为的基本要素设计于超长指令控制体系的外部硬联线标识、外部存储器标识和内部寄存器标识的共同作用中。
重要的应用方法如图8所示:
(1)高级系统软件工程师首先要分析人类操作行为的特征,分出这些特征是由哪些硬体结构和操作结构组成的,哪些操作是具有并行性、顺序性和相关性特征,哪些特征是重用或冗余的操作,并将人类操作行为需求的高层语义、语法、语用关系分别分解成独立的相关操作、冗余操作、重用操作、串行操作、并行操作、控制操作、计算操作和存储操作。
(2)进行该体系结构运行方式的选择,确定支持上述操作需求的体系结构的组织及结构的定义。
(3)通过超长指令控制体系表现的设计规则(拼装、替换、排序、延时、优化和流水线控制),将该高级行为过程排列、组合,使之成为可以在一个周期或多个周期运行过程中执行的操作代码流,该代码流将整体反映需求的要素,包括用确定的数据结构(如支持高级语言LISP、FORTH、FP等的数据结构)描述的每一个行为的需求要素的运行时态关系、体系结构、逻辑操作和组织控制关系。
(4)通过编译软件或人工编码,将所确定使用的数据结构反映的操作要素编译或设计成宏指令集对称式并行体系宏语言的代码流,从而形成超长指令控制体系的标识代码序列,通过该体系选择定义的数据端口输入到该微处理器中,实现控制操作。
事实上,宏指令集的所有宏语言代码,在设计时已根据上述方法产生,并提供于有关使用手册中。
宏指令集对称式并行体系不是依据基本指令导向而产生控制和代码设计,而是根据体系的特征及对该特征的有效组合、加工、拼装,使之反映高级行为操作需求而形成控制和代码设计。
宏指令集对称式并行体系结构的表现形式——宏语言是该体系结构所有特征的综合表现和反映,如图8a所示。其重要特征是:
*利用存储器存储数据的特征,将功能需求标识的特征、长指令标识体系的控制、内部各部件结构、数据通路的关系反映在外部存储器标识体系中;
*外部存储器标识体系可存储被设计的操作行为,在使用该体系时的所有元素的操作特征。这些特征包括相关操作、冗余操作、重用操作、串行操作、并行操作、控制操作、计算操作和存储操作的多位组成的标识控制域,它们按超长指令控制体系应用标识的规则被设计成为连续的、多个多位存储方式的、符合超长指令控制体系的代码字序列,并依体系的机器周期时序,通过数据端口输入到译码器,产生外部标识、内部标识、超长指令逻辑控制部件FDIF以及译码器FCC的组合逻辑控制信号,将操作行为的基本需求形成计算机控制过程的信号,传送到该体系的各个操作部件,反映出宏指令集对称式并行体系宏语言的语义、语法、语用关系,在《图10》中将有详细阐述。
*外部标识体系还包括通过硬件线路的跨接线的选择设置方式,直接输入该微处理器,产生在复位期间对该体系结构初始化状态的确定,在《图12》中将有详细阐述。
*内部寄存器标识体系利用寄存器存储信息的作用,定义内部体系结构的组织关系、逻辑关系和操作关系,构成超长指令控制体系对硬件结构的控制、约束。内部寄存器标识体系是超长指令控制体系沟通人机界面操作关系的重要组成部分。
内部超长指令寄存器标识体系可通过外部超长指令体系进行编程设计,选择操作方式、控制方式及基本结构定义,使硬件组织操作和控制的过程及对软件相关处理的流程,经外部超长指令存储标识体系给予动态的设定和改变,有效控制内部功能部件的操作,反映所有部件被控制的操作条件、数据通路和体系状态。
内部超长指令标识体系的重要特征是:
*利用寄存器的形式,通过外部超长指令标识体系的输入、装载及选择定义的方式,控制部件的逻辑关系、组织关系和操作关系;
*通过寄存器标识的输出信号,结合外部存储标识体系的数据,实现与译码器共同产生组合逻辑控制的信号,实时反映宏语言原语功能。
关于内部超长标识控制体系的作用,已在《图3-7,9》中详细阐述。
超长指令控制体系的表现形式将依据对计算机操作的基本行为要素组成,且由外部硬联线标识、外部存储器标识、内部寄存器标识共同组成,共同产生作用。
如图8b,8c,8d及表8d1~8d30所示,宏指令集对称式并行体系结构实现了一种超长指令控制体系的标识体系、标识格式、标识控制域,及其功能的拼装、替换、排序、延时、测试和编码的宏加工操作,产生了作用于该体系硬件的结构、组织、控制和逻辑关系的改变,使之相互作用,使硬件、软件的体系结构可被重组和宏加工,这些特征使该体系在运行时支持复杂的、有序的或无序的、确定性或不确定性算法的、多种数据结构的、多种应用要求的操作及直接反映行为操作过程。
超长指令控制体系的第一特征是:
*超长指令控制体系的外部硬连线标识体系的表现形态是依据每个标识线或每组标识线的组合逻辑关系而形成的标识控制,其应用特征仅在该体系复位期间产生对该体系的控制作用,如图8b所示及《图12》所述。
*超长指令控制体系的内部标识寄存器体系标识格式的表现形态是以寄存器或锁存器来反映对所有内部结构、逻辑、控制和操作的标识。
其应用特征在于:
(1)所有的标识可被存储和修改;
(2)在内部标识寄存器体系中依据了每个标识格式控制域的状态代码,产生对体系结构标识的作用,如图8c所示及《图2~7,9》所述。
超长指令控制体系的外部存储标识格式分为三种表现形态,如图8e所示:
(1)单指令标识格式操作体系。其基本特征是指令操作的过程是独立的,可在一个时钟周期内完成控制;其指令标识格式的宽度为一条数据总线的宽度。
(2)双指令标识格式操作体系。其基本特征是指令操作的过程具有相关和并行操作的特征,当相关操作时,将用三个时钟周期完成控制;当并行操作时,可由二个时钟周期完成控制。其指令标识格式的宽度等于数据总线宽度的一倍。
(3)多指令标识格式操作体系。其基本特征是指令的操作过程产生数据冲突、资源相关,需要用多个时钟周期完成,其指令宽度为n条数据总线的宽度,且需要用n+1周期完成。
超长指令控制标识体系在标识格式和标识控制域两个方向上实施控制和标识。一是控制标识控制域的的拼装、替换、排序和延时,二是控制标识格式的组合拼装,以形成外部流水线操作和优化操作的设计。
如图8f所示,外部存储器标识体系的三种指令标识格式在设计时本身具有拼装方式和组合方式:
*单指令格式可拼装在双指令格式的第二指令格式或多指令格式的第二、三格式中,这种拼装方式表现了行为操作中,以一个数据的通讯操作为主,同时完成一个或二个独立行为的数据或指令操作行为的过程;
*双指令格式可自身拼装于双格式或多指令格式的第二、三格式中,这种拼装方式反映了行为操作中有多个相关操作需求的过程,且在时序上也有相应的要求,它是行为操作的流水线设计;
*多指令格式可进行自身拼装且可进行混合拼装,这种拼装方式在更大程度上反映了相关操作、冗余操作、重用操作、独立操作、并行操作、顺序操作在外部格式的表现形态,其结构的不同组合及拼装,将使人类操作行为形成外部控制、优化和流水线操作。
如图8f1,2,3所示,多种组合方式将对应形成多种宏语言原语。
一个立即数存储操作,是宏语言原语的基本成分,因操作独立,其超长指令外部存储器标识体系为单格式控制操作体系。
如图8f1所示,该宏语言原语在存储器的表现形式为占一个指令字,单指令标识格式中包含了被存储的立即数据,该指令从选择的数据端口读入到译码器后,可在单周期执行操作。
当宏语言原语通过寄存器寻址方式进行寄存器方式取数和立即数存取同时发生时,也构成宏语言的原语成分。这时,一个单格式指令被拼装于双指令格式中。
如图8f2,在外部存储器表现中,该宏语言原语为双指令标识格式字的操作,占二个指令字,以寄存器寻址的数据在存储体的某一个位置a上。在标识格式中,单指令标识格式被拼装在双格式指令标识的第二格式中。如时序图表现,第一指令标识格式在第一周期时产生了以寄存器方式寻址的控制操作;在第二周期,第二指令标识格式,即一个单指令标识格式完成立即数取数操作;在第三周期,完成以寄存器寻址方式从存储器a当中取得了数据。由此,一个指令格式的拼装反映了独立和并行操作的过程和控制语言宏加工的过程。
更高层次的宏语言原语还可通过时序相关的指令格式拼装产生。
以1/2算法进行区间逼近,实时选择控制操作的宏语言原语,是一种反映相关操作(条件操作)和并行操作的特征,其功能需求为:
将一个以R寄存器指示的立即数值C在区间(A,B)进行比较,
*若C在[A,B]区间,则(A+C)/2,赋值A;以寄存器方式寻址取数,并调用子程序1;
*若C不在[A,B]区间,则求取A,B,C最大、最小值,作为A和B,调整R寄存器地址指针为增量,并调用子程序2。
以1/2算法进行区间逼近实时选择控制操作的宏语言原语操作的程序模型为:
IF(PERIOD A,B→C) /测试C在[A,B]区间
THEN A=(A+C)/2,CALL 1 /满足
ELSE MAXMIN(A,B,C),R=R+1,CALL 2/不满足
如图8f3所示,该原语的存储标识形式占用两个指令标识字,三个时钟周期完成,是一种标识格式混合拼装形式。由图8a描述可知,该指令的第一个周期,完成C在[A,B]区间的比较,产生一个比较后的状态,被传送到第二个周期,同时以寄存器N寻址方式取数的地址N在第二个时钟周期的上沿发出,进行数据读入,在第二个时钟周期内,已经获得比较后的条件结果状态,此时:
*当条件满足时,选择子程序1的地址入口值,在第三个时钟周期的上沿发出,同时保存当前地址指针PC+2,完成(A+C)/2,并赋值A的操作。在第三个时钟周期,将子程序入口指针增量,在第四个时钟周期上沿发出,并进行以寄存器N寻址读入的数据处理操作,作为子程序1的入口参数,该操作完毕。
*当条件不满足时,在第二个时钟周期内将选择子程序2的地址入口值,在第三个时钟周期的上沿发送,同时保存当前地址指针PC+2,完成A,B,C三数最大、最小值的操作处理。在第三个时钟周期,删除以寄存器N方式寻址获得的数据,调整R值的入口指针,使其指向C1,将子程序2入口指针增量在第四个时钟周期上沿发出,该宏语言的原语执行完毕。
宏语言的宏加工进程所产生的高层次语义与指令标识格式的拼装相关,在拼装过程中,可形成外部流水线及其优化操作。
超长指令控制体系的外部标识体系的另一重要特征是:
*该体系标识格式的重新组合是在操作过程中因相关操作、冗余操作、控制时间序列的要求而产生的多种组合形式,该组合和由此形成的超长指令控制字序列在执行时是一种类似于外部超级流水线操作结果的反映。
*该体系标识格式中标识控制域的重新组合是在操作过程中因顺序操作或平行操作过程的要求而产生的多种组合形式,该组合和由此形成的超长指令控制流在执行时是一种类似于外部微码优化设计结果的反映。
超长指令外部标识格式字由多个、多位的标识控制域组成,每个标识域可产生多种编码,多个标识控制域配合每个域的每种编码可构造多种宏语言的原语功能操作,不同应用需求构成的宏语言的语义及其指令序列,都可以产生出多种指令标识格式的组合及对应各功能部件操作控制的过程。
如图8g所示,在指令标识体系中,所有指令标识格式中均有指令/数据控制域和随机地址指针保护/非保护控制域。指令/数据标识控制域的作用是该指令将指示下一周期从数据端口读入的操作为指令或数据,产生译码控制使数据/指令分离(当数据、指令均来自于一条数据总线时)。保护/非保护控制域的作用是指该指令执行时是否保护下一条指令的存储地址。
当指令标识格式控制域的保护/非保护和指令/数据域的编码选择指令和存储现场的保护时,图8f2所示的宏语义的原语操作改变成为——取立即数后转子程序的操作如图8g1所示。
当指令标识格式中的指令/数据域编码选择数据时,图8f1所示的宏语义的原语操作改变为——从指令下一存储单元取数的操作,如图8g2所示。
当指令标识格式中指令/数据的编码选择指令时,图8f3以寄存器N寻址方式的宏语义取数操作改变为——在调用子程序1之前的一个指令插入操作或优化当前子程序地址第一条指令的操作,如图8g3和图8g4所示。
如图8a所述,超长指令体系硬件、软件的宏加工包括指令与指令间、标识格式与标识格式之间、标识控制域与标识控制域之间,以及标识控制域编码选择均可反映宏语言原语的宏加工过程。
在超长指令控制体系中,代表计算机基本宏语言功能的外部超长指令存储器标识体系是由若干标识控制域构成的,每个域是与人类操作的基本元素相对应的且计算机可以识别的一个完整的操作功能。标识控制域通过拼装、替换、排序、延时等方式来构造多种应用功能的宏语言的原语。
超长指令控制体系标识格式域的应用特征如下:
*标识控制域在长指令标识格式中的拼装,是以硬件资源冗余和可并行利用为基础,以高层语义功能为目标的一种实现方式。
如图8h所示,当确定的应用行为经如图8所述的设计过程后,根据长指令拼装域的作用,将标识控制域按拼装域的规则编排到超长指令标识格式中,形成宏语言代码。
一个超长指令标识控制体系,由若干标识控制域组成,其宽度等于数据总线的一倍。标识控制域反映了所有硬件体系结构的特征,但一个指令字的长度是有限的,不能将所有被标识的控制拼装于一个指令字中,因此拼装的过程类似于一个计算机体系,具有各种指令格式的特征,由于拼装域的选择,可以在某种标识指令格式中派生出多种控制域组合形式。
其重要特征是:
(1)标识控制域在长指令标识格式中的操作位置可依拼装域
的控制而选择;
(2)标识控制域在长指令标识格式中的操作顺序可依拼装域
的控制而选择。
*标识控制域在长指令标识格式中的替换,是以硬件资源的重用和动态改变操作关系为基础,以满足多种应用需求为目标的一种实现方式。
如图8i所示。当行为操作需要硬件资源重用、数据重用时,将根据长指令标识控制域中替换域的作用,使外部长指令标识格式与内部寄存器标识格式相互替换,实现控制内外标识控制域交替产生对体系结构及运行状态的作用。
如图所示,替换有二个重要操作:
(1)外部超长指令存储标识体系当中的指令标识控制域,与内部以寄存器形成的标识控制域共同存在时,外部存储器标识体系的控制操作域的操作将可替代内部寄存器标识体系的控制操作域标识的作用,使该体系结构依据外部存储标识改变体系结构的操作方式;
(2)当外部超长指令标识体系的指令标识格式中,没有拼装完整的标识控制操作时,可指示使内部寄存器标识体系的控制域产生作用,也可屏蔽内部寄存器标识体系的控制域发生作用,使之成为初始状态。
其重要特征是:
(1)可在指令标识格式中,利用外部标识控制域的替换域实现运行时替换内部寄存器标识的作用,即动态地改变操作关系、控制关系;
(2)在长指令标识格式中隐含标识控制域的表现,利用标识控制域中替换域的作用可使该体系能利用内部标识控制域的作用而实现资源的重用和操作。
*标识控制域在长指令标识格式中的排序,是以操作的串行性和操作过程的优先权、以改变标识控制域之间的执行顺序实现控制流的重新排序为基础,以追求语义行为的通用性为目标的一种实现方式,如图8j所示。该操作是以排序域为控制,当一个串行和并行的操作同时出现且具有优先资源占用或数据相关或时序相关时,可利用排序域的控制将长指令标识格式中确定的标识控制域的位置及所操作的功能,按优先资源占用的需求来重新排序。
对运算操作域的排序及说明已在《图4》中描述,对其它控制操作域的排序基本相同。数据运算结果的排序将按优先资源的占用,通过排序域的作用产生。当一个时钟周期内的操作产生了二个结果且需要把结果送到同一目的寄存器时(A+B和C+D送同一寄存器Rn时),排序域的作用是指示A+B的结果或C+D的结果哪个优先送入,并指示未被送入的值是保持还是废弃。
其重要特征是:
(1)使长指令标识格式中反映的所有的标识控制域的功能,依应用的需求重新组合,而标识控制域所实现的功能并不改变;
(2)行为操作的需求反映了特定的标识控制域的操作,仅仅是因为排序的作用,则可反映多种操作行为的宏语言原语。
*标识控制域在长指令标识格式中的延时,是以程序流产生的数据资源冲突、操作控制相关为基础,以最大利用资源条件支持宏语言的高层次语用关系为目标的一种实现方式。
如图8k所示。该操作将以延时域为控制,当操作行为需求产生数据资源冲突和操作控制相关时,通过延时域的控制可使标识控制域分别被安排在不同的周期中操作。
在操作与数据相关时,如图8f2所示,当双指令格式的第一格式中的运算操作域,需要通过寄存器随机寻址在第三周期取得数据后进行操作时,延时域可将第一指令格式中的运算操作域通过译码计数器延时到第三周期进行,使在第三周期内通过延时译码的作用实现相关操作,并将被延时的操作控制域保持在译码寄存器中,延时域的作用是将某个周期的指令标识格式中的相关域,在迟后的某个周期与取得的数据进行操作。
其重要特征是:
(1)使计算机的操作过程具有灵活的时间控制关系,可最大程度的利用资源;
(2)可对相关问题和冲突问题实施硬件自动地处理和解决,使指令流的控制不被中断,从而提高效率。
超长指令控制体系的外部标识可由被选择的数据端口,在系统时序的一个存储周期的上沿将该外部存储标识指令读入译码器,实现控制操作,其特征是:
(1)对单指令标识格式,如图8l所示,用一个存储周期从被选择的数据端口读取数据并传输到译码器,用一个时钟周期完成操作,并将操作结果在下一个时钟周期的上沿保存。当存储周期的频率小于两个时钟周期时,每个存储周期可完成两个单指令标识格式的操作。
(2)对双指令标识格式,如图8m所示,连续用二个存储周期从某个端口读取数据并传输到译码器,在第一个CPU时钟周期完成相关操作、延时操作的控制,在第二个CPU时钟周期完成并行操作或独立操作的控制,当有相关操作或延时操作时,将在第三个CPU时钟周期完成整个操作的控制,并将操作结果在第三或第四CPU时钟周期的上沿保存。
(3)对多指令标识格式,如图8n所示,连续用至少三个存储周期从某个端口读取数据并传输到译码器,在第一个CPU时钟周期完成相关的操作、延时的操作的控制,在第二个CPU时钟周期完成复合操作、并行操作或独立操作的控制,在第三个CPU时钟周期实现相关或延时操作,在第四个CPU时钟周期完成复合操作,并将操作结果在第五个CPU时钟周期的上沿保存。
(4)组合指令标识格式操作时,如图8o所示,将根据不同的组合和拼装,实现双周期或三周期的操作,每周期的操作将因指令标识格式的拼装而决定下一周期的操作过程。表8b-1 STRC_PIN通讯结构外部硬联线标识
STRC_PIN<2:0> |
功能说明 |
数据总线状态 |
复位引导状态 |
000 |
数据总线独立使用 |
从FDR端口引导 |
001 |
数据总线独立使用 |
从FRR端口引导 |
010 |
数据总线合并使用 |
从FD端口引导 |
011 |
保留 |
保留 |
100 |
数据总线独立使用 |
从FZM端口引导 |
101 |
数据总线独立使用 |
从FMM端口引导 |
110 |
数据总线合并使用 |
从FZ端口引导 |
111 |
保留 |
保留 |
表8b-2 ASC_PIN地址端口同步/异步时序外部硬联线标识
ASC_PIN |
功能说明 |
01 |
同步时序控制方式异步时序控制方式 |
表8b-3 ASCd_PIN数据端口同步/异步时序外部硬联线标识
ASC_PIN |
功能说明 |
01 |
数据锁存操作为同步时序控制方式数据锁存操作为异步时序控制方式 |
表8b-4 PS_PIN地址部件随机存储、串行存储方式外部硬联线标识
PS_PIN |
功能说明 |
01 |
随机存储方式串行存储方式 |
表8b-5 FIFO_PIN地址部件串行的先进先出和先进后出外部硬
联线标识
FIFO_PIN |
功能说明 |
01 |
先进先出方式先进后出方式 |
表8b-6 IA_PIN初始地址外部硬联线标识
IA_PIN |
功能 |
01 |
复位于存储器的低端000000H地址复位于存储器的高端FFFFFFH地址 |
表8b-7 FDP_PIN乒乓译码线路外部硬联线标识
FDP_PIN<1:0> |
功能 |
00011011 |
以第一线路方式为第一译码线路以第二线路方式为第一译码线路以第三线路方式为第一译码线路以第四线路方式为第一译码线路 |
图8c注释第一地址端口内部标识域ASCI_IF ——第一地址端口地址输出的同步/异步时序方式
内部标识域PC1_IF ——第一地址端口地址选通内部标识域MPNR1_IF ——第一地址端口存储分区大小内部标识域VPM1_IF ——第一地址端口存储管理方式内部标识域BER1_IF ——第一地址端口字节编址方式内部标识域第二地址端口内部标识域ASC2_IF ——第二地址端口地址输出的同步/异步时序方式
内部标识域PC2_IF ——第二地址端口地址选通内部标识域MPNR2_IF ——第二地址端口存储分区大小内部标识域VPM2_IF ——第二地址端口存储管理方式内部标识域BER2_IF ——第二地址端口字节编址方式内部标识域第三地址端口内部标识域ASC3_IF ——第三地址端口地址输出的同步/异步时序方式
内部标识域PC3_IF ——第三地址端口地址选通内部标识域MPNR3_IF ——第三地址端口存储分区大小内部标识域VPM3_IF ——第三地址端口存储管理方式内部标识域BER3_IF ——第三地址端口字节编址方式内部标识域第四地址端口内部标识域ASC4_IF ——第四地址端口地址输出的同步/异步时序方式
内部标识域PC4_IF ——第四地址端口地址选通内部标识域MPNR4_IF ——第四地址端口存储分区大小内部标识域VPM4_IF ——第四地址端口存储管理方式内部标识域BER4_IF ——第四地址端口字节编址方式内部标识域第一数据端口内部标识域SWAPI1_IF ——第一数据端口数据输入方式字节交换内部标
识域SWAPO1_IF ——第一数据端口数据输出方式字节交换内部标
识域ASCd1_IF ——第一数据端口数据同步/异步时序方式内部
标识域I/D1_IF ——第一数据端口指令/数据内部标识域ERS1_IF ——第一数据端口寄存器并行/串行使用内部标
识域 RFIFO1_IF ——第一数据端口先进先出/先进后出操作方式
内部标识域Size1_IF ——第一数据端口输入输出数据字节宽度内部标
识域第二数据端口内部标识域SWAPI2_IF ——第二数据端口数据输入方式字节交换内部标
识域SWAPO2_IF ——第二数据端口数据输出方式字节交换内部标
识域ASCd2_IF ——第二数据端口数据同步/异步时序方式内部
标识域I/D2_IF ——第二数据端口指令/数据内部标识域RPS2_IF ——第二数据端口寄存器并行/串行使用内部标
识域RFIFO2_IF ——第二数据端口先进先出/先进后出操作方式
内部标识域Size2_IF ——第二数据端口输入输出数据字节宽度内部标
识域第三数据端口内部标识域SWAPI3_IF ——第三数据端口数据输入方式字节交换内部标
识域SWAPO3_IF ——第三数据端口数据输出方式字节交换内部标
识域 ASCd3_IF ——第三数据端口数据同步/异步时序方式内部
标识域I/D3_IF ——第三数据端口指令/数据内部标识域RPS3_IF ——第三数据端口寄存器并行/串行使用内部标
识域RFIFO3_IF ——第三数据端口先进先出/先进后出操作方式
内部标识域Size3_IF ——第三数据端口输入输出数据字节宽度内部标
识域第四数据端口内部标识域SWAPI4_IF ——第四数据端口数据输入方式字节交换内部标
识域SWAPO4_IF ——第四数据端口数据输出方式字节交换内部标
识域ASCd4_IF ——第四数据端口数据同步/异步时序方式内部
标识域I/D4_IF ——第四数据端口指令/数据内部标识域RPS4_IF ——第四数据端口寄存器并行/串行使用内部标
识域RFIFO4_IF ——第四数据端口先进先出/先进后出操作方式
内部标识域Size4_IF ——第四数据端口输入输出数据字节宽度内部标
识域译码操作内部标识域Decm_IF ——输入译码器的存储端口数据内部标识域Decs_IF ——输入译码器的线路方式内部标识域Decpp_IF ——乒乓译码方式内部标识域SWITCH_IF ——替换操作内部标识域ORDER_IF ——操作序列内部标识域DELAY_IF ——延时操作内部标识域ASSORTMENT_IF ——拼装操作内部标识域运算操作内部标识域OP2_IF ——运算类别内部标识域ALUOPs_IF ——串行运算操作内部标识域ALUOPp_IF ——并行运算操作内部标识域ALUs_IF ——运算操作数来源内部标识域ALUd_IF ——存放运算结果内部标识域AU_IF ——算术运算操作内部标识域LOG_IF ——逻辑运算操作内部标识域SHC_IF ——移位运算操作内部标识域SHB_IF ——移位运算位数内部标识域Cond_IF ——条件测试来源内部标识域FLAG_IF ——逻辑真假内部标识域Ncc_IF ——进位标识域Icc_IF ——逻辑条件码内部标识域处理器状态及其它内部标识域OUSU_IF ——处理器系统状态内部标识域TIMER_IF ——计数器内部标识域Sys_IF ——系统操作状态内部标识域MPI_IF ——通讯操作状态内部标识域FM_IF ——指令格式形态内部标识域OP_IF ——指令基本操作内部标识域EI_IF ——中断屏蔽内部标识PIL_IF ——中断优先级内部标识IBAR_IF ——中断基址内部标识图8d注释第一地址端口存储标识域ASC1 ——第一地址端口地址输出的同步/异步时序方式存
储标识域PC1 ——第一地址端口地址选通存储标识域MPNR1 ——第一地址端口存储分区大小存储标识域VPM1 ——第一地址端口存储管理方式存储标识域BER1 ——第一地址端口字节编址方式存储标识域第二地址端口存储标识域ASC2 ——第二地址端口地址输出的同步/异步时序方式存
储标识域PC2 ——第二地址端口地址选通存储标识域 MPNR2 ——第二地址端口存储分区大小存储标识域VPM2 ——第二地址端口存储管理方式存储标识域BER2 ——第二地址端口字节编址方式存储标识域第三地址端口存储标识域ASC3 ——第三地址端口地址输出的同步/异步时序方式存
储标识域PC3 ——第三地址端口地址选通存储标识域MPNR3 ——第三地址端口存储分区大小存储标识域VPM3 ——第三地址端口存储管理方式存储标识域BER3 ——第三地址端口字节编址方式存储标识域第四地址端口存储标识域ASC4 ——第四地址端口地址输出的同步/异步时序方式存
储标识域PC4 ——第四地址端口地址选通存储标识域MPNR4 ——第四地址端口存储分区大小存储标识域VPM4 ——第四地址端口存储管理方式存储标识域BER4 ——第四地址端口字节编址方式存储标识域第一数据端口存储标识域SWAPI1 ——第一数据端口数据输入方式字节交换存储标识域SWAPO1 ——第一数据端口数据输出方式字节交换存储标识域ASCd1 ——第一数据端口数据同步/异步时序方式存储标识域I/D1 ——第一数据端口指令/数据存储标识域 RPS1 ——第一数据端口寄存器并行/串行使用存储标识域RFIFO1 ——第一数据端口先进先出/先进后出操作方式存储
标识域Size1 ——第一数据端口输入输出数据字节宽度存储标识域第二数据端口存储标识域SWAPI2 ——第二数据端口数据输入方式字节交换存储标识域SWAPO2 ——第二数据端口数据输出方式字节交换存储标识域ASCd2 ——第二数据端口数据同步/异步时序方式存储标识域I/D2 ——第二数据端口指令/数据存储标识域RPS2 ——第二数据端口寄存器并行/串行使用存储标识域RFIFO2 ——第二数据端口先进先出/先进后出操作方式存储
标识域Size2 ——第二数据端口输入输出数据字节宽度存储标识域第三数据端口存储标识域SWAPI3 ——第三数据端口数据输入方式字节交换存储标识域SWAPO3 ——第三数据端口数据输出方式字节交换存储标识域ASCd3 ——第三数据端口数据同步/异步时序方式存储标识域I/D3 ——第三数据端口指令/数据存储标识域RPS3 ——第三数据端口寄存器并行/串行使用存储标识域RFIFO3 ——第三数据端口先进先出/先进后出操作方式存储
标识域Size3 ——第三数据端口输入输出数据字节宽度存储标识域第四数据端口存储标识域SWAPI4 ——第四数据端口数据输入方式字节交换存储标识域SWAPO4 ——第四数据端口数据输出方式字节交换存储标识域ASCd4 ——第四数据端口数据同步/异步时序方式存储标识域I/D4 ——第四数据端口指令/数据存储标识域RPS4 ——第四数据端口寄存器并行/串行使用存储标识域RFIFO4 ——第四数据端口先进先出/先进后出操作方式存储
标识域Size4 ——第四数据端口输入输出数据字节宽度存储标识域译码操作存储标识域Decm ——输入译码器的存储端口数据存储标识域Decs ——输入译码器的线路方式存储标识域Decpp ——乒乓译码方式存储标识域SWITCH ——替换操作存储标识域ORDER ——操作序列存储标识域DELAY ——延时操作存储标识域ASSORTMENT ——拼装操作存储标识域运算操作存储标识域OP2 ——运算类别存储标识域ALUOPs ——串行运算操作存储标识域ALUOPp ——并行运算操作存储标识域ALUs ——运算操作数来源存储标识域ALUd ——存放运算结果存储标识域 AU ——算术运算操作存储标识域LOG ——逻辑运算操作存储标识域SHC ——移位运算操作存储标识域SHB ——移位运算位数存储标识域Cond ——条件测试来源存储标识域FLAG ——逻辑真假存储标识域Ncc ——进位标识域Icc ——逻辑条件码存储标识域处理器状态及其它存储标识域OUSU ——处理器系统状态存储标识域TIMER ——计数器存储标识域Sys ——系统操作状态存储标识域MPI ——通讯操作状态存储标识域FM ——指令格式形态存储标识域OP ——指令基本操作存储标识域EI ——中断屏蔽存储标识PIL ——中断优先级存储标识IBAR ——中断基址存储标识表8d-1 ASC1——
ASC1 |
功能说明 |
01 |
地址输出操作为同步时序方式地址输出操作为异步时序方式 |
表8d-2 PC1——
PC1 |
功能说明 |
000001010011100101110111 |
地址来源为程序指针增量寄存器地址来源为程序指针减量寄存器地址来源为当前指针寄存器地址来源为运算结果寄存器地址来源为第一数据端口寄存器地址来源为第二数据端口寄存器地址来源为第三数据端口寄存器地址来源为第四数据端口寄存器 |
表8d-3 VPM1——
VPM1 |
功能说明 |
01 |
绝对地址管理方式页式地址管理方式 |
表8d-4 BER1——
BER1 |
功能说明 |
01 |
字节编址方式为“大尾”方式字节编址方式为“小尾”方式 |
表8d-5 SWAPI1——超长指令控制数据输入方式字节交换的功能表
SizeSWAPI1 | 00 | 01 | 10 | 11 |
00011011 |
不交换保留保留保留 |
不交换高低字节交换保留保留 |
不交换高低16位交换高低字节交换保留 |
不交换高低32位交换高低16位交换高低字节交换 |
表8d-6 SWAP01——超长指令控制数据输出方式字节交换的功能表
SizeSWAPI2 | 00 | 01 | 10 | 11 |
01 |
不交换保留 |
不交换高低字节交换 |
不交换高低16位交换 |
不交换高低32位交换 |
表8d-7 ASCd1——
ASCd1 |
功能说明 |
01 |
数据锁存为同步时序方式数据锁存为异步时序方式 |
表8d-8 I/D1——
I/D1 |
功能说明 |
01 |
下周期数据端口输入内容为指令下周期数据端口输入内容为数据 |
表8d-9 RSP1——
表8d-10 RFIFO1——
RFIFO1 |
功能说明 |
01 |
先进先出方式 (FIFO)先进后出方式 (FILO) |
表8d-11 Size1——
Size1 |
功能说明 |
00011011 |
8位数据操作16位数据操作32位数据操作64位数据操作 |
表8d-12 Decm——
Decm |
功能说明 |
00011011 |
第一数据端口进行译码第二数据端口进行译码第三数据端口进行译码第四数据端口进行译码 |
表8d-13 Decs——
Decs |
功能说明 |
00011011 |
对第一线路方式数据进行译码对第二线路方式数据进行译码对第三线路方式数据进行译码对第四线路方式数据进行译码 |
表8d-14 Decpp——
Decpp |
功能说明 |
00011011 |
串行译码方式并行译码方式周期性译码方式约束性译码方式 |
表8d-15 DELAY——延时标识域
DELAY |
功能说明 |
00011011 |
无延时操作延时1个周期操作延时2个周期操作延时3个周期操作 |
表8d-16 OUSU——
OUSU |
功能说明 |
00011011 |
处理器为OK态处理器为UT态处理器为OS态处理器为用户态 |
表8d-17 MPI——
MPI |
功能说明 |
00011011 |
多处理器公共指令多处理器1指令多处理器2指令多处理器3指令 |
表8d-18 FM——指令格式标识域
op |
功能说明 |
00011011 |
单格式多格式第一格式多格式中间格式多格式最后格式 |
表8d-19 OP——基本操作标识域
OP |
功能说明 |
00011011 |
CALL子程序调用操作IF条件转移操作LOAD取数操作STORE存数操作 |
表8d-20 EI——
EI |
功能说明 |
01 |
中断屏蔽呈开状态中断屏蔽呈关状态 |
表8d-21 PIL——
PIL |
功能说明 |
000001010011100101110111 |
屏蔽0级以上中断屏蔽1级以上中断屏蔽2级以上中断屏蔽3级以上中断屏蔽4级以上中断屏蔽5级以上中断屏蔽6级以上中断屏蔽7级以上中断 |
表8d-22 OP2——操作标识域
OP2 |
功能说明 |
000001010011100101110111 |
数据传送操作算术运算操作逻辑运算操作移位运算操作并行运算操作串行运算操作数据比较操作保留 |
表8d-23 ALUOPs——
ALUOPs |
功能说明 |
000001010011100101110111 |
算术运算与逻辑运算串行操作逻辑运算与算术运算串行操作算术运算与移位运算串行操作移位运算与算术运算串行操作逻辑运算与移位运算串行操作移位运算与逻辑运算串行操作保留保留 |
表8d-24 ALUOPp——
ALUOPp |
功能说明 |
00011011 |
算术运算与算术运算并行操作算术运算与逻辑运算并行操作算术运算与移位运算并行操作逻辑运算与移位运算并行操作 |
表8d-25 ALUs——
ALUs |
功能说明 |
00011011 |
操作数来自第一线路方式操作数来自第二线路方式操作数来自第三线路方式操作数来自第四线路方式 |
表8d-26 ALUd——
ALUd |
功能说明 |
00011011 |
运算结果输出到第一数据端口寄存器运算结果输出到第二数据端口寄存器运算结果输出到第三数据端口寄存器运算结果输出到第四数据端口寄存器 |
表8d-27 AU——
AU |
功能说明 |
000001010011100101110111 |
加法运算带进位加法运算减法运算带借位减法运算加法运算且影响Icc状态带进位加法运算且影响Icc状态减法运算且影响Icc状态带借位减法运算且影响Icc状态 |
表8d-28 LOG——
LOG |
功能说明 |
000001010011100101110111 |
逻辑与逻辑或逻辑异或保留逻辑与且修改Icc状态逻辑或且修改Icc状态逻辑异或且修改Icc状态保留 |
表8d-29 SHC——
LOG |
功能说明 |
000001010011100101110111 |
逻辑左移逻辑右移左循环移右循环移算术左移算术右移保留保留 |
表8d-30 Cond——操作条件标识域
cond |
功能说明 |
00011011 |
无条件操作判别逻辑真假FLAG判别条件码icc判别进位标志Ncc |
图9为FCC三维乒乓控制译码器框图
一个对称的三维乒乓译码部件FCC,如图(9)所示,它包括:
*两个独立的指令输入选通器MUX1、MUX2,用于对第一、第二、第三、第四线路的指令输入进行选通,指令/数据输入方式包括内部数据总线TIMDBUS的第四线路方式和数据端口的第一线路方式,选通控制端由内部超长指令寄存器标识部件FIF控制,选通指令/数据输出分别与两个译码器FCCB和FCCP相连接;
*两个独立的译码部件FCCB和FCCP,分别对指令/数据输入进行译码,产生的输出信号与指令标识预处理寄存器FDIF中的数据共同组合成控制信号;
*一个三维译码状态控制部件DC,用于控制译码部件FCCB和FCCP的操作状态,DC部件的输入控制端来自内部超长指令寄存器表示部件FIF和外部硬联线逻辑标识的有关状态,通过DC控制译码部件完成预译码操作。
图9中STRC为内部超长指令寄存器标识字对数据端口部件操作方式选择的标识,用于指明当前数据端口部件的操作方式的定义,参见表9-1;FPP1,FPP2和FPP3分别为三维乒乓译码方式控制、状态控制和周期性约束性译码控制信号,用以标明当前FCC的译码控制方式及状态,参见表9-2、表9-3、表9-3。
通过内部超长指令寄存器标识的控制,可使三维乒乓译码部件具有以下译码方式:
(1)并行译码
选择定义数据端口部件(FD,FZ,FTNSF或FT)中的两条数据总线独立使用,该译码方式是并行译码方式。FCC部件的两个译码器(FCCB和FCCP)允许对两条不同的总线输入的两条指令数据进行同时译码,如图9a所示。当独立使用时,每个存储周期可以接受两倍于数据总线宽度的超长指令标识字。当两条指令的操作互不相关时,可以同时并行地执行,如图9b所示;当两条指令的操作相关时,则将相关指令送入FDIF指令预处理部件中的流水队列进行延时处理,如图9c所示,此时,相关的指令在指令指令预处理部件中自动被延迟执行,直到译码产生的组合控制信号的相关控制解除。
(2)串行译码
选择定义数据端口部件(FD,FZ,FTNSF或FT)中的两条数据总线合并使用,该译码方式是串行译码方式。FCC部件的两个译码器(FCCB和FCCP)将根据输入的两条指令数据流序列,按执行周期逐一选通输入,译码执行。在同一时刻,每一个译码器可以执行一条数据总线以第一或第四线路方式输入的一条指令数据。当合并使用时,允许内部CPU的时钟周期为存储器读写周期的两倍,使每个存储周期处理器可以接受四倍于数据总线宽度的超长指令标识字序列,在一个存储周期内两个译码器将依选择定义的操作方式,选通来自两个数据端口部件的四倍于数据总线宽度的超长指令标识字,如图9d所示。当两条指令的操作互不相关时,两个指令字可以同时顺序执行;当两条指令的操作出现相关时,相关指令送入FDIF指令预处理部件中的流水队列进行延时处理,直到译码产生的组合控制信号的相关控制解除。
(3)乒乓译码
通过内部超长指令寄存器标识FIF_FPP1的定义,FCC译码部件可以选择响应由第一或第二选通器分配的、来自四个对称储存方式及第一、第二、第三或第四线路方式输入的指令/数据,进行乒乓译码操作,产生多重组合译码信号。响应第一选通器分配的指令/数据为“乒”译码操作,响应第二选通器分配的指令/数据为“乓”译码操作。“乒”和“乓”译码操作可以根据内部超长指令寄存器标识FIF_FPP3的定义,选择进行周期性乒乓转换或约束性乒乓转换。
周期性乒乓译码是在第一时钟信号循环脉冲周期内,顺序地循环选择第一或第二选通器分配的第一、第二、第三、第四线路方式输入的指令或数据进行乒乓译码操作,如图9e所示。
约束性乒乓译码是在第一时钟信号若干循环脉冲周期内,由内部超长指令寄存器标识指示,固定地选择第一或第二选通器分配的固定线路方式输入的顺序指令或数据进行乒乓译码操作,直至内部超长指令寄存器标识或外部超长指令标识格式字要求发生乒乓状态的转换,如图9f所示。
(4)三维译码
通过内部超长指令寄存器标识FIF_FPP2的定义,FCC译码部件可以对第一或第二选通器进行数据选通控制,产生一维、二维、三维乒乓译码操作。
在第一时钟信号循环脉冲周期内,第一、第二选通器均固定针对同一存储方式及数据输入的第一、第二、第三或第四线路方式输入的指令进行选择,所产生的译码操作方式称为一维译码,如图9g所示。一维译码可以选择串行单译码部件操作、并行双译码部件操作的乒乓或周期性方式,产生控制信号。
在第一时钟信号循环脉冲周期内,第一、第二选通器分别针对所选择的两个存储方式及数据输入的第一、第二、第三或第四线路方式输入的指令进行操作,所产生的译码操作方式称为二维译码,如图9h所示。二维译码可以选择并行双译码部件操作的乒乓或周期性方式进行译码,产生控制信号。
在第一时钟信号循环脉冲周期内,第一、第二选通器分别针对所选择的两个存储方式或数据输入的第一、第二、第三或第四线路方式输入的指令及内部操作部件以第三线路方式输出的指令进行操作,所产生的译码操作方式称为三维译码,如图9i所示。三维译码可以选择并行双译码部件操作的乒乓或周期性方式,产生控制信号。
三维乒乓译码的特点是可以针对多个指令输入流进行译码操作。乒乓译码通过译码器对第一选通器和第二选通器分配的指令进行周期性或约束性的选择,实现多指令流的译码操作。三维译码则直接控制第一第二选通器,通过选通器对多个线路方式输入的指令流进行选通操作。三维乒乓译码是三维译码和乒乓译码的组合使用方式,实现了多指令流的并行译码操作。如图9j所示,在T1周期内,译码器FCCB对FD端口的第一线路方式输入的128位超长指令进行译码,译码器FCCP针对FZ端口的第一线路方式输入的128位超长指令进行译码。在T2周期,译码器FCCB针对FZ端口的第一线路方式输入的128位超长指令进行译码,译码器FCCP则可针对内部运算操作部件生成的,或由内部超指令标识部件FIF产生的,或以第三线路方式输入的128位超长指令进行译码,通过三维译码和乒乓译码的组合,使FCC译码部件在同一个存储周期内可以同时完成256位超长指令的译码操作。表9-1 STRC状态控制表
STRC<2:0> |
状态定义 | 信号来源 |
数据总线状态 |
复位引导状态 |
000 |
数据总线独立使用 |
从FDR端口引导 | 来自内部状态标识部件FIF中的STRC_REG寄存器的输出 |
001 |
数据总线独立使用 |
从FRR端口引导 |
010 |
数据总线合并使用 |
从FD端口引导 |
011 |
保留 |
保留 |
100 |
数据总线独立使用 |
从FZM端口引导 |
101 |
数据总线独立使用 |
从FMM端口引导 |
110 |
数据总线合并使用 |
从FZ端口引导 |
表9-2 FPP1三维乒乓译码方式控制表
FPP1<1:0> |
译码方式 |
00011011 |
串行译码并行译码乒乓译码保留 |
表9-3 FPP2三维乒乓译码状态控制表
FPP2<1:0> |
译码状态控制 |
00011011 |
一维译码二维译码三维译码保留 |
表9-4 FPP3周期性、约束性译码控制表
FPP3<2:0> |
功能 |
1xx000001010011 |
周期性乒乓译码第一线路约束性译码第二线路约束性译码第三线路约束性译码第四线路约束性译码 |
图十为支持专用、通用微处理器结构及高层语义的体系结构图
宏指令集对称式并行体系结构支持专用和通用微处理器结构及专用、通用计算机高级语言高层原语,如图10所示,它包括:
*四个独立的地址端口部件,六条地址指针总线部件,四个数据端口部件,八条数据总线部件,四组寄存器部件每组八个多位寄存器,二个对称的译码部件,允许并行和串行译码;
*每个部件均可通过第一、第二、第三、第四线路方式接受数据输入及第二、第三线路方式,进行各部件数据交换、传递输出。
*四个独立的地址数据端口可被选择不同的组织结构及其操作方式,如图三、图五所述,四组独立的数据端口及八条总线,可被选择定义为串行、并行操作和独立、合并使用方式,如图5、图6所述,四组独立寄存器可构成串行、并行操作方式,允许与外部寄存器进行并行、随机互联和串行堆栈式互联操作方式,如图六所述。
*超长指令控制体系由外部硬联线、内部寄存器、外部存储器标识字三部分组成,配合端口数据/指令输入/输出方式,可产生相互的共同作用,经译码器译码,产生多重组合控制信号,控制该体系结构各个独立部件数据通路、数据传递、数据处理、执行算法等操作。如图8、图9所述。
*包括一个数据处理,执行算法逻辑及比较测试功能部件。该部件可被选择定义为不同的操作序列,控制不同的数据通路,改变结构及组织、操作关系。如图4、图7所述。
对该体系选择定义不同操作方式、逻辑关系、数据通路、结构组织,将可使该体系支持通用或专用微处理器的结构及高级语言的高层语义、语法、语用关系。
经图12所述的操作,配合指令/数据输入方式,可由外部超长指令标识控制字,根据需要重新对内部标识体系进行装载,产生如图3、图4、图5、图6、图7、图8、图9的作用,使其组织结构关系、逻辑关系、操作方式、数据通路、时序等均可被选择定义。
该体系结构支持通用微处理器结构及中缀表示方式的语法关系,如图10a所示。
(1)第一、第二地址端口部件和数据端口部件被内部标识寄存器定义为随机存储方式和并行输入/输出方式。第一地址端口部件和数据端口部件主要用于指令/数据输入/输出操作方式,第二地址端口部件和数据端口部件主要用于数据输入/输出操作方式。
(2)第二地址端口部件的地址指针生成受第一地址端口部件地址指针生成的控制,在一个指令控制该体系操作时,数据端口将配合指令语义的操作,在多重组合控制信号的作用下决定地址指针的选择,实施数据端口的输入/输出操作。
(3)第三地址端口部件和数据端口部件被用于通讯总线,被定义为随机和并行操作方式。该部件受控于超长指令控制体系和译码器共同产生的多重控制信号,可被指示一个数据通讯、I/O操作和其它系统的控制操作。
(4)第一、第二、第三寄存器部件均被选择定义为并行数据输入/输出操作方式,其数据控制、处理、替换受控于超长指令控制体系和译码器共同产生的多重控制信号。
(5)第四地址端口部件和数据端口部件被选择定义为先进后出堆栈寻址方式和串行输入/输出方式。第四寄存器部件和第四地址数据端口部件组成联合的内部、外部先进后出堆栈操作方式。
(6)第四地址端口部件和数据端口部件受控于超长指令控制体系和译码器共同产生的多重控制信号及系统产生的随机控制,使之可以对该体系结构的数据通路、指令断点、体系状态及各内部寄存器的数据进行控制、保存操作。
(7)配合从第一存储方式输入的指令和从第二存储方式输入的数据,在多重组合信号作用下,控制第二、第三、第四存储方式输入/输出的数据处理及相关操作、计算操作、控制操作。
由此,该体系结构可以支持高级语义形成的指令操作与数据操作分体存储,独立进行输入/输出操作,以及单堆栈控制体系的数据结构,可支持指令流水线、指令数据相关操作及控制以中缀方式表达的语义、语法、语用关系。
该体系结构支持专用微处理器结构及后缀表示方式的高级原语,如图10b所示。
(1)第一、第二地址端口部件和数据端口部件被内部标识寄存器定义为随机存储方式和并行输入/输出方式,该端口成为两个独立的指令输入/输出体系,经内部两个对称的指令译码器,可分别产生多重组合控制信号,分别控制或相互控制该体系各个部件。
(2)第三地址端口部件和数据端口部件将被分为两个独立的地址、数据操作端口,形成对第一、第二地址/数据部件的另一存储方式的操作。
(3)第四地址端口部件和数据端口部件将被分为两个独立的地址、数据操作端口,形成对第一、第二地址数据部件的另一存储方式的操作。
(4)第三与第四数据端口部件和地址数据端口部件组成联合的内部外部先进后出堆栈操作方式。
(5)第一、第二寄存器部件将被选择为独立的并行操作方式。
(6)该体系结构第一地址端口部件和数据端口部件联合第三、第四地址端口部件和数据端口部件实施从第一地址端口部件和数据端口部件输入的指令数据生成的多重组合信号控制。
(7)该体系结构第二地址端口部件和数据端口部件联合第三、第四地址端口部件和数据端口部件的另一对存储方式,实施从第二地址端口部件和数据端口部件输入的指令数据生成的多重组合信号控制。
(8)第一、第二地址端口部件和数据端口部件用于存放索引词典及目标词典。第三地址端口部件和数据端口部件用于存放以逆波兰方式表达的参数、数据。第四地址端口部件和数据端口部件进行系统控制、地址指针、分支转移控制及各种体系程序结构控制。
(9)配合从第一、第二存储方式输入的指令/数据,在多重组合控制信号作用下,对第三、第四存储方式实施数据处理控制及对第一、第二存储方式产生的指令/指令、数据/指令实施相互作用控制,以及完成延时操作、应用操作、计算操作等需求。
由此,该体系结构可以支持两个分体式的双词典结构,支持以后缀方式表达的双堆栈语法、语用关系。
该体系结构支持专用微处理器结构及前缀表达方式的高级原语,如图10c所示。
(1)第一地址端口部件和数据端口部件被内部标识寄存器定义为随机存储方式和并行输入/输出方式,第一寄存器被选择定义为并行数据操作方式。
(2)第二地址端口部件和数据端口部件被选择定义为先进后出堆栈存储方式和和串行输入/输出方式,第二寄存器部件与第二地址端口部件和数据端口部件组成联合内部、外部先进后出堆栈操作方式。
(3)第三地址端口部件和数据端口部件将选择定义为先进先出堆栈操作方式及并行操作方式。第三、第四寄存器部件被定义为串行操作方式。
(4)该体系结构配合从第一地址端口部件和数据端口部件输入的指令数据生成的多重组合信号,控制第二、第三、第四地址端口部件和数据端口部件,形成数据输入/输出存储方式,支持一个二叉树结构的处理及前缀方式表达的语法、语用关系。
(5)如图8、图9所述的体系结构,可将FILO、FIFO的方式输入的数据转为指令输入/输出方式,形成数据生成指令操作的智能高级语义。
如图8所述,支持高级、高层语义是通过对外部超长指令标识字流水排列、优化排列的设计,而产生的代码序列字,该体系在接收输入并译码后,使各部件被控制产生相应操作,即:控制相关的操作,利用延时操作解决操作的冗余过程,实施数据的处理,执行多种算法,及其体系状态测试、数据比较而构成高层次行为语义。体系结构的操作方式、组织方式,将反映高层、高级语义及通用、专用计算机运算时的结构特征和宏语言原语关系。
如图8f所述,一个二分之一算法区间逼近进行条件选择控制的高层语义的操作,在通用及专用处理器体系结构的选择定义下,允许指令/数据分体输入/输出操作方式,这种分体指令、数据的数据结构可通过外部编译器将其安排在第一或第二存储空间内。
如图10d所示,在第一地址数据端口获得超长指令体系双标识格式序列字的输入,在第二数据端口将获得子程序A,B的第一和第二指令的标识格式字。
第二地址端口部件和数据端口部件产生的数据,受控于第一地址端口部件和数据端口部件输入的指令/数据生成的多重组合信号。该算法进行区间逼近,实现有条件的选择控制操作的原语,具备了多种人类行为的操作需求:条件操作需求;计算操作需求;数据存取操作需求;程序转移操作需求;数据交换操作需求;串行的计算需求;构成的功能部件重用的操作需求;区间的比较构成冗余的操作需求;测试后,第二存储方式输入的指令/数据构成延时选择的操作需求;在程序被确定分支的路径后,双数据端口构成的并行操作需求……这些需求将被有效地排列到外部超长指令控制标识字中。
如图10d所示,被转移的两个子程序,其执行入口的第一和第二条指令,被编译存储到第二地址部件管理的数据存储器中,其主程序从第三条指令开始被编译到第一地址部件管理的数据存储器中,构成双端口指令/数据并行输入处理操作。
如图10d-1所示,配合第一地址数据端口部件指令/数据输入/输出方式,外部超长指令标识字序列的第一格式在第一周期被输入到译码器,同时,被选择转移的子程序A的第一条指令通过第二地址数据端口部件也被输入到译码器。在第一时钟周期,组合控制信号自动执行条件算法,完成一个测试C在[A,B]区间的运算,同时指示,通过第二地址数据端口部件的地址指针读取子程序B的来自于第一数据端口的数据,指示第二地址数据端口读取子程序B的第一条指令,并延时执行子程序A的第一条指令。
在第二周期时钟上沿又获取了第一端口输入的该指令的第二格式,和来自第二数据端口输入的子程序B的第一条指令。在第二周期已获得了条件的选择处理结果,因此,译码控制信号将依条件处理结果控制被选择执行子程序的转移地址,在第三周期时钟上沿输出到第一地址数据端口部件,并在第二周期执行被选择的子程序A或B的第一条和被复合到超长指令格式字的第二标识格式的指令操作,即:完成A=(A+C)/2或MAXMIN(A,B,C)计算操作,及选择子程序A或B的入口地址输出到地址数据端口的转移分支操作,及执行第一周期输入的子程序A被延时执行的第一条指令,或执行第二周期输入的子程序B的第一条指令。
在时钟的第三周期的上沿,一个子程序B的数据从第一数据端口被读入,同时,从第二数据端口获得了子程序A的第二条指令,在第三周期内,根据条件处理结果,控制第一地址端口部件和数据端口部件形成顺序地址指针,第二地址端口部件和数据端口部件读取子程序B的第二条指令,同时执行子程序B输入的数据进行数据处理或子程序A进行数据指针修改处理的操作,及子程序A的第二条指令。未被条件测试结果选中的指令操作将被废弃。
在时钟的第四周期上沿,被选择的子程序第三条指令通过第一数据端口被读到了译码器,同时子程序B的第二条指令通过第二地址数据端口部件也被读入到译码器,在第四周期将执行来自第一数据端口的第三条指令和第二数据端口输入的第二条指令。
该宏原语通过三个时钟周期的操作,完成了满足测试条件时执行:条件处理、存取第二指令格式字、条件测试、存取数据、转移地址、数据处理、区间计算、执行子程序A第一条指令及存取第二条指令等9条指令或不满足测试条件时执行:条件处理、存取第二指令格式字、条件测试、存取子程序B第一条指令、控制转移地址、区间计算、指针计算、存取第二条指令、执行第一第二条指令等10条指令,实现了外部人工智能优化编码设计、流水线排列,使该体系的结构及其运行操作支持高级语言的语义、语法、语用结构的需求和提高应用效率,在每个时钟周期运行了三个以上的宏语言原语。
该体系结构超长指令控制体系从内部结构到外部控制,具有并行多重处理操作功能,构成支持专用、通用计算机数据结构的语用关系及宏语言原语的语法关系,实现行为操作语义需求直接反映为计算机操作的过程。图11为操作时序图
宏指令集对称式并行体系微处理器含有四个系统时钟操作时序,它们是:
*第一时序时钟信号CLK;
*第二时序时钟信号CLK1;
*第三时序时钟信号CLK3;
*第四时序时钟信号CLK4。这四个系统操作时序的基本特性是:
*CLK时钟信号为周期性变化时钟,其高电平与低电平的占
空比为1∶1。
*CLK1时钟信号为周期性变化时钟,其高电平与低电平的占
空比为1∶3,CLK1高电平有效,与CLK保持同步。
*CLK3时钟信号为周期性变化时钟,其高电平与低电平的占
空比为1∶3,CLK3高电平有效的相位与CLK时钟相差135°。
*CLK4时钟信号为周期性变化时钟,其高电平与低电平的占
空比为1∶3,CLK4高电平有效的相位与CLK时钟相差270°。四个系统时序信号的时序关系如图11所示。
上述四个系统操作时序时钟信号用于控制该微处理器各个内部操作部件的操作及数据操作的锁存,其主要功能如下:
(1)第一时序时钟信号CLK
*对以第一线路方式输入的各端口的输入数据寄存器进行数
据锁存控制;
*对以第四线路方式输出的各端口的输出数据进行输出使能
控制;
*以第三线路方式控制各内部状态和内部寄存器的数据输出。
(2)第二时序时钟信号CLK1
*以第二线路方式控制各内部状态和内部寄存器数据的更新
改变;
*三维乒乓译码部件的译码操作时序控制;
*以第三线路方式启动运算部件的操作数选通控制。
(3)第三时序时钟信号CLK3
*中断采集和响应操作的时序控制;
*中断现场保护更新的时序控制。
(4)第四时序时钟信号CLK4
*地址指针输出控制时序;
*同步/异步地址操作控制时序;
*通讯请求应答控制时序。图12为体系复位及初始化图
宏指令集对称式并行体系结构微处理器的复位及初始化操作过程如下:
(1)复位信号有效,表明系统复位周期开始;
(2)由外部硬联线标识逻辑对微处理器的初始状态、操作方
式、组织结构进行选择定义;
(3)内部状态标识寄存器根据外部硬联线标识逻辑的定义,
进行初始化设定;
(4)各内部操作部件通过第四线路方式,按内部状态标识的
定义,进行初始化设定;
(5)根据内部标识寄存器的状态标识定义,地址部件形成初
始地址,选向指定地址端口输出;
(6)根据内部标识寄存器的状态标识定义,将指定的存储方
式置成相应的存储等待周期,并将指定的端口置成输入
状态,等待读取第一条指令执行;
(7)第一条指令从指定的数据端口输入,经第一线路方式送
入译码部件,译码执行。如图12所示,整个复位操作控制均由系统复位控制部件FRST控制完成,所有复位初始化操作均由第四线路方式完成。如图12a所示,FRST部件在系统复位周期内将产生一系列复位周期控制信号RST1、RST2、RST3和RST4,来控制所有内部部件进行初始化操作。
外部硬联线逻辑可对微处理器的复位状态进行初始化设置:
*数据总线的使用方式的选择
通过外部硬联线逻辑输入SRTC_PIN<2:0>的定义,可选择该微处理器的四个对称的数据端口部件的数据总线,采用独立连接方式或采用合并连接方式,如表7-1所示。
*复位地址端口和数据端口的标识
通过外部硬联线逻辑输入SRTC_PIN<2:0>的定义,可选择该微处理器四个对称的数据端口部件中的一个作为复位引导端口,并控制复位地址从该端口送出,以便读取第一条指令执行,如表12-1所示。
*存储操作时序的标识
通过外部硬联线逻辑输入ASC_PIN、ASCd_PIN的定义,可选择该微处理器的四个对称的数据端口部件的八条数据总线和六条地址总线的存储操作时序,采用同步存储或采用异步存储时序,如表12-1所示。
*乒乓译码线路的标识
通过外部硬联线逻辑输入FDP_PIN<1:0>的定义,可选择该微处理器的译码部件的第一、第二、第三或第四线路方式,作为第一译码线路方式,如表12-2所示。
*存储操作方式的标识
通过外部硬联线逻辑输入PS_PIN、FIFO_PIN的定义,可选择该微处理器的四个对称的数据端口部件采用随机存储方式、先进先出(FIFO)存储方式或先进后出(FILO)堆栈存储方式进行操作,如表12-3所示。
*复位地址的标识
通过外部硬联线逻辑输入IA_PIN的定义,可选择该微处理器的复位初始化程序存放在执行存储器的高端(FFFF处)还是低端(0000处),使微处理器在复位后形成相应的地址,读取复位初始化指令序列,如表12-4所示。
如图12a所示,宏指令集对称式并行体系结构微处理器根据外部硬联线逻辑输入的定义,按FRST部件产生的复位周期信号RSTn,分四个周期完成整个硬件系统的初始化操作:
(1)T0周期,系统复位周期有效
当外部硬联线逻辑输入的复位信号RESET有效(为低)时,将所有内部数据寄存器的状态寄存器清零,并保持该状态;同时FCLK时钟生成电路复位,产生系统工作时钟:第一、第二、第三和第四时序时钟信号;FRST系统复位部件在第一个第一时序时钟信号CLK的上升沿处令系统复位周期有效信号CRS有效(为高),表明系统复位周期开始。
(2)T1周期,复位第一周期
在RST信号有效(为高)后的第一个第一时序时钟信号CLK的上升沿处,系统复位部件FRST将RST1信号置为有效(为高),表明系统第一复位周期开始,在第一复位周期中,根据外部硬线逻辑输入的定义,置各内部状态寄存器的初值,其中:
*FDR=0,FRR=0,FZM=0,FMM=0 各端口数据寄存器清零
*IL=0 指令锁存器清零
*PSR=0 处理器状态寄存器清零
*CSR=0 通讯状态寄存器清零
*INTR=0 中断控制寄存器清零
*MULR=0 置存储器上界地址为0地址
*MDLR=FFFFFFFH 置存储器下界地址为最大可能地址
*UDLR=FFFFFFFH 置用户下界地址为最大可能地址
*MPNR=0 置存储器分业为256±64bit一页
*PEMG=0 置页表状态无效
*OK=1 置系统管态
*VPM=1 置绝对地址寻址方式
*根据外部硬线逻辑置系统大小尾状态FIF_BE
*根据外部硬线逻辑STRC_PIN<2:0>和FDP_PIN置引导端口状
态和乒乓译码部件的状态FIF_STRC和FIF_FDP
*根据外部硬线逻辑ASC_PIN和ASCd_PIN置数据/地址时序状
态FIF_ASC和FIF_ASCd
*根据外部硬线逻辑FILO_PIN和PS_PIN置存储方式状态
FIF_FILO和FIF_PS
*根据外部硬线逻辑IA_PIN置复位初始地址值,即:将TH、
TL寄存器置为第一初始值FFFF或0000。
(3)T2周期,复位第二周期
在RST1信号有效(为高)后的第一个第一时序时钟信号CLK的上升沿处,系统复位部件FRST将RST2信号置为有效(为高),同时将RST1信号置为无效(为低),表明系统第一复位周期结束,第二复位周期开始。在第二复位周期中,TH、TL寄存器将其数据以第四线路方式输出至各地址部件,将地址指针PC、SP、RP、YPC复位。
(4)T3周期,复位第三周期
在RST2信号有效(为高)后的第一个第一时序时钟信号CLK的上升沿处,系统复位部件FRST将RST3信号置为有效(为高),同时将RST2信号置为无效(为低),表明系统第二复位周期结束,第三复位周期开始。在第三复位周期中,TH、TL寄存器被清零,准备为其它内部数据寄存器复位。
(5)T4周期,复位第四周期
在RST3信号有效(为高)后的第一个第一时序时钟信号CLK的上升沿处,系统复位部件FRST将RST4信号置为有效(为高),同时将RST3信号置为无效(为低),表明系统第三复位周期结束,第四复位周期开始。在第四复位周期中,TH、TL寄存器将数据通过第四线路方式送至各内部数据寄存器堆和内部寄存器中,将它们复位成“零”值。
(5)复位结束周期
在RST4信号有效(为高)后的第一个第一时序时钟信号CLK的上升沿处,系统复位部件FRST将RST4信号置为无效(为低),并根据外部硬联线逻辑RESET信号判断所有的外围设备是否均已完成复位操作。当RESET信号仍有效(为低)时,FRST部件保持CRS信号有效(为高),使微处理器处于静止状态,等待其它外围设备或协处理器完成复位操作。在RESET信号无效(为高)后的第一个第一时序时钟信号CLK的上升沿处,系统复位部件FRST将CSR信号置为无效(为低),开放由外部硬联线逻辑输入指定的复位引导端口,将复位地址从该端口送出,使该条数据总线呈输入状态,以读取第一条指令,并送译码部件执行。
至此,微处理器硬件系统完成了全部的复位过程,将转入软件系统导引和初始化过程。表12-1 存储操作时序控制
ASCd-PIN ASC_PIN |
功能 |
01 |
同步存储操作异步存储操作 |
表12-2 乒乓译码线路标识
FDP_PIN<1:0> |
功能 |
00011011 |
以第一线路方式为第一译码线路以第二线路方式为第一译码线路以第三线路方式为第一译码线路以第四线路方式为第一译码线路 |
表12-3 存储操作方式标识
PS_PIN FIFO_PIN |
功能 |
0 00 11 x |
FILO存储操作方式FIFO存储操作方式随机存储操作方式 |
表12-4 初始地址标识
IA_PIN |
功能 |
01 |
复位于存储器的低端000000H地址复位于存储器的高端FFFFFFH地址 |
本发明的特点是:硬件体系结构的组织关系、逻辑关系、操作关系可由软件编程——以超长指令的标识代码来控制并设定该体系结构关系,实现动态或静态改变。指令设计不再依据传统的基本指令的语义需求,而是依据人类对计算机操作行为的基本需求元素,利用硬体可重新组织的特征,构成基本元素的语义、语法、语用关系,从而实现计算机软件与硬件融合设计,提高硬、软件资源的使用效率,达到人类应用计算机的目的。