49548 (Вычислительная система обработки данных в реальном времени), страница 2
Описание файла
Документ из архива "Вычислительная система обработки данных в реальном времени", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49548"
Текст 2 страницы из документа "49548"
Ниже приведены форматы слова состояния и слова управления:
Слово состояния:
R – флаг готовности результат. Устанавливается в 1 после записи в выходной регистр результата и сбрасывается в 0 при чтении регистра. Анализируется процессором для записи нового результата только после чтения предыдущего, и приложением работы с УВ, для чтения результата только после его готовности.
op1, op2 – значение операндов, участвующих в вычислении функции: текущее значения (op1) и предыдущее (op2). Могут принимать значения: 0x – произвольное ненулевое число; 10 – нуль; 11 – бесконечность. Предназначены для выявления исключительных ситуаций, таких как 0/0 или /. В таких ситуациях выдается нулевой результат, а эти биты должны быть проанализированы для определения типа ситуации.
div0, OF, UF – флаги ошибок деления на нуль, переполнения и антипереполнения соответственно.
Слово управления:
УБ – управление бесконечностью. В случаях, когда результатом является бесконечность, данный бит управляет формированием результата. 0 – выдается нулевое значение результата; 1 – выдается максимально возможное значение (0FFFFh). В обоих случаях определить бесконечность можно анализом слова состояния.
УП – управление переполнением. В случаях, когда результат превышает 16‑разрядов, данный бит управляет формированием результата: 0 – результатом будут младшие 16 бит результата; 1 – результатом будет максимально возможное значение (0FFFFh). В обоих случаях установить факт переполнения можно анализом слова состояния.
УД – управление данными АЦП. В случаях, когда разряд переполнения АЦП установлен в 1, данный бит позволяет определить как интерпретировать входной сигнал: 0 – сходной сигнал интерпретируется как бесконечность; 1 – входной сигнал интерпретируется как максимально возможное значение (0FFFFh).
УА – управление антипереполнением. Антипереполнение возникает в случае, когда значение результата оказывается меньше младшего разряда. Данный бит позволяет интерпретировать данный результат двумя способами: 0 – нулевой результат; 1 – результат равен 1.
Алгоритм вычисления функции
Вычисляемая в устройстве ввода функция имеет вид:
где Xi – текущее значение входного сигнала;
Xi-1 – предыдущее значение входного сигнала;
Yi – выходной сигнал.
Разрядность входного сигнала равна 10, в связи с чем максимальная разрядность результата будет составлять 20. Однако, из-за особенностей работы УВ и используемой аппаратуры, результат формируется 16-разрядным.
Возможны два варианта вычисления указанной функции, отличающиеся последовательностью выполняемых операций: 1) деление, возведение в квадрат; 2) возведение в квадрат, деление. Первый вариант предпочтительнее, т. к. обладает меньшей вычислительной сложностью, однако при его реализации необходимо учесть, что остаток от первоначального деления также должен участвовать в последующем возведении в квадрат.
На рисунке 7 приведен фрагмент алгоритма вычисления функции и формирования результата. При этом следует обратить внимание на некоторые особенности алгоритма. Входные значения находятся регистрах Ax=Xi и Bx=Xi-1. Результат формируется в регистре Ax. Т.к. слово состояния представляет собой набор бит, то операция типа SWdiv0 представляет собой установка соответствующего бита. Более того, наличие исключительных ситуаций предполагает наличия двух значений для каждого операнда: само значение и его представление в слове состояния (см. рисунок 6), причем, изменение одного из них не влечет изменения другого.
Ниже приведена программа, соответствующая приведенному а
лгоритму:
test Cl, 01010000b ; будут ли исключительные ситуации?
jnz @@LABEL3 ; будут – переход
mov Dx, Ax
shr Dx, 8
cmp Dx, Bx ; X(i)>=256*X (i‑1)?
jae @@LABEL8
@@LABEL9:
cmp Ax, Bx ; X(i) jl @@LABEL10 xor Dx, Dx ; очистим Dx div Bx ; Dx: Ax/Bx -> A+D/B mov Si, Ax ; сохраним значение A mul Dx ; Dx: Ax < – A*D shl Ax, 1 ; *2 shl Dx, 1 div Bx ; 2*A*D/B mov Bx, Ax mov Ax, Si ; восстановим A mul Ax ; Dx: Ax < – A*A add Ax, Bx ; в Ax – результат! jmp @@LABEL7 @@LABEL8: or Cl, 00000010b ; SW < – OF test Ch, 00000100b ; переполнение. Что делать? jnz @@LABEL9 mov Ax, 0FFFFh ; результат < – максимум jmp @@LABEL7 @@LABEL10: or Cl, 00000001b ; SW < – UF mov Al, Ch and Ax, 0001h ; результат < – UF jmp @@LABEL7 @@LABEL3: xor Ax, Ax ; результатом будет 0 mov Dl, Cl ; Dl < – SW mov Dh, Cl ; Dh < – SW and Dx, 0001100001100000b ; замаскируем по операндам cmp Dl, 01000000b ; X(i)==0? je @@LABEL4 ; да – на выход cmp Dh, 00011000b ; X (i‑1)==бесконечность? je @@LABEL4 ; да – на выход test Ch, 00001000b ; результат = бесконечность jnz @@LABEL4 mov Ax, 0FFFFh ; результат < – максимум @@LABEL4: cmp Dl, 01100000b ; X(i)==бесконечность? jne @@LABEL5 or Cl, 00000010b ; SW < – OF @@LABEL5: cmp Dh, 00010000b ; X (i‑1)==0? jne @@LABEL6 or Cl, 00000100b ; SW < – div0 @@LABEL6: cmp Dh, 00011000b ; X (i‑1)==бесконечность? jne @@LABEL7 or Cl, 00000001b ; SW < – UF @@LABEL7: Полный текст программы работы процессора с учетом самотестирования, настройки интерфейса и вычисления функции приведен в приложении А. Размер всей программы составляет 226 байт, что позволяет ограничиться размером ПЗУ в 1 Кбайт (512К16). Организовать такую память можно путем параллельного подключения двух микросхем КМ1608РТ2 [5]. Более того, данная программа не требует сохранения промежуточных результатов в памяти, что позволяет исключить из состава устройства ОЗУ. Рассмотрим функциональную схему УВ раздельно по ее блокам. Функциональная схема данного блока является достаточно простой. Она представляет собой набор АЦП, цифровые выходы которых подключены к порту A блока интерфейса через специальный разъем. Блок цифровой обработки состоит из: микропроцессора, буферных регистров, шинных формирователей, генератора тактовых импульсов, микросхем памяти и дешифратора управляющих сигналов, объединенных для организации однопроцессорной системы [7]. Буферные регистры и шинные формирователи необходимы для демультиплексирования шин адреса и данных. Генератор тактовых импульсов формирует тактовые импульсы, сигналы сброса и готовности. Дешифратор управляющих сигналов декодирует сигналы управления процессора и вырабатывает сигналы чтения и записи памяти и внешних устройств (портов). Элементы соединены для организации однопроцессорной системы с памятью и портами ввода-вывода. Блок интерфейса состоит из: микросхемы интерфейса, шинных формирователей и буферных регистров (для подключения к системной шине), логики управления системной шиной, дешифратора системного адреса и логики управления готовностью и чтением результата. Логика управления системной шиной заключается в выдаче сигнала IO16, информирующего о передаче 16‑разрядных данных. Дешифратор системного адреса необходим для определения факта обращения к УВ со стороны ПЭВМ. Для обращения к проектируемому устройству зарезервированы два адреса, на которые оно будет откликаться: 320h – для чтения результата и 322h – для чтения слова состояния и для записи управляющего слова. Логика управления готовностью и чтением результата предназначена для исключения ситуаций, когда процессор подготовил новые данные, а предыдущие еще не были считаны. Данная операция осуществляется путем подачи на вход TEST процессора сигнала неготовности на время, пока результат не будет считан. Процессор ждет разрешающего уровня на данном входе, а затем приступает к формированию следующего результата. Функциональная схема проектируемого УВ приведена на отдельном чертеже К2.006.223.Э2. Блок АЦП конструктивно разрабатывается как отдельный модуль, подключаемый к устройству через специальный разъем типа RS‑232. Выбранный тип микросхемы АЦП К1107ПВ4 имеет ряд особенностей. Выходные уровни данной микросхемы соответствуют ЭСЛ логике, что требует наличия преобразователей уровня для подключения к устройству. В качестве преобразователей уровня используется микросхема К500ПУ125. Кроме того, микросхема АЦП имеет напряжение питания –5,2 В, что требует подключения стабилизатора напряжения. В данном случае это стабилизатор напряжения отрицательной полярности К142ЕН10. С помощью такого же элемента формируется напряжение –2 В, необходимое для подключения цифровых выводов микросхем через сопротивления 100 Ом. Регулировка напряжения гистерезиса отсутствует в связи с тем, работа микросхем АЦП будет производиться на малых частотах (5 МГц). Входное напряжение подается в модуль через специальный разъем типа 3.5 mm Mono Telephone plug. Аналоговая земля соединяется с цифровой землей. Схема электрическая принципиальная блока АЦП приведена на отдельном чертеже К2.006.223.Э3.2. Основным элементом данного блока является микропроцессор К1810ВМ86, на вход MN/MX которого подается напряжение высокого уровня, что соответствует минимальному режиму. Входы CLK, RESET и READY подключены к ГТИ. Выходы BHE, AD0‑AD15 демультиплексируются с помощью буферных регистров и шинных формирователей и образуют шину адреса и шину данных. Выходы M/IO, WR и RD используются для формирования сигналов управления памятью и внешними устройствами (портами). Выходы NMI, INT, INTA, HOLD и HLDA не используются за ненадобностью.
Разработка функциональной схемы УВ
Блок АЦП
Блок цифровой обработки
Блок интерфейса
Разработка принципиальной схемы УВ
Блок АЦП
Блок цифровой обработки