Реферат: Распределение памяти

CONST_PART = BASELOC - ((...(L1*d2+L2)*d3+L3)*d4+...+Ln-1)*dn+Ln)

VAR_PART = (...((i*d2)+j)*d3+...+1)*dn + m

Значение CONST_PART необходимо вычислить только 1 раз и

запомнить, т.к. оно зависит лишь от нижних и верхних границ

индексов и местоположения массива в памяти. VAR_PART зависит от

значений индексов i,j,...,m и от размеров измерений d2,d3,...,

dn. Вычисление VAR_PART можно представить в более наглядном виде:

VAR_PART = первый индекс (i)

VAR_PART = VAR_PART*d2 + второйиндекс (j)

VAR_PART = VAR_PART*d3 + третийиндекс (k)

.....

VAR_PART = VAR_PART*dn + n-йиндекс (m)

Информационные векторы

В некоторых языках верхняя и нижняя границы массивов известны

во время трансляции, поэтому компилятор может выделить память для

массивов и сформировать команды, ссылающиеся на элементы массива,

┌────┬────┬────┐

│ L1 │ U1 │ d1 │

├────┼────┼────┤

│ L2 │ U2 │ d2 │

│ . │ . │ . │ Описание массива

│ . │ . │ . │ A[L1:U1,...,Ln:Un]

│ . │ . │ . │

│ Ln │ Un │ dn │

├────┼────┴────┤

│ n │CONSTPART│

├────┴─────────┤

│ BASELOC │

└──────────────┘

К-во Просмотров: 805
Бесплатно скачать Реферат: Распределение памяти