清华大学出版和 8.1,2随机存取存储程序机RASP RASP的结构 RASP的整体结构类似于RAM,所不同的是RASP的程 序是存储在寄存器中的。每条RASP指令占据2个连续的 寄存器。第一个寄存器存放操作码的编码,第二个寄存器 存放地址。RASP指令用整数迸行编码。 2.RASP程序的复杂性 不管是在均匀耗费标准下,还是在对数耗费标准下 RAM程序和RASP程序的复杂性只差一个常数因子。在一 个计算模型下T(η)时间内完成的输入-输出映射可在另 个计算模型下模拟,并在kT(nη)时间内完成。其中k是一个 常数因子。空间复杂性的情况也是类似的
6 8.1.2 随机存取存储程序机RASP 1. RASP的结构 RASP的整体结构类似于RAM,所不同的是RASP的程 序是存储在寄存器中的。每条RASP指令占据2个连续的 寄存器。第一个寄存器存放操作码的编码,第二个寄存器 存放地址。RASP指令用整数进行编码。 2. RASP程序的复杂性 不管是在均匀耗费标准下,还是在对数耗费标准下, RAM程序和RASP程序的复杂性只差一个常数因子。在一 个计算模型下T(n)时间内完成的输入-输出映射可在另一 个计算模型下模拟,并在kT(n)时间内完成。其中k是一个 常数因子。空间复杂性的情况也是类似的
清华大学出版社 TSINGHUA UNIVERSITY PRESS 813RAM模型的变形与简化 1.实随机存取机RRAM 在RRAM模型下,一个存储单元可以存放一个实数。下列的各 运算为基本运算且每个运算只耗费单位时间。 (1)算术运算+,-,X,/。 (2)2个实数间的比较(<,≤,=,≠,≥,>)。 3)间接寻址(輕数地址) (4)常见函数的计算,如三角函数,指数函数,对 数函数等 优点:能够方使处理实数 适合于用 FORTRAN, PASCAL等高级语言写的算
7 8.1.3 RAM模型的变形与简化 1. 实随机存取机 RRAM 在RRAM模型下,一个存储单元可以存放一个实数。下列的各 运算为基本运算且每个运算只耗费单位时间。 (1)算术运算+,-,×,/。 (2)2个实数间的比较(<,≤, = ,≠,≥,>)。 (3)间接寻址(整数地址)。 (4)常见函数的计算,如三角函数,指数函数,对 数函数等。 优点:能够方便处理实数; 适合于用FORTRAN,PASCAL等高级语言写的算 法
清华大学出版社 TSINGHUA UNIVERSITY PRESS 813RAM模型的变形与简化 2.直线式程序 对于许多问题,所设计的RAM程序中的转移指令仅用于重复 组指令,而且重复的次数与问题的输入规模n成比例。在这种情 况下,可以用重复地写出相同指令组的方法来消除程序中的循环 由此,对每一个固定的n得到一个无循环的直线式程序。 经过对RAM模型的简化,得到直线式程序的指令系统如下 Xy+z Xy-z Xy Z 每条指令耗费一个单位时间。 X 其中,)和z是符号地址(或变量),而是常数
8 8.1.3 RAM模型的变形与简化 2. 直线式程序 对于许多问题,所设计的RAM程序中的转移指令仅用于重复 一组指令,而且重复的次数与问题的输入规模n成比例。在这种情 况下,可以用重复地写出相同指令组的方法来消除程序中的循环。 由此,对每一个固定的n得到一个无循环的直线式程序。 经过对RAM模型的简化,得到直线式程序的指令系统如下: x←y+z x←y-z x←y*z x←y/z x←i 其中x,y和z是符号地址(或变量),而i是常数。 每条指令耗费一个单位时间
清华大学出版社 TSINGHUA UNIVERSITY PRESS 813RAM模型的变形与简化 3位式计算 直线式程序计算模型显然是基于均匀耗费标准的。在对数 耗费标准下,使用另一个RAM的简化计算模型,称之为位式计算 ( Bitwise Computation)模型。 除了下列2点外,该计算模型与直线式程序计算模型基本 相同 1)假设所有变量取值0或1,即为位变量。 (2)所用的运算是逻辑运算而不是算术运算。 用∧代表与,V代表或,⊕代表异或,一代表非。 在位式计算模型下,每个逻辑运算指令耗费一个单位时间
9 8.1.3 RAM模型的变形与简化 3. 位式计算 直线式程序计算模型显然是基于均匀耗费标准的。在对数 耗费标准下,使用另一个RAM的简化计算模型,称之为位式计算 (Bitwise Computation)模型。 除了下列2点外,该计算模型与直线式程序计算模型基本 相同: (1)假设所有变量取值0或1,即为位变量。 (2)所用的运算是逻辑运算而不是算术运算。 用∧代表与,∨代表或,代表异或,代表非。 在位式计算模型下,每个逻辑运算指令耗费一个单位时间
清华大学出版社 TSINGHUA UNIVERSITY PRESS 813RAM模型的变形与简化 4.位向量运算( Bit Vector Operations) 若在直线式程序计算模型中,假设所有变量均为位向量,而 且所用的运算均为位操作指令,则得到位向量运算计算模型。 例如,要表示—个有100个页点的图中从顶点V到其余各顶点 间有没有边相连,可以用100位的一个位向量表示。若顶点V到顶 点V之间有边相连,则该位向量的第位为1,否则为0。 缺点:所需的机器字长要远大于其他模型
10 8.1.3 RAM模型的变形与简化 4. 位向量运算(Bit Vector Operations) 若在直线式程序计算模型中,假设所有变量均为位向量,而 且所用的运算均为位操作指令,则得到位向量运算计算模型。 例如,要表示一个有100个顶点的图中从顶点v到其余各顶点 间有没有边相连,可以用100位的一个位向量表示。若顶点v到顶 点vj之间有边相连,则该位向量的第j位为1,否则为0。 缺点:所需的机器字长要远大于其他模型