Реферат: Разработка машины баз данных
ЦП преобразует запрос к БД в последовательность команд, передаваемую на вход управляющего процессора УПМБД, УПМБД запоминает и декодирует команды, формирует адреса обращений к запоминающему устройству МБД (ЗУБД), генерирует управляющие сигналы для ЗУБД и исполнительных процессоров и сообщает ЦП об окончании операции.
Если емкость ЗУБД недостаточна для хранения полной БД, предусматривается обмен данными Д с глобальной базой данных ГБД через ЦП или контроллер прямого доступа к памяти КПДП.
Запоминающее устройство
ЗУБД можно представить как двумерную матрицу n x r бит. В каждой строке записывается одна или несколько записей БД, которые принадлежат одной и той же таблице БД или различным таблицам. Совокупность битов одного столбца матрицы называют битовым разрядным срезом. Аналогично определяются 4 х – битовый (тетрадный) или 8 и – битовый (байтовый) срезы.
Операции ЗУБД включают чтение и запись строк, выполняемые побайтно или словами по несколько байтов, а также чтение и запись разрядных срезов параллельно по всем строкам матрицы.
Управляющий процессор
Для исполнения запросов команды СУБД преобразуются в последовательность микрокоманд, непосредственно исполняемых аппаратурой. Преобразование происходит в два этапа. Первый выполняется ЦП, который выдает в УПМБД последовательность команд МБД. На втором этапе УПМБД декодирует команду, создает в своих регистрах набор двоичных слов, требуемых для ее исполнения, и формирует последовательность управляющих сигналов для ЗУБД и УПМБД (микропрограмму).
Исполнительные процессоры
ИПМБД делятся на две группы – параллельной и последовательной обработки записей. Основная функция ИП первой группы – поиск записей, удовлетворяющих заданным условиям. Такие записи отмечаются в специальном регистре – маркере, разрядность которого равна числу записей. Маркеров может быть несколько, и над ними могут выполнятся логические операции для проверки сложных условий. Маркеры могут включатся в таблицы БД в качестве дополнительных полей. С их помощью отмечают недостоверные или удаляемые записи. Если маркеров несколько, используемый маркер указывается в декодированной команде.
Число ИП параллельной обработки равно числу одновременно обрабатываемых записей. Все они имеют идентичную структуру. На их входы поступает одно и тоже множество УС и одно и тоже значение команды из УПМБД.
Для некоторых операций требуется анализ маркеров, например, на равенство нулю. Этот анализ выполняется специальной схемой АМ (анализ маркеров).
Кроме поисковых параллельными методами могут выполнятся и некоторые вычислительные операции.
ИП последовательной обработки предназначены для операций, для которых параллельное выполнение невозможно или слишком затратно. В предельном случае может оказаться достаточно одного такого процессора.
Возможно сочетание параллельной и последовательной обработки записей.
4. Разработка функциональных схем ИП и алгоритмов их операций
Алгоритм операции «поиск равных»:
M:= 11…1; /* установка маркера */
For j:= 0 to 31 do
S:= ЗУБД [A + j]; /* чтение среза */
If (S ¹ c[j]) & mask then m:= 0;
next j;
end.
Алгоритм операции «вычитание константы»:
CR:= 0; /* сброс маркера заемов */
Do for j:= L – 1 to 0
Do for k:= 0 to 3
Sk:= ЗУБД [A + 4j + k]; /* чтение разрядного среза */
end;
RAZ [j]:= S [i] – C [j] – CR [i]; /* разность */