Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_VvIT_Otvety_2022.docx
Скачиваний:
15
Добавлен:
25.01.2023
Размер:
2.11 Mб
Скачать

24. Устройство управления микропроцессора. Назначение, структура, принцип действия.

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

УУ состоит из дешифратора команд и формирователя сигналов управления.

При выполнении любой команды программы содержимое программного счетчика загружается в магистраль адреса МА, одновременно формируется сигнал чтения памяти программ и в ответ на эти сигналы содержимое первого слова команды, хранящейся в ячейке памяти программ, загружается в МД (магистраль данных), откуда поступает в ДШК УУ (дешифратор команд устройства управления). После этого содержимое регистра программного счетчика РС наращивается на единицу, подготавливая выполнение считывания очередной команды.

Согласно принципу микропрограммного управления любое электронное устройство может быть представлено в виде пары: устройство управления — операционное устройство, где на долю управляющего устройства приходится полный контроль работы операционного устройства. На долю операционного устройства приходится непосредственно осуществление полученных команд и преобразование контролируемых величин в удобный для управляющего устройства вид.

25. Виды языков программирования. Особенности программирования в машинных кодах. Достоинства и недостатки. Особенности программирования на ассемблере. Достоинства и недостатки. Особенности программирования на языках высокого уровня. Достоинства и недостатки.

Язык высокого уровня - язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами компилятора либо интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик, Паскаль, Си, Ада и др.

Плюсы высокоуровневых языков:

· Главный плюс – абстракция. Современные разработчики не обязаны знать, как устроен компьютер и как с ним общаться с помощью нулей и единиц.

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

· ПО стало портативным. Одну базу кода можно использовать сразу на нескольких платформах. Мощные интерпретаторы в полуавтоматическом режиме превращают код на одном языке в код для нескольких отличающихся друг от друга ОС.

Минусы высокоуровневых языков:

· Низкая производительность. Чем выше уровень абстракции, тем больше времени и ресурсов компьютера тратится на «перевод» одного языка в другой.

· Не особо смышленые программисты. Многие разработчики не углубляются в теоретическую базу и остаются на уровне своего языка. Притупляется внимание, страдают навыки поиска и инженерное мышление.

· Избыточное внимание к инструментам. Количество дополнительных слоев абстракции становится избыточным. Регулярно появляются новые фреймворки, редакторы кода, дополнительные вспомогательные приложения, языки, стандарты и т.п.

Язык низкого уровня - язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код (“машинный язык “, “ машинно-ориентированный язык “ и “ язык ассемблера “).

Программирование на языке ассемблер является способом «очеловечивания» действий микропроцессора.

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

Плюсы:

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

Минусы:

Нужно компилировать для каждой платформы. Сложность внесения изменения в программу — нужно перекомпилировать заново. Трудоемкий процесс, огромный код.

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

При программировании на ассемблере доступны все ресурсы системы и конкретного процессора (регистры, стек, память и т.д.). Это позволяет получать эффективные программы с точки зрения времени их выполнения и объема памяти, необходимого для размещения программы. Проблемы, связанные с конкретной аппаратурой и периферийными устройствами процессора лучше и удобнее решать на языке ассемблера.

1. Схемы логических элементов из транзисторов на КМОП логике:

  1. И НЕ

  1. ИЛИ НЕ

  1. НЕ

2. Сумматор с обозначением входов и выходов.

Полусумматор

1-битный сумматор

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

Большой блок - это сумматор

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

5. Построить 4х битный сумматор, используя однобитные сумматоры. Отметить входы и выходы и их назначение

6. Построить схему голосования трех человек

7. Построить D триггер из логических элементов

8. Построить RS триггер из логических элементов

9. Построить 4х битный регистр из D-триггеров. Отметить входы и выходы и их назначение

10. Построить 4х битный счетчик из D-триггеров. Отметить входы и выходы и их назначение

11. Построить из функциональных блоков процессор с архитектурой Фон Неймана

12. Построить из функциональных блоков процессор с Гарвардской архитектурой

13. Построить из функциональных блоков АЛУ с флагами, отметить какой флаг что означает

43

Соседние файлы в предмете Введение в информационные технологии
  • #
  • #
    25.01.2023114 б4konechn_alg_prostoe_chislo_final_1.2tochno
  • #
    25.01.202360.23 Кб8БВТ2203 _курсоваяV2.circ
  • #
    25.01.202326.24 Кб7БВТ2203 Гарвардский Проц и АЛУ Задание №6.circ
  • #
    25.01.202321.65 Кб4БВТ2203 Задание №3 умножение.circ
  • #