logo
Архитектура ВС (Карцева А

Понятие вектора и размещение данных в памяти

В средствах векторной обработки под вектором понимается одномерный массив однотипных данных (обычно в форме с плавающей запятой), регулярным образом размещенных в памяти ВС. Если обработке подвергаются многомерные массивы, их также рассматривают как векторы.. Пусть имеется массив данных A, представляющий собой прямоугольную матрицу размерности 4x5 (рис. 29.1).

Рис.29.1. Прямоугольная матрица данных

При размещении матрицы в памяти все ее элементы заносятся в ячейки с последовательными адресами, причем данные могут быть записаны строка за строкой или столбец за столбцом (рис. 29.2). С учетом такого размещения многомерных массивов в памяти вполне допустимо рассматривать их как векторы и ориентировать соответствующие вычислительные средства на обработку одномерных мас­сивов данных (векторов).

Рис.29.2. Способы размещения в памяти матрицы 4Х5

Действия над многомерными массивами имеют свою специфику. Например, двумерном массиве обработка может вестись как по строкам, так и по столбцам. Это выражается в том, с каким шагом должен меняться адрес очередного выбираемого из памяти элемента. Так, если рассмотренная в примере матрица располо­жена в памяти построчно, адреса последовательных элементов строки различаются на единицу, а для элементов столбца шаг равен пяти. При размещении матрицы по столбцам единице будет равен шаг по столбцу, а шаг по строке — четырем. В векторной концепции для обозначения шага, с которым элементы вектора извлека­ются из памяти, применяют термин шаг по индексу (stride).

Еще одной характеристикой вектора является число составляющих его элементов — длина вектора.