信息来源: 时间:2022-4-26
其结构如图5.4所示。控制器AND矩阵的输入,除了上一状态的OR矩阵输出反馈和选定的标志符外,还有来自预先存在存储器中的程序指令。与上述无输入的简单控制器不同,它不是执行预定的专用程序,而是可以执行预先存在存储器中的任何程序,以适应不同用户的算法要求。
存储程序控制的具体操作步序如下:首先指定一个内部寄存器作为程序计数器(PC)。在控制器处于取指(FNI)状态时,以PC作为存储器的地址,读出预存的指令码,输入到控制器,由此来控制数据通道进行一系列的操作和运算。当一条指令执行完毕后,程序计数器加1,即(PC+1),再回到FNI状态,取下一指令。如此进行下去,直到所有的预先存在存储器中的指令全部执行完毕为止。
这里要说明一点:操作数也存在存储器内,它的地址码编在指令码中。因此,操作数是根据指令码中给出的地址从存储器中取数的。
在图5.4中加入一个指令寄存器IR,成为图5.5所示的结构,会使指令执行更为有效。因为在执行指令中的大部分步序都需要以输入指令作为编码输入,其中有不少是相互重复的讯息。IR的加入使OR矩阵的输出反馈位数可以大大减少,由此使PLA的工作更为有效。
一旦定好所设计的机器指令组以后,指令的执行分成如下几步:
1、取指
将程序计数器PC作为存储器的地址,取出指令码,存入指令寄存器IR。
2、指令译码
根据指令中的操作码起动控制器,并使它处于执行相应指令的控制状态。
3、取指令操作数据
指令中标明的地址码可以作为存储器或寄存器的地址。在执行指令过程中通过输出一组控制状态取出操作数放入指定的地方,例如ALU的输入寄存器。
4、对操作数进行操作
例如数据运算、传输和移位等。
5、存储结果
把运算结果存入指定的地方,例如寄存器、存储器或标志符寄存器等。
6、设定下一个指令地址,转回FNI(取新指)一般进行(PC+1),某些特殊情况下不作(PC+1),而是由上次运算结果的标志符(Flags)所决定。
设计PLA控制器时,先列出控制器的各种状态图以及详细的状态转变表,由此可以计算PLA的码点。
总之,如果一旦机器指令和数据通道确定下来,就会产生解释这些指令的控制状态时序,可以构成整个控制状态图,这一过程叫程序化。PLA控制器的码点就可由此决定。
由冯·诺曼提出的存储程序的概念目前几乎被所有的计算机设计者所采用。当然,执行一种指令所要求的机器周期的数目与数据通道的功能密切相关,功能越强,要求的指令周期数就越少。
联系方式:邹先生
联系电话:0755-83888366-8022
手机:18123972950
QQ:2880195519
联系地址:深圳市福田区车公庙天安数码城天吉大厦CD座5C1
请搜微信公众号:“KIA半导体”或扫一扫下图“关注”官方微信公众号
请“关注”官方微信公众号:提供 MOS管 技术帮助