
- •Архитектура вычислительных систем. Вычислительные машины, системы и сети
- •2 Простейшие типовые элементы вычислительных машин 21
- •10 Вычислительные системы параллельной обработки. 147
- •11 Организация микроконтроллеров и микроконтроллерных систем 165
- •12 Организация компьютерных сетей 174
- •13 Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем 182
- •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 Система команд и режимы адресации процессоров
- •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 Сегментная организация памяти
- •8.3 Страничная организация памяти
- •8.4 Сегментно-страничная организация памяти
- •Вопросы для самопроверки
- •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 Беспроводные интерфейсы
- •Вопросы для самопроверки
- •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 Области применения и тенденции развития мк
- •Вопросы для самопроверки
- •12 Организация компьютерных сетей
- •12.1 Обобщённая структура компьютерных сетей
- •12.2 Классификация компьютерных сетей
- •Вопросы для самопроверки
- •13 Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем
- •13.1 Понятие «открытой системы». Взаимодействие
- •13.2 Эталонная модель взаимодействия открытых систем
- •13.3 Структура блоков информации
- •7 Прикладной
- •Вопросы для самопроверки
- •Архитектура вычислительных систем. Вычисдительные машины, системы и сети
10.2 Классификация систем параллельной обработки данных
10.2.1 Классификация Флинна
Существуют различные подходы к классификации систем параллельной обработки данных /1 – 3, 7/. Одной из первых является классификация Майкла Флинна (1966 год), которая основана на двух характеристиках организации процесса обработке: потоке команд и потоке данных. Одиночность и множественность потоков определяется максимально возможным числом команд (или данных), одновременно находящихся на одинаковых стадиях исполнения. В соответствии с классификацией Флинна, можно выделить 4 класса архитектур:
1) Одиночный поток команд, одиночный поток данных (ОКОД) или Single Instruction Stream Single Data Stream (SISD) (Рисунок 10.1).
Сюда относятся ВС с одним процессором, т.е., классические фон-неймановские ВМ, в которых имеется только один поток команд, команды обрабатываются последовательно, и каждая команда инициирует одну операцию с одним потоком данных. То, что для увеличения скорости обработка команд и скорости выполнения арифметических операций может применяться конвейерная обработка, значения не имеет.
Рисунок 10.1 – Архитектура класса ОКОД
2) Одиночный поток команд, множественный поток данных (ОКМД) или Single Instruction Stream Multiple Data Stream (SIMD) (Рисунок 10.2).
Сюда относятся векторные ВС, в которых одинаковые преобразования выполняются над различными элементами данных (компонентами вектора). Представителями этого класса считаются матрицы процессоров, где единое УУ контролирует множество процессорных элементов. Все процессорные элементы получают от УУ одинаковую команду и выполняют её над своими локальными данными.
Рисунок 10.2 – Архитектура класса ОКМД
3) Множественный поток команд, одиночный поток данных (МКОД) или Multiple Instruction Stream Single Data Stream (MISD) (Рисунок 10.3).
Рисунок 10.3 – Архитектура класса МКОД
Из определения следует, что в таких ВС присутствует множество процессоров, обрабатывающих один и тот же поток данных. По поводу данного класса ВС нет однозначного мнения. Согласно одним источникам, например, /3/, до сих пор специалисты в области архитектуры ВМ не сумели представить убедительный пример такой реально существующей ВС, и этот класс считается пустым. В соответствии с другими источниками /2, 21/, сюда относятся конвейерные ВС, в которых данные обрабатываются за несколько стадий различными операционными устройствами под управлением соответствующих команд.
4) Множественный поток команд, множественный поток данных (МКМД) или Multiple Instructions Stream Multiple Data Stream (MIMD) (Рисунок 10.4).
Сюда относятся мультипроцессорные системы, в которых отдельные порции данных обрабатываются различными операционными устройствами, каждое из которых выполняет свою программу. Данный класс ВС чрезвычайно широк, поскольку включает в себя разнообразные многопроцессорные системы.
10.2.2 Классификация Головкина
Приведённая выше классификация Флинна порождает неоднозначность группировки существующих архитектур (многообразие систем в классе МКМД, векторный поток можно рассматривать как одиночный и как множественный и др.). Наиболее полной является классификация, предложенная профессором Головкиным Б.А. Она опирается на основные принципы организации обработки данных с учётом многоуровневости их обработки. Выделяют 4 уровня обработки: уровень программ, уровень команд, уровень данных (регистровых передач), уровень слов.
Рисунок 10.4 – Архитектура класса МКМД
Программам как единицам обработки в качестве средств обработки выступают вычислительные машины и сети. Параллельно могут выполняться части программ (команды), которые выполняют процессоры. На уровне команд параллельно могут выполняться отдельные фазы (выборка команды, декодирование, выборка операндов, выполнение операции). Их выполняют функциональные блоки процессора. Данным, обрабатываемым на уровне регистровых передач, соответствуют АЛУ. Параллельно могут обрабатываться компоненты векторов, матриц и других структур данных (слова). Выполняют преобразования функциональные блоки АЛУ. Параллельно могут обрабатываться разряды слов функциональным преобразователями разрядов в составе операционных блоков АЛУ.
На каждом уровне обработки возможны 4 варианта организации процессов: последовательная, конвейерная, параллельная (многоэлементная), параллельно-конвейерная. Тогда всего возможно 44 = 256 классов обработки и соответствующих им типов архитектур.