Запоминающие устройства ЭВМ, страница 16

Рис. 1.2.6.10. Алгоритм теста «Попарная запись-считывание с полным перебором».

Рис. 1.2.6.11. Тест «Бегущий столбец».

Рис. 1.2.6.12. Алгоритм теста «Марш – шахматная доска».

Рис. 1.2.6.13. Алгоритм теста «Марширующая строка».

<60>

1.2.7. Организация многоблочной оперативной памяти.

Такая организация, как и иерархия памяти, позволяет повысить быстродействие.

ОЗУ большой емкости обычно выполняют в виде отдельных блоков (модулей) емкостью ЗУ  до 64 Мбит, в которые входят РгА и РгС (числа). Если в ЗУ  2m  блоков, в каждом из которых 2к слов, то суммарная емкость:

2к+m слов.

Код адреса имеет следующую структуру:

Рис. 1.2.7.1

Структура управления таким ЗУ имеет вид:

Рис. 1.2.7.2

В функциональном отношении такие ЗУ можно рассматривать как одно с быстродействием одного блока.

Совмещение работы во времени разных блоков ЗУ возможно при условии, что каждое последующее обращение происходит к другому (следующему!) по номеру блоку ЗУ. Можно ожидать, что при выполнении некоторой программы адреса команд и операндов возрастает  на единицу. В связи с этим, нумерация ячеек в секционированной памяти осуществляется в соответствии с правилом – обращение к одной секции (блоку) производится через 2m –1 обращений к ЗУ. Такая организация именуется расслоением памяти.

Максимальное число одновременно выполняемых к памяти обращений называется коэффициентом расслоения. Все это возможно при условии, что, непосредственно после формирования и передачи адреса в блок, допустимо до появления сигнала z (окончание цикла обращения), а переходить к исполнению следующих запросов.

Основные проблемы: организация условных и безусловных переходов и размещение информации в памяти для получения наибольшего эффекта.

<61>

Итак, как организовать обращение в многоблочной ОП?

Такая организация теоретически способна в l раз при наличии l блоков увеличить производительность памяти.

Есть несколько способов организации:

1 способ: Программную информацию – в один блок (№ 0), данные – в другие (№№ 1, 2, 3, ¼), причем сделать так, чтобы разные каналы ввода/вывода обращались к разным блокам. Но это усложняет систему распределения памяти, поэтому такой способ – только в специализированных ЭВМ, с четко установленным списком алгоритмов.

2 способ. Расслоение памяти за счет расслоения адресов. В самом деле, обычно при чтении и записи обращаются к командам в последовательные ячейки ОП: ,+1, …  и , , … То же и для каналов ввода/вывода: данные в ,+1, ¼ Но тогда стоит слова с адресами обращений ,+1, +2, ¼ размещать соответственно в блоках 0, 1, 2, ¼ Это будет возможно при использовании адресов вида:

Рис. 1.2.7.3

где     В – m-разрядный адрес блока;

А – k-разрядный адрес ячейки в блоке.

Для 4-х блочной ОП в нулевом блоке содержатся ячейки с адресами 0, 4, 8, ¼; в первом – 1, 5, 9, 13 и т.д.

Интересно посмотреть, каковы реальные значения коэффициентов расслоения. В зависимости от классов решаемых задач

для 2- блочной ОП – коэффициент –

1,2 – 1,3

         4                         -

1,7 – 2,2

         8                         -

3,4 – 4,2