ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Государственное образовательное учреждение высшего профессионального образования Московский технический университет связи и информатики Волго-Вятский филиал КОНТРОЛЬНАЯ РАБОТА по дисциплине «Вычислительная техника и информационные технологии» Нижний Новгород 2015г. I. Задание на курсовую работу: Курсовая работа предусматривает: -изучение принципа действия упрощенной модели автоматического вычислителя типа программируемого микрокалькулятора, структурная схема которого изображена на рис. 1; -программирование предписываемых функцией в двоичных кодах F=fк (a, b, c, d) алгоритма вычислений, из таблицы 10 методических указаний, где индекс k задает номер варианта и определяется предпоследней i=2 и последней j=0 цифрами моего варианта: 1) N=10i+j=20; 2) K=N=20; F a bcd ; 3) a=N+15=35; b=N+13=33; c=N+5=25; d=N=20. При этом программу следует разместить в память команд (ПК), начиная с ячейки № i=2, а операнды a, b, c и d – в память данных (ПД), начиная с ячейки № j=0; -синтез конечного автомата (КА), реализующего функции устройства управления (УУ) на рис.1; -выполнение вручную всех расчетов согласно f k () в двоичной системе счисления с выдачей всех промежуточных и окончательного результатов. Рисунок 1 – Структурная схема вычислителя 2 3 II. Теоретическая часть 1.Состав вычислителя. В состав вычислителя входят: арифметико-логическое устройство АЛУ (ALU), регистр RgQ, память команд ПК, память данных ПД, устройство управления УУ (конечный автомат КА), мультиплексор MS, элементы управляющей логики И1, И2. 2.Принцип работы вычислителя. В ПК записываются команды, в ПД – операнды (данные). Управление ПК и ПД осуществляется с помощью УУ сигналами V1-V7, которые подаются в виде 0 и 1 на указанные устройства. Сначала выполняется первая (верхняя) команда (она записана в регистрах (строчках) ПК) и по указанным в ней адресам выбирает из ПД нужные данные (числа) для операндов X и Y (аргументов, над которыми выполняются заданные операции). Для выполнения необходимой операции над X и Y в АЛУ подается КОП (код операции). Полученный результат из АЛУ выдается в регистр результата RgQ. Если этот результат промежуточный, то он записывается в ПД в ячейку (РОН) с адресом, который указан в команде. Если результат конечный, то он из RgQ подается на выход (например, на дисплей). Устройство управления (УУ) главным образом определяет очередность выбора команд. В данном случае это последовательный переход по счету от одной команды к другой (от одного адреса к другому). Поэтому УУ представляет собой счетчик, на выходе Q которого появляется двоичная комбинация, определяющая число сосчитанных входных импульсов. Управление заключается в подаче импульса запуска и выключении УУ после выполнения всех операций по заданной функции. 3 III. Практическая часть 1. Присвою данным операндам определенные РОН «а» помещаю в ячейку РОНj=РОН0; «b»→ РОНj+1=РОН1; «с»→ РОНj+2=РОН2; «d»→ РОНj+3=РОН3 Введу вспомогательные переменные: e= a g =b c h= b c gc l= b c d h d k= b c d h d e m= a k Для дополнительно введенных переменных и их временного хранения выделю дополнительные РОН: e – РОН4, g – РОН5, h –РОН6, l – РОН7, k – РОН8, m– РОН9 АЛУ выполняет следующие операции: F x , код операции – 010; F x y , код операции – 011; F x y , код операции – 100; F x y , код операции – 101; 2. Составляю блок-схему алгоритма вычисления. Алгоритм вычислений реализуется последовательным выполнением команд K1,…,K9, каждая из которых обеспечивает выполнение следующих операций: K1 – вычисление e и размещение результата в RgQ K2 – перезапись e из RgQ в РОН4. К3 – вычисление g и размещение результата в RgQ K4 – перезапись g из RgQ в РОН5. K5 – вычисление h и размещение результата в RgQ K6 – перезапись h из RgQ в РОН6. K7 – вычисление l и размещение результата в RgQ K8 – перезапись l из RgQ в РОН7. K9 – вычисление k и размещение результата в RgQ K10 – перезапись k из RgQ в РОН8. K11 – вычисление m и размещение результата в RgQ K12 – перезапись m из RgQ в РОН9. 4 3. Программирование сводится к записи кодов всех перечисленных команд в той же последовательности. Заполняю таблицу команд программы (хранящейся в памяти команд). Команда Таблица 2 К1 К2 К3 К4 К5 К6 К7 К8 К9 К10 К11 К12 Тип перехода от одной команды к другой Адрес в ПК КОП ALU Адрес (в ПД) (РОН) Адрес (в ПД) (РОН) Ay Ax V V V V V P P P K K K 5 4 3 2 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Стоп 0 х 0 х 0 x 0 х 0 х 1 х 1 x 1 x 1 х 1 x 1 х 0 х 0 x 1 x 1 x 1 x 1 х 1 х х x х 0 х 0 х 0 х 0 х 0 х x х 1 х 0 х 1 х 0 х 1 х х х 0 х 1 х 0 х 1 х 1 х x х 1 х 1 х 1 х 0 х 1 х х х 0 х 0 х 1 х 0 х 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 Доп. уровни в УУ V V 6 7 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 0 4. Создание (синтез) УУ – устройства, выполняющего команды V0-V7. a) Структурная схема УУ. Управляющее устройство содержит комбинационные устройства КУ1 и КУ2, память и схему запуска. Комбинационное устройство КУ1 формирует сигналы q1, q2, q3, q4 управляющие триггерами T1, T2, T3, Т4 памяти УУ, что обеспечивает переход УУ из состояния a0 в состояние a1, из a1 в a2 и т.д. Рисунок 2 – Структурная схема УУ. q1 схема запуска и ТИ сброса КУ1 ТИ qn Автоматическое устройство переключения от такта к такту Q1 V1 КУ2 Qn Vm счетчик ОС W 5 б) Считаем, что переключающее устройство строится на триггерах с выходами Q. Определю необходимое количество триггеров для выполнения всех команд: m log 2 ( M 1) , где М – количество рабочих состояний (тактов). Также учитывается 1 состояние покоя. m log 2 (9 1) log 2 (10) 4 ,т.е. m=4. После подачи импульса запуска КА должен отработать полный рабочий цикл, выдавая на каждом из тактов требуемые уровни выходных сигналов V1 – V7. В конце 9 такта КА должен сформировать сигнал W=1 сброса, которым он будет переведен в состояние покоя. в) Составляю таблицу функционирования УУ. Таблица 3. Такт (состо яние) Текущее состояние КА Q4 Q3 Q2 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 Остальные Q1 0 1 0 1 0 1 0 1 0 1 Выходные сигналы V5 X 0 0 0 0 0 0 0 0 0 Х V4 X 0 0 0 0 0 0 0 1 1 Х V3 X 0 0 0 1 1 1 1 0 0 Х V2 X 0 1 1 0 0 1 1 0 0 Х V1 X 1 0 1 0 1 0 1 0 1 Х 0 1 2 3 4 5 6 7 8 9 1015 г) Алгоритм работы КА можно представить и в виде графа: V6 X 0 1 0 1 0 1 0 1 0 Х V7 X 1 0 1 0 1 0 1 0 1 Х W Х 0 0 0 0 0 0 0 0 1 Х Рисунок 3 6 Здесь а1…а9 – рабочие состояния КА, а0 – состояние покоя. q 2 Q4 Q3 Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 q3 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 q 4 Q4 Q3Q2 Q1 Для минимизации выражений также использую безразличные состояния Х. q2 Q1 q3 Q2 Q1 7 q 4 Q3Q2 Q1 Для формирования сигналов q1, q2 ,q3, q4 использую встроенную логику ЗИ JK- триггеров. В результате память КА, вместе с КУ1 превратится в счетчик с параллельным переносом. Комбинационное устройство КУ2, имея на своих входах сигналы Q1, Q2, Q3, Q4 должно формировать выходные сигналы V1, V2,…V7, W согласно таблице 3. Формулы для МДНФ выходных переменных V1, V2,…V7, W позволяют построить принципиальную схему КУ2, чем и завершается синтез УУ. Рисунок 4 – Схема синтезированного устройства КУ1 – счетчика с параллельным переносом ж) Аналогично составляю функции для V1-W в СДНФ и синтезирую КУ2, используя таблицу 3. V1 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 8 V2 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 V3 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 Q4 Q3Q2 Q1 V4 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 V5 0 V6 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 V7 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3 Q2 Q1 Q4 Q3Q2 Q1 Q4 Q3Q2 Q1 W Q4 Q3Q2 Q1 Минимизирую выражения с помощью карт Карно-Вейча: 9 V4 Q4 x x x x 1 x 1 x Q3 Q1 Q2 Получаю МДНФ: V1 Q1 V2 Q2 V3 Q3 V4 Q4 V5 0 V6 Q1 V7 Q1 W Q4 Q1 10 Рисунок 5 - Схема КУ2 з) Строю схему запуска и сброса. Рисунок 6 - Схема запуска КА работает в том случае, если на его вход подаются тактовые импульсы ТИ, которые считаются счетчиком и заставляют его срабатывать. Таким образом, должна присутствовать схема запуска, которая подает ТИ от генератора на УУ. Еe выключение прекращает подачу ТИ. 11 Схема запуска и сброса может быть организована на ЛЭ «И» и RS–триггере (рис.6). Если на вход S триггера подать запускающий импульс, то на выходе Q появляется 1 и открывает схему «И». Когда вырабатывается команда СТОП, на вход R триггера подается сигнал W=1, на выходе Q появляется 0, и схема «И» перестает пропускать ТИ. Одновременно сигнал W подается на R-асинхронные входы триггеров, осуществляя их сброс (обнуление). Рисунок 7 – Общая схема УУ Схема запуска КУ2 КУ1+память=счетчик и) Проведу контрольные расчеты в двоичной системе счисления по заданной функции вычислителя. а = 35(10) = 100011(2) b = 33(10) = 100001(2) с = 25(10) = 11001(2) d=20(10) = 10100(2) F a bcd Вычисление e = a e a 100011 011100 Вычисление g = b c g 100001 011001 111000 Вычисление h = b c g c h 111000 011001 111001 12 Вычисление l= h d l 111001 010111 111011 Вычисление k= h d k 111001 10100 111001 Вычисление m a k m 011100 111001 111101=61(10) Литература: 1. Цифровая и вычислительная техника/Под ред. Э.В. Евреинова. – М.: Радио и связь, 1991. – 464 с. 2. Каган Б.М. Электронные вычислительные машины и системы. – М.: Энернгоатомиздат, 1991. – 592 с. 3. Скворцов Г.И. Вычислительная техника и информационные технологии –МТУСИ М. 2004 – 40 с. 13