Скачиваний:
37
Добавлен:
02.05.2014
Размер:
81.41 Кб
Скачать

Лекция №7

Основная память со сложным расслоением

Фиксаторы помещены с выхода модуля на его адресный вход. Это позволяет для модуля использовать свой относительный адрес, отличный от других.

Эта структура более гибкая, поэтому необходимо новое устройство – контроллер памяти.

На контроллер поступает поток запросов от конвейера, запрос требует 1 слова, и эти запросы обрабатываются по первому.

Для запроса контроллер определяет занят модуль или нет, если свободен, то адрес /относительный/ помещается в адресный регистр и операция начинается. Если занят, то операция задерживается.

Пока идет обращение к слову в соответствующем модуле, контроллер аналогично обрабатывает остальные запросы.

Когда модуль завершает операцию, то:

  1. если операция была записью, то запускается новая операция;

  2. если операция READ, то направляет данные к запросившим их конвейерам, а потом запускает новую операцию.

То есть выигрыш в производительности будет в N раз по сравнению с отдельным модулем.

Эта высокая скорость будет поддерживаться, если придет серия запросов, где первый модуль будет запрашиваться лишь 1 раз из N запросов.

Будем считать, что память 8-кратно расслоенная. Тогда для запросов с любым промежутком 1, 3, 5, 7, 9, 11, скорость будет в 8 раз быстрее.

Для промежутка 3 последовательность адресов будет иметь вид 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, а последовательность модулей 1, 4, 7, 2, 5, 0, 3, 6, 1, 4, 7. /Этот случай для равномерного распределения/.

При других значениях промежутка работа будет идти не с max скоростью, но все равно быстрее, чем с первым модулем.

Например, для промежутка = 2.

Входная последовательность адресов 0, 3, 6, 9, 12, 15, 18.

Промежуток = 3

Входная последовательность адресов 0, 2, 4, 6, 8

Промежуток = 2

Т.е. увеличение в 4 раза скорости по сравнению с первым модулем

Локальная память

Т.е. max скорость достижима лишь при обращении к сравнительно длинным наборам последовательно расположенных данных.

Эта скорость может совпадать с требуемой конвейером, но порядок доступа часто не соответствует тому, что необходим конвейеру.

Г.е.

Векторный процессор, оператор векторного сложения

1 опер + 1 опер запись результата.

Т.е. необходимо по одному слову из вектора.

А при максимальной скорости выдается целая последовательность слов.

Т.е. необходимо ввести малую сверх быстродействующую память между конвейером и основной памятью. /кэш-память/

Она может быть видима или нет программисту.

Структуры:

  1. произвольный доступ

  2. с дисциплиной FIFO

  3. ассоциативная память

Независимо от структуры организация лок. памяти одинакова!

а) поблочный обмен с основной памятью

б) одновременно более произв обмен с конвеером

Полная скорость доступа к лок памяти должна быть в 2 раза выше «30» для конвейера.

Существует 4 способа реализации лок. памяти.

  1. Ассоциативная КЭВМ-память.

элемент такой памяти содержит адрес основной памяти и данные с этого адреса.

Загрузка осуществляется поблочно, а считывание произвольно.

При загрузке данные и адрес заносятся в свободный элемент кэша.

Считывание

конвейер выдаёт необходимый адрес и производится сравнение с имеющимися адресными частями. Элемент памяти с соответствующим адресом выдаёт данные.

Конвейер лок. память не видит, но зато основная память представляется нерасслоенной и быстродействующей.

2) переключающийся /дуальный/ буфер

Это две памяти с произвольным доступом соединённых так, что пока одна осуществляет обмен с основной памятью, другая подключена к конвейеру.

Когда основная память и конвейер завершают работу, то происходит переключение.

Эта структура часто используется в векторных процессорах.

Т.е. векторные регистры CRA Y

3) двухпортовая память с произвольным доступом.

Память небольшого объёма имеет два комплекта логических схем декодирования адресов и выборки, обеспечивающих одновременный доступ к её различным словам со стороны основной памяти и конвейера через 2 порта.

  1. Очередь ????? FIFO

Данные поступают и выходят с различной скоростью. Здесь представлен арифметический конвейер векторного процессора.

Заполняется 2 входа конвейера и разгружается 1.

Пока обе входные очереди и 1 выходная не переполнятся основная память может загружать или считывать данные в произвольном порядке.

Соседние файлы в папке Лекции по интеллектуальным системам