- •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 Методы стеганографии
- •Вопросы для самопроверки
- •Литература
10.3 Вычислительные системы на кристалле. Многоядерные системы
Возможность реализации всех блоков вычислительной системы на одном кристалле открывает новые возможности для разработчиков и позволяет улучшить общетехнические показатели системы: снизить стоимость, повысить быстродействие и надёжность. Опыт разработки дискретных систем показывает, что, в среднем, стоимость соединения на кристалле в 10 раз ниже, чем на печатной плате; задержки в связях на печатной плате в 10 раз больше, чем на кристалле; надёжность и помехозащищённость соединений на кристалле также существенно выше, чем на плате и в межплатных соединениях /1/.
В связи с развитием технологии производства СБИС, когда уровень интеграции превысил 1 млн. вентилей на кристалле, появилась возможность реализации системы на кристалле. Можно размещать на кристалле как унифицированные блоки: процессор, память, контроллеры шин, так и специализированные устройства, разделяемые средствами программируемой логики на той же СБИС. Общая структура системы на кристалле – System On Programmable Chip (SOPC) содержит следующие блоки (Рисунок 10.7) /1/: процессор, кэш-память, ОЗУ, интерфейс шины для связи с внешней памятью и другими устройствами, последовательный порт, поле программируемой логики для реализации специализированных блоков системы.
Рисунок 10.7 – Общая структура СБИС системы на кристалле
Получили развитие два направления создания кристаллов SOPC /1/: однородные и блочные.
В однородных кристаллах SOPC блоки конфигурируются в кристалле на базе программируемой логики. В таких системах используются готовые программы крупных блоков системы (процессора, контроллера шины и др.), так называемые, «единицы интеллектуальной собственности». Проектировщики системы выбирают необходимые блоки и размещают их на кристалле.
В блочных кристаллах SOPC определённые области кристалла заранее выделены под аппаратные ядра, которые (ядра) реализованы с использованием полного цикла проектирования. Это позволяет уменьшить площадь кристалла под блоки повысить его быстродействие. Недостатком является некоторое снижение гибкости системы, поскольку реализованные блоки нельзя изменить. Однако поле программируемой логики позволяет создавать специализированные блоки.
По мере роста интеграции параллельная обработка информации стала применяться и на уровне мультипроцессорной обработки. Переход к мультипроцессорным системам на кристалле позволяет замедлить рост потребляемой мощности при увеличении ресурсов кристалла. Мультипроцессорные системы на кристалле (многоядерные процессоры) обозначают аббревиатурой CMP (Chip Multi-Processor). Применение полноценных многопроцессорных систем не получило широкого распространения, поскольку требует сложных и дорогостоящих многопроцессорных материнских плат. Разработка многоядерных процессорных систем является перспективным направлением повышения производительности современных ВМ.
Ядро – кристалл кремния, на котором посредством микроскопических логических элементов реализована принципиальная схема процессора (архитектура). Многоядерный процессор – это центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе /21/.
Среди CMP – систем, в первую очередь, получили развитие симметричные системы – Symmetric General Purpose cores – мультипроцессорные системы на кристалле с симметричными ядрами общего назначения (Рисунок 10.8) /1/.
Р исунок 10.8 – Симметричная многоядерная архитектура с общей кэш L2
Симметричная архитектура предполагает однородность всех ядер и единообразие включения всех ядер в общую схему системы. В симметричных конфигурациях между ядрами разделяется общая память, например, кэш L2, как показано на рисунке 10.8. Минимальное число ядер в таких системах равно двум. Достоинством является относительная простота разработки, интенсивное взаимодействие ядер, простота программирования. В соответствии с /22/, все ядра равноправно участвуют и в управлении вычислительным процессом, и в выполнении прикладных задач. Модули ОС выполняются в любом доступном ядре. Ресурсы выделяются для каждой выполняемой задачи по мере возникновения в них потребностей и никак не закрепляются за ядром. В решении одной задачи могут участвовать сразу несколько ядер, если она допускает распараллеливание на несколько потоков. В случае отказа одного из ядер, симметричные системы, как правило, сравнительно просто реконфигурируются, что является их большим преимуществом. В то же время, такие системы плохо масштабируются: увеличение числа ядер ограничивается наличием разделяемой памяти.
Примечание. Выше говорилось, что параллельное выполнение вычислений может выполняться на разных уровнях: отдельных задач (процессов), последовательностей команд (процедур), отдельных команд. Если процесс рассматривать как выполняющуюся программу с необходимыми ей для этого ресурсами (памятью, регистрами, стеком и т.п.), то поток (тред, от англ. Thread – нить) – это последовательность команд. Несколько потоков могут существовать в рамках одного и того же процесса и совместно использовать его ресурсы. То есть, отдельная программа может быть разбита на фрагменты (потоки), содержащие последовательности команд, и эти потоки могут выполняться параллельно.
Применение различных способов организации внутрикристалльной памяти (регистров, кэшей) и механизмов динамического назначения команд на исполнение /1/, позволяет организовать параллельное выполнение нескольких тредов (потоков) в одном процессорном ядре с совместным использованием ресурсов на кристалле. На рисунке 10.9 приведён план кристалла многопотоковой мультиядерной системы с общим кэшем. Такие системы называются мультиплексорными системами на кристалле SMT (Simultaneous Multi-Threading).
Р исунок 10.9 – Многопотоковая многоядерная архитектура с общим
кэшем
По сравнению с обычными симметричными системами сложность разработки SMT-систем возрастает.
В ассиметричных кластерных мультипроцессорных системах ACCMP (Asymetric Cluster CMP) на кристалле размещается ассиметричный кластер процессорных ядер с различной специализированной аппаратурой. Например, кластер может содержать RISC-ядро процессора, ядра специализированных процессоров для цифровой обработки сигналов, блоки памяти, средства коммуникаций. Согласно /22/, функциональная неоднородность в таких архитектурах влечёт за собой структурные отличия во фрагментах системы, содержащих разные процессорные ядра и блоки. Например, они могут отличаться схемами подключения процессорных ядер к СШ, способами взаимодействия процессорных ядер с устройствами и т.д. Ассиметричные кластерные архитектуры являются хорошо масштабируемыми. В ассиметричных архитектурах функции управления вычислительным процессом полностью централизованы, и ОС работает только на одном процессоре. Этот процессор является ведущим, а все остальные - ведомыми. Ведущий берёт на себя функции распределения задач и ресурсов, а ведомые – работают только как обрабатывающие устройства. Ассиметричные архитектуры позволяют повысить производительность по сравнению с симметричными, но при этом требуется разработка специализированных ядер. Кроме того, такая специализация снижает надёжность системы, поскольку процессоры не являются взаимозаменяемыми.
Можно выделить три варианта конструктивного расположения ядер на кристалле:
1) Независимые процессорные ядра (каждое со своей памятью) расположены на одном кристалле и для связи используют общую системную шину.
2) Несколько одинаковых ядер расположены на разных кристаллах, но объединены вместе в одном корпусе процессора (многочиповый процессор).
3) Ядра могут быть тесно переплетены между собой на одном кристалле и могут использовать некоторые общие ресурсы кристалла (например, шину и кэш-память).
Преимущества и недостатки мультиядерных процессоров вытекают из преимуществ и недостатков параллельных ВС. Следует отметить, что в настоящее время многоядерные процессоры используются крайне неэффективно. Прирост быстродействия, во многом, зависит от типа приложения. У программ, которые не рассчитаны на работу с многоядерными процессорами, быстродействие увеличивается всего на 5%. А вот оптимизированные под многоядерные процессоры приложения работают быстрее уже на 50% /21/.