
- •1. Что такое транзистор, логика работы транзистора? Отличие n-типа проводимости в транзисторе от p-типа проводимости? Что такое кмоп логика? Где она применяется?
- •2. Опишите существующие логические элементы? Постройте таблицу истинности для описанных логических элементов.
- •4. Что такое компаратор? Опишите принцип работы компаратора
- •5. Что такое шифратор и дешифратор? Что такое мультиплексор и демультиплексор? Опишите принцип их работы.
- •7. Что такое триггер? Какие триггеры существуют? Опишите логику работы существующих триггеров?
- •8. Чем отличается аналоговый сигнал от цифрового? Опишите этапы преобразования аналогового сигнала в цифровой
- •9. Что такое d-триггер. Опишите четыре режима работы d-триггера (передний фронт, задний фронт, высокий уровень, низкий уровень).
- •10. Что такое регистр? Какие регистры бывают? Где применяются? Из каких элементов состоят?
- •11. Что такое счетчик? Где применяется? Из каких элементов состоит?
- •12. Дайте определению конечному дискретному автомату. Какие два вида конечных дискретных автоматов бывают?
- •14. Что такое архитектура компьютера? Два основных вида архитектур, в чем разница между ними. Достоинства и недостатки обеих.
- •15. Что такое шина в процессоре? Какие бывают шины? На что влияет разрядность шины?
- •16. Какие существуют основные модули процессора? Их описание и назначение?
- •17. Стадии выполнения команд процессором? Описать цикл работы процессора.
- •18. Регистровое запоминающее устройство микропроцессора. Назначение, структура, принцип действия. Состав и назначение основных внутренних регистров мп
- •19. Что такое ассемблер? Что такое язык ассемблер? Чем программирование в машинных кодах отличается от высокоуровневого программирования? Что такое компилятор?
- •20. Опишите основные типы команд языка ассемблер?
- •21. Что такое операционная система? Её назначение? Опишите основные модули операционной системы
- •22. Внутренняя структура микропроцессора. Состав и назначение основных внутренних устройств микропроцессора. Флаги процессора, для чего используются, какие бывают?
- •23. Арифметико-логическое устройство микропроцессора. Назначение, структура, принцип действия.
- •24. Устройство управления микропроцессора. Назначение, структура, принцип действия.
24. Устройство управления микропроцессора. Назначение, структура, принцип действия.
Устройство управления МП обеспечивает необходимую последовательность действий МП при выполнении программы, состоящей из команд, записанных в ПЗУ.
УУ состоит из дешифратора команд и формирователя сигналов управления.
При выполнении любой команды программы содержимое программного счетчика загружается в магистраль адреса МА, одновременно формируется сигнал чтения памяти программ и в ответ на эти сигналы содержимое первого слова команды, хранящейся в ячейке памяти программ, загружается в МД (магистраль данных), откуда поступает в ДШК УУ (дешифратор команд устройства управления). После этого содержимое регистра программного счетчика РС наращивается на единицу, подготавливая выполнение считывания очередной команды.
Согласно принципу микропрограммного управления любое электронное устройство может быть представлено в виде пары: устройство управления — операционное устройство, где на долю управляющего устройства приходится полный контроль работы операционного устройства. На долю операционного устройства приходится непосредственно осуществление полученных команд и преобразование контролируемых величин в удобный для управляющего устройства вид.
25. Виды языков программирования. Особенности программирования в машинных кодах. Достоинства и недостатки. Особенности программирования на ассемблере. Достоинства и недостатки. Особенности программирования на языках высокого уровня. Достоинства и недостатки.
Язык высокого уровня - язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами компилятора либо интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик, Паскаль, Си, Ада и др.
Плюсы высокоуровневых языков:
· Главный плюс – абстракция. Современные разработчики не обязаны знать, как устроен компьютер и как с ним общаться с помощью нулей и единиц.
· Помимо низкого порога вхождения, высокоуровневые языки обеспечивают более богатый арсенал инструментов.
· ПО стало портативным. Одну базу кода можно использовать сразу на нескольких платформах. Мощные интерпретаторы в полуавтоматическом режиме превращают код на одном языке в код для нескольких отличающихся друг от друга ОС.
Минусы высокоуровневых языков:
· Низкая производительность. Чем выше уровень абстракции, тем больше времени и ресурсов компьютера тратится на «перевод» одного языка в другой.
· Не особо смышленые программисты. Многие разработчики не углубляются в теоретическую базу и остаются на уровне своего языка. Притупляется внимание, страдают навыки поиска и инженерное мышление.
· Избыточное внимание к инструментам. Количество дополнительных слоев абстракции становится избыточным. Регулярно появляются новые фреймворки, редакторы кода, дополнительные вспомогательные приложения, языки, стандарты и т.п.
Язык низкого уровня - язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код (“машинный язык “, “ машинно-ориентированный язык “ и “ язык ассемблера “).
Программирование на языке ассемблер является способом «очеловечивания» действий микропроцессора.
Машинный код можно рассматривать как примитивный язык программирования или как самый низкий уровень представления скомпилированных или ассемблированных компьютерных программ.
Плюсы:
При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти, использовать все возможности имеющихся машинных операций. Для нас доступны все варианты организации и оптимизации кода.
Минусы:
Нужно компилировать для каждой платформы. Сложность внесения изменения в программу — нужно перекомпилировать заново. Трудоемкий процесс, огромный код.
При программировании на языке ассемблера программист может не заботиться о распределении памяти, о назначении конкретных адресов операндам. В ассемблере допускается оформление повторяющейся последовательности команд как одной макрокоманды.
При программировании на ассемблере доступны все ресурсы системы и конкретного процессора (регистры, стек, память и т.д.). Это позволяет получать эффективные программы с точки зрения времени их выполнения и объема памяти, необходимого для размещения программы. Проблемы, связанные с конкретной аппаратурой и периферийными устройствами процессора лучше и удобнее решать на языке ассемблера.
1. Схемы логических элементов из транзисторов на КМОП логике:
И НЕ
ИЛИ НЕ
НЕ
2. Сумматор с обозначением входов и выходов.
Полусумматор
1-битный сумматор
3. Используя готовые блоки построить сумматор с возможностью вычитать. Отметить входы и выходы и их назначение.
Большой блок - это сумматор
4. Используя готовы блоки построить сумматор с возможностью записи результата в регистр. Отметить входы и выходы и их назначение.
5. Построить 4х битный сумматор, используя однобитные сумматоры. Отметить входы и выходы и их назначение
6. Построить схему голосования трех человек
7. Построить D триггер из логических элементов
8. Построить RS триггер из логических элементов
9. Построить 4х битный регистр из D-триггеров. Отметить входы и выходы и их назначение
10. Построить 4х битный счетчик из D-триггеров. Отметить входы и выходы и их назначение
11. Построить из функциональных блоков процессор с архитектурой Фон Неймана
12. Построить из функциональных блоков процессор с Гарвардской архитектурой
13. Построить из функциональных блоков АЛУ с флагами, отметить какой флаг что означает