ILLIAC的处理单元基本上是一个四寄存器的运算器。有一个A寄存器和一个B寄存器,用以存放运算操作和逻辑操作的操作数,执行运算操作时,其操作数一个放在A寄存器中,一个放在B寄存器中,结果留在A寄存器中。S寄存器作为暂用存储器,以防止利用中简结果时重复地动周存储器。R寄存器用作程序传送时PE之间的信息转换。这些寄存器的字长都是64位。下图是ILLIAC的处理单元和处理单元存储器:
ILLIAC的机器语言指令由32 位组成,PLA中的64字(每字64位)提供128条指合的排队,多至128条指令的循环执行时不需与PE存储器打交道。64字分成8组,每组8个字。当控制器正在执行的指令进入8字的第5个字时,它就检验下一个8个字是否已经放入PLA,如果还没有进人PLA ,则就发出命令,把它们送入PLA,同时把原来的8个字清除。这就有效地减少了由于取指令而产生的大量延迟时间,但下述情况除外,即向程序的一部分执行转移,而该程序不在PLA中。对大量的已被模拟的程序来说,已发现控制器为了等待从存储器取出指令的延迟时间大大小于原需时间的1 %。
下图是控制器中主要部分的功能图:
在CU和PE间转换操作数与信息,可用下述几种方法:
(1)CU可以同时向所有的PE送出一个64位的字,该字原来可在CU的局部存储器中,或CU的运算器中。其目的地可为PE的64位操作寄存器中的任何一个。
(2)CU把64位的字送到PE,每个PE用一位,即第一位至
(3)CU以上述相反的方法从PE接收信息,即从每个PE的1位寄存器中取样一位,在CU中组合成一个64位的字,利用这个方便,CU就可以借助于64个不同的PE的一位模寄存器来的64位字,判断哪个PE是响应的。
(4)CU可把任一PE存储器的字取至局部数据存储器或PLA,这种取数可以是一个64位字的传送,也可以是8个相接的64位字的传送。8个相接字的取出仅比单个字的取出需要稍长的时间,因此是把PE存储器的数成批进入CU的快速方法。所有送至PLA的取数操作都是自动进行的 。2100433B