3、向量数据表示(简单应用)
这里又提到向量,前面已经简单解释过向量,这里说的是向量数据表示,我们知道向量在内存中是连续存放在一段空间里的,换句话说,这些向量元素的地址是连续的。
在标量计算机上运行时,由于没有专门的向量数据表示,因此在计算一个向量(相当于一维数组的计算)时,每取用一个数据元素,都要用到计算该元素的地址。而在向量机中,由于有了向量数据表示,就可以把一个向量用一个位串来表示出来。向量指令就是能够用一条指令对向量的全部元素进行运算的指令。
比方,有两排抽屉:A和B:我们有一个任务,就是把A中每个抽屉里的东西按照顺序一一对应地搬到B的每个抽屉里。
用标量指令就是这样:听着,把A1抽屉里的东东给我搬到B1里去~~(等打工的搬好后……)再把A2抽屉里的东东给我搬到B2里去!(又等跑腿的搬完后……)还有,把A3抽屉……直到把全部抽屉搬好,数到了5,算是完成一项任务了,其间用了5次循环命令。
而用向量指令就是这么说的:听着,把A柜子从第1格抽屉起的5个抽屉的东东给搬到B柜子里去,位置是从第1格抽屉起,依次放到5个抽屉里去。这样,跑腿的就明白了,只要一句话就完成了任务。
向量表示就是用一个位串来表示一个向量的基址、位移量和向量长度,这样三个值就能明确表示一个向量,并能确定参加计算的元素所在的位置,因此向量表示是向量指令及向量机得以实现的基础。
在向量处理中,还会遇到稀疏向量(就是含有大量0元素的向量),所以为了节省空间了处理时间,采用压缩向量的表示方法。这里要注意的是有一个中间向量Z向量,它是一个位向量,每个元素不是1就是0,而压缩向量就是根据Z向量中的有1的元素对应的稀疏向量元素存储起来而得到的。这个容易理解。

4、自定义数据表示(领会)
为了减少高级语言与机器语言之间的差别,采用了自定义数据表示,就是由数据本身来表明数据类型,这样可以使每种指令的种类大为减少,称为通用化指令。自定义数据表示形式有两种,即带标志符数据表示和数据描述符表示。
带标志符数据表示就是对每一个数据都附加一个标志符,由这个标志符来表示这个数据的类型。这种表示法有它的优点也有它的缺点,请认真领会一下。
其优点是:简化指令系统;易于对编程查错;自动类型转换;简单化编译;方便程序调试。缺点是增加存储空间又使指令执行速度变慢。
另一种就是数据描述符表示,主要用来描述复杂和多维结构的数据类型,如向量、记录等,它于带标志符数据表示不同之处是:
(1)标志符要与每个数据相连,两者合存在一个存储单元中;而描述符则和数据分开存放(一个连合一个分)
(2)要访问数据集中的元素时,必须先访问描述符,这就至少增加一级寻址(先访描符增寻址)
(3)描述符可看成是程序一部分,而不是数据的一部分。标志符则可看作是数据的一部分(程序部分不是数)