Министерство образования РФ
Рязанская государственная радиотехническая академия
Кафедра ЭВМ
Реферат
По предмету: «Организация ЭВМ, комплексов и систем»
Тема: Разработка машины баз данных
Выполнил:
ст. гр. 0410
Гончаров Евгений
Рязань – 2001 год
Постановка задачиРазработать вычислительную структуру, реализующую заданный набор операций для обработки запросов в реляционной базе данных (БД).
БД состоит из 128 записей, каждая из которых содержит 11 полей следующего формата:
F1: Char, 16 байт
F2: Char, 14 байт
F3: Char, 20 байт
F4: Date (dd. mm. gg), 3 байта
F5: Dec unsigned, packet, 6 байт
F6: Dec unsigned, packet, 3 байта
F7: Char, 20 байт
F8: Char, 4 байта
F9: Dec unsigned, unpacked, 3 байта
F10: Logical, 1 байт
F11: Integer signed, 4 байта
Заданные операции:
Поиск равных (F8)
Вычитание константы (F5)
Доступ к памяти:
Побитовый (параллельный)
4 х – байтный (последовательный)
При выполнении поставленной задачи основным требованием к проектируемой системе будет являться обеспечение наибольшей скорости обработки данных. Этого можно достичь путем применения специализированных аппаратных средств. Таким образом, разрабатываемая система является машиной баз данных (МБД).
Описание используемых полей БД
Поле F5 – десятичное целое, упакованный формат. Размер поля 6 байт. Десятичная цифра занимает 4 байта или одну тетраду.
Поле F8 – символьное, размер поля 4 байта.
Машиной баз данных (МБД) называют вычислительную структуру для скоростной обработки запросов к БД. МБД подключается к центральному процессору (ЦП).
Блок – схема системы с МБД приведена на рис. 1
Рис. 1. Система с машиной баз данных
ЦП преобразует запрос к БД в последовательность команд, передаваемую на вход управляющего процессора УПМБД, УПМБД запоминает и декодирует команды, формирует адреса обращений к запоминающему устройству МБД (ЗУБД), генерирует управляющие сигналы для ЗУБД и исполнительных процессоров и сообщает ЦП об окончании операции.
Если емкость ЗУБД недостаточна для хранения полной БД, предусматривается обмен данными Д с глобальной базой данных ГБД через ЦП или контроллер прямого доступа к памяти КПДП.
Запоминающее устройство
ЗУБД можно представить как двумерную матрицу n x r бит. В каждой строке записывается одна или несколько записей БД, которые принадлежат одной и той же таблице БД или различным таблицам. Совокупность битов одного столбца матрицы называют битовым разрядным срезом. Аналогично определяются 4 х – битовый (тетрадный) или 8 и – битовый (байтовый) срезы.
Операции ЗУБД включают чтение и запись строк, выполняемые побайтно или словами по несколько байтов, а также чтение и запись разрядных срезов параллельно по всем строкам матрицы.
Управляющий процессор
Для исполнения запросов команды СУБД преобразуются в последовательность микрокоманд, непосредственно исполняемых аппаратурой. Преобразование происходит в два этапа. Первый выполняется ЦП, который выдает в УПМБД последовательность команд МБД. На втором этапе УПМБД декодирует команду, создает в своих регистрах набор двоичных слов, требуемых для ее исполнения, и формирует последовательность управляющих сигналов для ЗУБД и УПМБД (микропрограмму).
Исполнительные процессоры
ИПМБД делятся на две группы – параллельной и последовательной обработки записей. Основная функция ИП первой группы – поиск записей, удовлетворяющих заданным условиям. Такие записи отмечаются в специальном регистре – маркере, разрядность которого равна числу записей. Маркеров может быть несколько, и над ними могут выполнятся логические операции для проверки сложных условий. Маркеры могут включатся в таблицы БД в качестве дополнительных полей. С их помощью отмечают недостоверные или удаляемые записи. Если маркеров несколько, используемый маркер указывается в декодированной команде.
Число ИП параллельной обработки равно числу одновременно обрабатываемых записей. Все они имеют идентичную структуру. На их входы поступает одно и тоже множество УС и одно и тоже значение команды из УПМБД.
Для некоторых операций требуется анализ маркеров, например, на равенство нулю. Этот анализ выполняется специальной схемой АМ (анализ маркеров).
Кроме поисковых параллельными методами могут выполнятся и некоторые вычислительные операции.
ИП последовательной обработки предназначены для операций, для которых параллельное выполнение невозможно или слишком затратно. В предельном случае может оказаться достаточно одного такого процессора.
Возможно сочетание параллельной и последовательной обработки записей.
Алгоритм операции «поиск равных»:
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]; /* разность */
if (S [i] < C [j] + CR [i]) then CR [i]:= 1
Do for k:= 0 to 3
ЗУБД [A + 4j + k]:= RAZk; /* запись среза */
end;
end.
Пример выполнения операции поиск равных
Символы кодируются 8 битами, проверяются друг с другом побитно; маска кодируется 32 битами и определяет какие символы участвуют в сравнении. (например, 1111 1111 1111 0000)
1 1 1 0
Алгоритм операции «Поиск равных»
Алгоритм операции «Вычитание константы»
Кодирование сигналов в разрабатываемой системе
Y | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Res. M Зп. J Чт. ЗУБД 1. J Res. CR Зп. Adr Res. K Зп. S + 1. ADR + 1. K Зп. RAZ Зп. CR SHR. C Зп. RES Чт. RES Зп. ЗУБД 1. ADR SHR. Mask |
Для разработки УП надо составить таблицу переходов
ан | ак | х | Y | Res. Cr. A | Зп. Cr. A | x1 | x2 | x3 |
0 0 1 2 3 4 4 |
1 5 2 3 4 2 0 |
x0 `x0 - `x1 x1 |
- - 1, 2, 6 3 4, 9, 18 4, 9, 18 |
1 |
1 1 |
0 0 |
0 0 |
0 1 |
5 6 7 8 8 9 10 11 12 13 14 15 15 16 16 |
6 7 8 7 9 10 11 12 13 14 15 13 16 6 0 |
/ `x2 x2 `x2 x2 `x1 x1 |
5, 6,2 7 3, 8 17, 10 17, 10 11, 9 12, 9 13, 9 7, 9 14 15, 16 10, 17 10, 17 4 4 |
1 |
1 1 1 |
0 1 1 |
1 0 0 |
0 0 1 |
По таблице переходов можно составить таблицу выработки управляющих сигналов
Y | a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
1 1, 5 3, 7 4, 16 5 5, 1 6, 12 7 4, 9, 10, 11, 12 8, 15 9 10 11 13 14 14 8, 15 4 |