3 ms·
> Variable-width is the new hotness […] Hardly new. The VAX 6000 Series Vector Processor supported variable length vectors with up to 64 vector elements: W
by inkyoto 4y ago
> Variable-width is the new hotness […]
Hardly new. The VAX 6000 Series
Vector Processor supported variable length vectors with up to 64 vector elements:
With the VAX, the vector register has a maximum length of 64 elements. Each element can contain up to 64 bits. The elements used can be enabled or disabled by setting bits in a Vector Mask Register (VMR). The programmer usually determines the range, or limits the number of elements used through a Vector Length Register (VLR) (see Figure 1–2). This range can vary, for example, from 0 to 64 elements. Of course, if the vector length = 0, no vector elements will be processed.
I am pretty sure the concept predates the VAX days and might go as far back as the CDC STAR-100 from 1974 and potentially also the Cray-2, but I have had a trouble locating authoritative sources on the details of the ISA of the former.
- adrian_b 4y agoVariable length vectors have been available much earlier than any VAX. The most notorious vector computer is Cray-1 from 1976, and it already had variable length vector operations using a vector length register (and also 64-element vector registers). All later vector computers and also both the vector extension of the RISC-V ISA and the SVE extension of ARM have been strongly inspired by the ISA of Cray-1. CDC STAR-100 introduced a few influential ideas, but it had a low performance because it did not have vector registers (the operands of its vector instructions were arrays stored in the main memory).