- •Вопросы по курсу тсис для группы 0032
- •1. Информационная система. Информация.
- •Классификации информационных систем Классификация по архитектуре
- •Классификация по степени автоматизации
- •Классификация по характеру обработки данных
- •Классификация по сфере применения
- •Классификация по охвату задач (масштабности)
- •2. История развития компьютеров и информационных систем.
- •3. Позиционные системы счисления. Перевод чисел из одной системы счисления в другую.
- •4. Арифметика эвм. Представление чисел в форме с фиксированной точкой.
- •5. Сложение в формате с фиксированной точкой. Переполнение.
- •6. Операция вычитания с фиксированной точкой. Дополнительный код числа.
- •7. Умножение и деление чисел в формате с фиксированной точкой.
- •8. Представление чисел в форме с плавающей точкой. Мантисса числа. Характеристика числа.
- •4,72 Х 105; 472 X 103; 4720 X 102микрон или 4,72 х 10-4; 47,2 X 10-5;472 X 10-6км.
- •9. Нормализованные и денормализованные числа.
- •10. Арифметические операции в формате с плавающей точкой.
- •11. Стандарт ieee 754.
- •12. Формат bcd. Представление текстовой информации. Ascii.
- •13. Алгебра логики. Переменные и константы алгебры логики.
- •14. Законы и аксиомы алгебры логики. Логические функции.
- •1. Закон одинарных элементов
- •2. Законы отрицания
- •3. Комбинационные законы.
- •4. Правило поглощения (одна переменная поглощает другие)
- •5. Правило склеивания (выполняется только по одной переменной)
- •15. Конъюнкция. Дизъюнкция. Инверсия. Функционально полная система лф. Функции и-не, или-не, Исключающее или.
- •1. Логическое или (логическое сложение, дизъюнкция):
- •17. Преобразование логических выражений. Склеивание. Минимизация логических выражений.
- •18. Логический элемент. Логическая (комбинационная) схема. Лэ как физическое устройство.
- •19. Обратная связь. Бистабильная ячейка — триггер. Rs-триггер, d-триггер, т-триггер.
- •20. Синхронный триггер. Понятие о синхронизации.
- •21. Узлы эвм. Регистры. Счетчики. Сумматоры. Шифраторы и дешифраторы. Мультиплексоры. Алу.
- •22. Буферные элементы. Шинная организация современного компьютера.
- •23. Понятие архитектуры компьютера. Структура компьютера. Понятие о cisc и risc.
- •24. Регистры общего назначения и их особенности у Intel.
- •25. Команда. Формат команды. Классификация команд. Особенности состава команд у Intel.
- •26. Адресация памяти и ввода-вывода. Циклы обмена между процессором и памятью.
- •27. Абсолютная, прямая и косвенная адресация.
- •28. Автоинкрементная и автодекрементная адресация.
- •29. Стек. Работа стека и его использование.
- •30. Ввод-вывод: программный, по прерываниям и пдп.
- •31. Режимы работы процессора Intel, rm, vm, pm, smm.
- •32. Сегментная и страничная организация доступа к памяти.
- •33. Сегментация памяти в реальном режиме.
- •34. Страничная организация — реализация виртуальной памяти.
- •35. Управление сегментами в защищенном режиме. Дескрипторные таблицы. Дескрипторы сегментов.
- •36. Повышение производительности процессора. Конвейеризация команд и данных. Предсказание переходов. Кэш. Суперскалярность. Многоядерность.
- •37. Понятие шины расширения. Шины pci, pci-X, pci-e.
- •38. Внешние интерфейсы пк. Интерфейс usb.
- •39. Устройства ввода информации.
- •40. Устройства вывода информации.
26. Адресация памяти и ввода-вывода. Циклы обмена между процессором и памятью.
27. Абсолютная, прямая и косвенная адресация.
Адресация памяти вычислительных систем — метод указания на ячейку памяти, к которой производится доступ.
Адресация может быть:
Абсолютная — указывается прямой адрес ячейки памяти, это метод адресации в абсолютных адресах, представленных двоичными кодами.
Ассоциативная — метод адресации ячеек памяти, основанный на указании содержимого ячейки, а не её точного положения. Для этого указывается слово, которое характеризует содержимое нужной ячейки, а не её обычный адрес. Для реализации механизма поиска, основанного на сравнении части содержимого памяти с каким-либо словом-признаком, применяется ассоциативное устройство памяти.
Сегментная — указывается адрес относительно начала сегмента, в случае, если сегменты отсутствуют или совпадают, эквивалентна абсолютной.
Относительная — метод адресации данных в памяти, при котором указанное в команде число добавляется к счету, который находится в установленном регистре. По этому методу адресации подпрограмма может быть перемещена в любую часть программы без необходимости что-либо менять в них.
Косвенная — метод адресации в машинных кодах, в котором адресная часть команды содержит косвенный адрес. В команде указывается адрес ячейки памяти, где находится адрес данных, который и должен быть использован при выполнении команды.
Индексная — метод адресации, при котором актуальный (исполнительный) адрес формируется путем прибавления к базовому адресу содержимого индексного регистра. Используется при программировании на языке Ассемблер: в индексный регистр закладывается базовый адрес, а в команде указывается число, которое необходимо прибавить к базовому адресу, чтобы получить адрес нужных сведений.
Непосредственная — указывает на определённое число, константу (Например: mov A,#50H — записать число 50H в аккумулятор).
Регистровая — указывает на определённый регистр РОН (регистры общего назначения).
Стековая — с использованием специального регистра — указателя стека (SP — Stack Pointer). Используется для занесения операндов в стек в одном порядке и извлечения в обратном порядке.
Неявная — регистр источник или регистр приёмник подразумевается в самом коде операции.
Все виды адресации могут быть переведены друг в друга, однако использование специфичной адресации может ускорить выполнение программы (например, замена индексной адресации на абсолютную потребует выполнить умножение, сложение, обращение к памяти).
Для получения распределения адресного пространства современных IBM PC-совместимых компьютеров между ОЗУ, периферийными устройствами и зарезервированными областями используется функция E820H прерывания 15H.
Ввод-вывод с распределением (вводимой информации) по портам (памяти) обычно требует применения инструкций, специально разработанных для выполнения операций ввода-вывода.
Режимы адресации
Существует несколько способов, которыми данные могут быть прочитаны или помещены в память. Каждый метод представляет собой режим адресации и имеет собственные преимущества и ограничения.
Режимы адресации делятся на множество типов, как например, прямая адресация, косвенная (непрямая) адресация, непосредственная адресация, индексная адресация, базовая адресация, базово-индексная адресация, предполагаемая адресация и т. д.
Прямая адресация - В этом типе адрес данных сам является частью инструкции. Когда процессор декодирует инструкцию, он получает адрес ячейки памяти, откуда может быть считана (куда может быть записана) требуемая информация. Mov Reg. [Addr]
В данном случае операнд Addr указывает на область памяти, содержащее данные и копирует их в указанный регистр Reg.
Косвенная адресация - В этом случае адрес может храниться в регистре. Инструкции будут обращаться к регистру, содержащему адрес. То есть, для получения данных, инструкция должна декодировать данные соответствующего регистра. Содержимое регистра будет обработано как адрес, используя который, будет считана/записана информация из/в соответствующую область памяти.
Все регистры ввода/вывода могут считываться и записываться через РОН при помощи команд IN, OUT. Регистры ввода/вывода, имеющие адреса в диапазоне $00 - $1F (знак $ указывает на шестнадцатеричную систему счисления), обладают возможностью побитовой адресации. Непосредственная установка и сброс отдельных разрядов этих регистров выполняется командами SBI и CBI. Для признаков результата операции, которые являются битами регистра ввода/вывода SREG, имеется целый набор команд установки и сброса. Команды условных переходов в качестве своих операндов могут иметь как биты-признаки результата операции, так и отдельные разряды побитно адресуемых регистров ввода/вывода.
Регистры ввода/вывода имеют двойную нумерацию. Если используются команды IN, OUT, SBI, CBI, SBIC, SBIS, то следует использовать нумерацию регистров ввода/вывода, начинающуюся с нуля (назовем ее основной). Если же к регистрам ввода/вывода доступ осуществляется как к ячейкам памяти, то необходимо использовать нумерацию единого адресного пространства оперативной памяти данных AVR. Очевидно, что адрес в едином адресном пространстве памяти данных получается путем прибавления числа $20 к основному адресу регистра ввода/вывода.
Для хранения оперативных данных программист, кроме РОН, может использовать внутреннюю и внешнюю (если они имеются) блоки SRAM (см. рис. 2.3).
Работа с внешней SRAM может быть программно разрешена/запрещена установкой/сбросом бита SRE в регистре ввода/вывода MCUSR.
Операции обмена с внутренней оперативной памятью AVR-микроконтроллер выполняет за два машинных цикла. Доступ к внешней SRAM требует одного дополнительного цикла на каждый байт по сравнению с внутренней памятью. Кроме того, установкой бита SRW в регистре ввода/вывода MCUSR можно программно увеличить время обмена с внешней SRAM еще на один дополнительный машинный цикл ожидания.
Выполнять арифметико-логические операции и операции сдвига непосредственно над содержимым ячеек памяти нельзя. Нельзя также записать константу или очистить содержимое ячейки памяти. Система команд AVR позволяет лишь выполнять операции обмена данными между ячейками SRAM и оперативными регистрами. Достоинством системы команд можно считать разнообразные режимы адресации ячеек памяти. Кроме прямой адресации имеются следующие режимы: косвенная, косвенная с пост-инкрементом, косвенная с пре-декрементом и косвенная со смещением.
Поскольку внутренняя и внешняя SRAM входят в единое адресное пространство (вместе с оперативными регистрами и регистрами ввода/вывода), то для доступа к ячейкам внутренней и внешней памяти используются одни и те же команды.
Следует отметить, что регистры ввода/вывода не полностью используют отведенные для них 64 адреса. Неиспользуемые адреса зарезервированы для будущих применений, дополнительных ячеек памяти по этим адресам не существует.
Одним из способов обмена данными с ВУ является обмен в режиме прямого доступа к памяти (ПДП). В этом режиме обмен данными между ВУ и основной памятью микроЭВМ происходит без участия процессора. Обменом в режиме ПДП управляет не программа, выполняемая процессором, а электронные схемы, внешние по отношению к процессору. Обычно схемы, управляющие обменом в режиме ПДП, размещаются или в специальном контроллере, который называется контроллером прямого доступа к памяти, или в контроллере самого ВУ.
Обмен данными в режиме ПДП позволяет использовать в микроЭВМ быстродействующие внешние запоминающие устройства, такие, например, как накопители на жестких магнитных дисках, поскольку ПДП может обеспечить время обмена одним байтом данных между памятью и ВЗУ, равное циклу обращения к памяти.
Для реализации режима прямого доступа к памяти необходимо обеспечить непосредственную связь контроллера ПДП и памяти микроЭВМ. Для этой цели можно было бы использовать специально выделенные шины адреса и данных, связывающие контроллер ПДП с основной памятью. Но такое решение нельзя признать оптимальным, так как это приведет к значительному усложнению микроЭВМ в целом, особенно при подключении нескольких ВЗУ. В целях сокращения количества линий в шинах микроЭВМ контроллер ПДП подключается к памяти посредством шин адреса и данных системного интерфейса. При этом возникает проблема совместного использования шин системного интерфейса процессором и контроллером ПДП. Можно выделить два основных способа ее решения: реализация обмена в режиме ПДП с "захватом цикла" и в режиме ПДП с блокировкой процессора.
Существуют две разновидности прямого доступа к памяти с "захватом цикла". Наиболее простой способ организации ПДП состоит в том, что для обмена используются те машинные циклы процессора, в которых он не обменивается данными с памятью. В такие циклы контроллер ПДП может обмениваться данными с памятью, не мешая работе процессора. Однако возникает необходимость выделения таких циклов, чтобы не произошло временного перекрытия обмена ПДП с операциями обмена, инициируемыми процессором. В некоторых процессорах формируется специальный управляющий сигнал, указывающий циклы, в которых процессор не обращается к системному интерфейсу. При использовании других процессоров для выделения таких циклов необходимо применение в контроллерах ПДП специальных селектирующих схем, что усложняет их конструкцию. Применение рассмотренного способа организации ПДП не снижает производительности микроЭВМ, но при этом обмен в режиме ПДП возможен только в случайные моменты времени одиночными байтами или словами.
Более распространенным является ПДП с "захватом цикла" и принудительным отключением процессора от шин системного интерфейса. Для реализации такого режима ПДП системный интерфейс микроЭВМ дополняется двумя линиями для передачи управляющих сигналов "Требование прямого доступа к памяти" (ТПДП) и "Предоставление прямого доступа к памяти" (ППДП).
Управляющий сигнал ТПДП формируется контроллером прямого доступа к памяти. Процессор, получив этот сигнал, приостанавливает выполнение очередной команды, не дожидаясь ее завершения, выдает на системный интерфейс управляющий сигнал ППДП и отключается от шин системного интерфейса. С этого момента все шины системного интерфейса управляются контроллером ПДП. Контроллер ПДП, используя шины системного интерфейса, осуществляет обмен одним байтом или словом данных с памятью микроЭВМ и затем, сняв сигнал ТПДП, возвращает управление системным интерфейсом процессору. Как только контроллер ПДП будет готов к обмену следующим байтом, он вновь "захватывает" цикл процессора и т.д. В промежутках между сигналами ТПДП процессор продолжает выполнять команды программы. Тем самым выполнение программы замедляется, но в меньшей степени, чем при обмене в режиме прерываний.
Применение в микроЭВМ обмена данными с ВУ в режиме ПДП всегда требует предварительной подготовки, а именно: для каждого ВУ необходимо выделить область памяти, используемую при обмене, и указать ее размер, т.е. количество записываемых в память или читаемых из памяти байт (слов) информации. Следовательно, контроллер ПДП должен обязательно иметь в своем составе регистр адреса и счетчик байт (слов). Перед началом обмена с ВУ в режиме ПДП процессор должен выполнить программу загрузки. Эта программа обеспечивает запись в указанные регистры контроллера ПДП начального адреса выделенной ВУ памяти и ее размера в байтах или словах в зависимости от того, какими порциями информации ведется обмен. Сказанное не относится к начальной загрузке программ в память в режиме ПДП. В этом случае содержимое регистра адреса и счетчика байт слов устанавливается переключателями или перемычками непосредственно на плате контроллера.
Перед началом очередного сеанса ввода данных из ВУ процессор загружает в регистры его контроллера следующую информацию: в счетчик байт - количество принимаемых байт данных, а в регистр адреса - начальный адрес области памяти для вводимых данных. Тем самым контроллер подготавливается к выполнению операции ввода данных из ВУ в память микроЭВМ в режиме ПДП.
Байты данных из ВУ поступают в регистр данных контроллера в постоянном темпе. При этом каждый байт сопровождается управляющим сигналом из ВУ "Ввод данных", который обеспечивает запись байта данных в регистр данных контроллера. По этому же сигналу и при ненулевом состоянии счетчика байт контроллер формирует сигнал ТПДП. По ответному сигналу процессора ППДП контроллер выставляет на шины адреса и данных системного интерфейса содержимое своих регистров адреса и данных соответственно. Формируя управляющий сигнал "Вывод", контроллер ПДП обеспечивает запись байта данных из своего регистра данных в память микроЭВМ. Сигнал ППДП используется в контроллере и для модификации счетчика байт и регистра адреса. По каждому сигналу ППДП из содержимого счетчика байт вычитается единица, и как только содержимое счетчика станет равно нулю, контроллер прекратит формирование сигналов "Требование прямого доступа к памяти".
На примере простого контроллера ПДП мы рассмотрели только процесс подготовки контроллера и непосредственно передачу данных в режиме ПДП. На практике любой сеанс обмена данными с ВУ в режиме ПДП всегда инициируется программой, выполняемой процессором, и включает два следующих этапа.
1. На этапе подготовки ВУ к очередному сеансу обмена процессор в режиме программно-управляемого обмена опрашивает состояние ВУ (проверяет его готовность к обмену) и посылает в ВУ команды, обеспечивающие подготовку ВУ к обмену. Такая подготовка может сводиться, например, к перемещению головок на требуемую дорожку в накопителе на жестком диске. Затем выполняется загрузка регистров контроллера ПДП. На этом подготовка к обмену в режиме ПДП завершается и процессор переключается на выполнение другой программы.
2. Обмен данными в режиме ПДП начинается после завершения подготовительных операций в ВУ по инициативе либо ВУ, как это было рассмотрено выше, либо процессора. В этом случае контроллер ПДП необходимо дополнить регистром состояния и управления, содержимое которого будет определять режим работы контроллера ПДП. Один из разрядов этого регистра будет инициировать обмен данными с ВУ. Загрузка информации в регистр состояния и управления контроллера ПДП производится программным путем.
Наиболее распространенным является обмен в режиме прямого доступ к памяти с блокировкой процессора. Он отличается от ПДП с "захватом цикла" тем, что управление системным интерфейсом передается контроллеру ПДП не на время обмена одним байтом, а на время обмена блоком данных. Такой режим ПДП используется в тех случаях, когда время обмена одним байтом с ВУ сопоставимо с циклом системной шины.
В микроЭВМ можно использовать несколько ВУ, работающих в режиме ПДП. Предоставление таким ВУ шин системного интерфейса для обмена данными производится на приоритетной основе. Приоритеты ВУ реализуются так же, как и при обмене данными в режиме прерывания, но вместо управляющих сигналов "Требование прерывания" и "Предоставление прерывания" (рис. 18 Организация прерываний в микроЭВМ) используются сигналы "Требование прямого доступа" и "Предоставление прямого доступа", соответственно.