- •302030, Г. Орел, ул. Московская, 65
- •Содержание Введение
- •Модуль 1. Вычислительные машины Лекция 1. Основные понятия вычислительной техники и принципы организации вычислительных машин и систем
- •1.1 Основные понятия и определения
- •1.2 Принципы организации вычислительных машин и систем
- •1.3 Основные характеристики вычислительных машин и систем
- •1.4 Многоуровневая организация вычислительных процессов
- •Вопросы для самопроверки
- •Лекция 2. Простейшие типовые элементы вычислительных машин
- •2.1 Комбинационные схемы
- •1) Конъюнкция (логическое умножение) .
- •2) Дизъюнкция (логическое сложение) .
- •3) Отрицание (инверсия) .
- •4) Конъюнкция и инверсия (Штрих Шеффера) .
- •5) Дизъюнкция и инверсия (Стрелка Пирса) .
- •6) Эквивалентность .
- •7) Отрицание эквивалентности .
- •2.2 Автоматы с памятью
- •2.3 Триггеры
- •2.4 Проблемы и перспективы развития элементной базы вычислительных машин
- •Вопросы для самопроверки
- •Лекция 3. Функциональные узлы комбинационного и последовательного типов
- •3.1 Функциональные узлы последовательного типа
- •3.1.1 Регистры
- •3.1.2 Счётчики
- •3.1 Функциональные узлы комбинационного типа
- •3.2.1 Шифраторы и дешифраторы
- •3.2.2 Компараторы
- •3.2.3 Сумматоры
- •Вопросы для самопроверки
- •Лекция 4. Функциональная организация процессора
- •4.1 Основные характеристики и классификация процессоров
- •4.2 Физическая и функциональная структура процессора
- •4.2.1 Операционное устройство процессора
- •4.2.2 Шинный интерфейс процессора
- •4.3 Архитектурные принципы организации risc-процессоров
- •4.4 Производительность процессоров и архитектурные способы её повышения
- •Вопросы для самопроверки
- •Лекция 5. Организация работы процессора
- •5.1 Классификация и структура команд процессора
- •5.2 Способы адресации данных и команд
- •5.2.1 Способы адресации данных
- •5.2.2 Способы адресации команд
- •5.3 Поток управления и механизм прерываний
- •Вопросы для самопроверки
- •Лекция 6. Современное состояние и тенденции развития процессоров
- •6.1 Архитектурные особенности процессоров Pentium
- •6.2 Программная модель процессоров Pentium
- •6.2.1 Прикладная программная модель процессоров Pentium
- •6.2.2 Системная программная модель процессоров Pentium
- •6.2.3 Система команд и режимы адресации процессоров Pentium
- •6.3 Аппаратная организация защиты в процессорах Pentium
- •6.4 Аппаратные средства поддержки многозадачности
- •6.5 Перспективы развития процессоров
- •Вопросы для самопроверки
- •Лекция 7. Память. Организация памяти.
- •7.1 Иерархическая организация памяти
- •7.2 Классификация запоминающих устройств
- •7.3 Структура основной памяти
- •7.4 Память с последовательным доступом
- •7.5 Ассоциативная память
- •7.6 Организация флэш-памяти
- •7.7 Архитектурные способы повышения скорости обмена между процессором и памятью
- •Вопросы для самопроверки
- •Лекция 8. Управление памятью. Виртуальная память
- •8.1 Динамическое распределение памяти
- •8.2 Сегментная организация памяти
- •Лекция 9. Организация ввода-вывода информации. Системная шина
- •9.1 Организация шин. Системная шина
- •9.1.1 Структура системной шины
- •9.1.2 Протокол шины
- •9.1.3 Иерархия шин
- •9.2 Организация взаимодействия между периферийными устройствами и процессором и памятью вычислительных машин
- •9.3 Внешние интерфейсы вычислительных машин
- •9.3.1 Параллельный порт lpt и интерфейс Centronics
- •9.3.1 Последовательный порт com и интерфейс rs-232c
- •9.3.3 Универсальная последовательная шина usb
- •9.3.4 Беспроводные интерфейсы
- •Вопросы для самопроверки
- •Модуль 2. Вычислительные системы Лекция 10. Вычислительные системы параллельной обработки. Многопроцессорные и многоядерные системы.
- •10.1 Параллельная обработка информации
- •10.2 Классификация систем параллельной обработки данных
- •10.2.1 Классификация Флинна
- •10.2.2 Классификация Головкина
- •10.2.3 Классификация многопроцессорных систем по способу организации памяти
- •10.3 Вычислительные системы на кристалле. Многоядерные системы
- •10.4 Тенденции развития вычислительных систем
- •Вопросы для самопроверки
- •Лекция 11. Организация микроконтроллеров и микроконтроллерных систем
- •11.1 Общие сведения о системах управления
- •11.2 Организация микроконтроллеров и микроконтроллерных систем
- •11.3 Области применения и тенденции развития мк
- •Вопросы для самопроверки
- •Модуль 3. Телекоммуникационные сети Лекция 12. Организация компьютерных сетей
- •12.1 Обобщённая структура компьютерных сетей
- •12.2 Классификация компьютерных сетей
- •Лекция 13. Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем
- •13.1 Понятие «открытой системы». Взаимодействие открытых систем
- •13.2 Эталонная модель взаимодействия открытых систем
- •13.3 Структура блоков информации
- •7 Прикладной 6 Представительный 5 Сеансовый 4 Транспортный 3 Сетевой 2 Канальный 1 Физический
- •Вопросы для самопроверки
- •Лекция 19. Безопасность информации в сети
- •19.2 Стеганография
- •19.2.1 Общие сведения о стеганографических системах
- •19.2.2 Методы стеганографии
- •Вопросы для самопроверки
- •Литература
Вопросы для самопроверки
1) Дайте пояснение понятию «система команд». На какие группы можно разделить команды процессора?
2) Что такое машинная операция, микрооперация, микропрограмма, машинный такт?
3) Из каких частей состоит команда процессора? Какие существуют форматы команд? В чём заключается суть естественной и принудительной адресации команд?
4) Какие существуют режимы адресации данных? Назовите особенности каждого из них, укажите принципы формирования эффективного адреса; приведите примеры. Каким образом осуществляется доступ к элементам массива, записи, массива записей?
5) Раскроете особенности внутрисегментных и межсегментных режимов адресации команд, приведите примеры.
6) Каким образом вычисляется физический адрес ячейки памяти в реальном и защищенном режимах работы процессора?
7) Что представляет собой поток управления? При каких условиях осуществляется передача управления?
8) Каким образом изменяют поток управления команды условных и безусловного переходов, вызовов подпрограмм, сопрограмм? В чём заключается особенность взаимодействия вызывающей и вызываемой процедур и взаимодействия сопрограмм?
9) Дайте определения следующим терминам: прерывание, исключение, сбой, ловушка, аварийное завершение. В чём заключается различие межу прерываниями и исключениями?
10) Что представляет собой таблица векторов прерываний, процедура обработки прерываний (исключений). Поясните свойство прозрачности процедуры обработки прерываний.
11) В чём заключается механизм обработки прерываний? Какие регистры в обязательном порядке сохраняются в стеке? Что представляет собой адрес возврата? Назовите особенности возврата при возникновении исключений.
12) В чём заключается управление обслуживанием прерываний, приоритетных прерываний? Дайте определение маскируемым и немаскируемым прерываниям.
Лекция 6. Современное состояние и тенденции развития процессоров
В соответствии с /1/, в настоящее время доминирующее положение среди процессоров, используемых для персональных компьютеров, серверов, индустриальных систем, занимают CISC-процессоры Pentium фирмы Intel и их клоны с системой команд х86 (более 80%). Архитектура и тенденции развития этих процессоров отражают достижения всей компьютерной индустрии. Остальную долю занимают процессоры (большинство из них являются RISC-процессорами) других семейств, например, SPARC компании SUN, Alpha компании DEC и др.
Особенности организации и функционирования современных процессоров рассмотрим на примере процессоров Pentium фирмы Intel.
6.1 Архитектурные особенности процессоров Pentium
В соответствии с /1/, микропроцессор Pentium (1993 год) является первым суперскалярным процессором для персональных компьютеров. Включает в себя следующие функциональные блоки:
1) блок ШИ;
2) два 5-ступенчатых конвейера (U и V) выполнения команд целочисленных вычислений;
3) раздельные кэши команд и данных уровня L1 объёмом 8 Кбайт каждый;
4) блок вычислений с плавающей FPU точкой, организованный в виде конвейера;
5) блок предсказания ветвлений;
6) блок управления памятью.
Большинство команд выполняется за один такт. В случае выполнения сложных команд используется расширенный микрокод из ПЗУ микропрограмм сложных команд.
Конвейеры Pentium реализуют традиционные 5 этапов выполнения команд (выборку, декодирование операции, чтение операндов, записи результатов). При вычислении операций с плавающей точкой добавляются ещё три шага: X1 – преобразование данных в формате расширенной сложности, X2 - выполнение FPU-команды, WF – округление результата и его запись в регистровый файл FPU. Конвейер U может выполнять как целочисленные команды, так и команды с плавающей точкой. При этом команды арифметики с плавающей точкой не могут запускаться в паре с целочисленными командами. Кроме того, конвейер U содержит многоразрядный сдвигатель, используемый при выполнении арифметических, логических, циклических сдвигов, операций умножения и деления. Конвейер V выполняет только целочисленные команды.
Использование независимых кэшей обеспечивает одновременный бесконфликтный доступ к ним. Кэш-память команд связана с буфером предварительной выборки 256-битовой шиной. Если выбираемая команда в кэш-памяти отсутствует, то выполняется чтение искомой команды из основной памяти и её загрузка в буфер предвыборки с одновременной записью в кэш команд.
Кэш-память данных соединяется с конвейерами U и V при помощи двух 32-разрядных шин, что обеспечивает возможность одновременного обращения к ней со стороны каждого конвейера.
Блок управления памятью осуществляет двухступенчатое формирование физического адреса ячейки памяти сначала в пределах сегмента, а потом в пределах страницы. Для управления работой внешнего кэша используются специальные аппаратные средства.
Архитектурным нововведением Pentium является специальный режим системного управления (SMM – System Management Mode), который разработан для перевода системы в состояние пониженного энергопотребления. Этот режим не доступен приложениям и управляется программой из ПЗУ на кристалле процессора. В режиме SMM Pentium использует иное, изолированное от других режимов пространство памяти.
Блок ШИ обеспечивает связь процессора с другими устройствами через системную шину, включающую в себя 64-разрядную шину данных и 32-разрядную шину адреса и шину управления. Процессор Pentium поддерживает работу систем с физической памятью до 4 Гбайт.
Развитие процессоров Pentium связано, прежде всего, с совершенствованием технологии их производства, расширением системы команд, совершенствованием алгоритмов предсказания переходов, методов загрузки конвейеров, способов взаимодействия с кэш-памятью.
Отличительной особенностью процессоров Pentium 6-го (Pentium Pro, Pentium II, Pentium III) и 7-го (Pentium IV) поколений от ранних моделей Pentium является иной подход к реализации принципа многооперационной обработки данных. Он заключается в том, что вместо увеличения числа конвейеров исполнения команд, что требует значительных аппаратных затрат, используется один конвейер с большим количеством исполнительных блоков. Например, обработка команд в Pentium IV осуществляется 20-ступенчатым конвейером (гиперконвейером), который условно можно разделить на 3 относительно независимых конвейера:
1) Входной конвейер упорядоченной обработки, который обеспечивает выборку команд из памяти, декодирование их во внутренние RISC-команды и устранение ложных взаимосвязей по данным и ресурсам.
2) Конвейер неупорядоченной обработки , который реализует собственно исполнение команд. При неупорядоченной обработке более интенсивная загрузка конвейеров суперскалярного процессора. Чтобы гарантировать правильное исполнение программы, результаты команд, выполненных вне очереди, должны записываться по целевым адресам в том же порядке, в каком они следуют в исходной программе. Эту работу осуществляет специальный блок процессора – блок временного хранения результатов, выполненных вне очереди.
3) Конвейер вывода результатов исполнения команд, который осуществляет запись результатов в архитектурные регистры процессора и память в порядке, предусмотренном программой.
Эффективная работа гиперконвейера Pentium IV также обеспечивается за счёт спекулятивного исполнения команд, когда для непрерывной загрузки конвейера выполняются действия, не предусмотренные программным кодом.
В блоке предсказания ветвлений используется более совершенный, по сравнению с более ранними моделями процессоров Pentium, алгоритм предсказания ветвлений. Адреса команд переходов и метки ветвлений с подробной предысторией сохраняются в буфере (объёмом 4 Кбайта) блока предсказания ветвлений.
Ещё одним важным отличием процессора Pentium IV от ранних моделей является использование в его структуре вместо кэша команд кэша трасс. Трассы – это последовательности микрокоманд, в которые декодированы команды x86, принадлежащие одной или нескольким ветвям исходной программы. В кэше могут размещаться до 12 Кбайт микрокоманд. В кэш трасс не попадают команды, которые никогда не будут использоваться. Кэш трасс совместно с блоком выборки образуют устройство предварительной обработки.
Использование гиперконвейера, кэша трасс и более производительного исполнительного ядра позволило достигнуть в Pentium IV существенного повышения производительности.