- •Вопросы по курсу «Организация эвм и систем»
- •1. Общая структура эвм. Назначение основных блоков. Взаимодействие программного и аппаратного обеспечения эвм.
- •2. Основные характеристики эвм.
- •3. Назначение и структура процессора. Назначение и взаимодействие основных блоков.
- •4. Классификация процессоров.
- •1. По числу бис в микропроцессорном комплекте:
- •6. По количеству выполняемых программ :
- •5. Организация управления процессом обработки информации в процессоре: управляющие автоматы с “жесткой” и с хранимой в памяти логикой.
- •6. Типы структур команд. Способ расширения кодов операций.
- •7. Общая структура команды. Способы адресации операндов.
- •8. Типы архитектур мп. Ортогональность архитектуры мп.
- •9. Cisc и risc архитектуры мп. Особенности risc архитектуры.
- •Синхронный конвейер операций. Принцип совмещения операций
- •11. Асинхронный конвейер операций и его особенности.
- •12. Система прерываний программ. Функции и назначение.
- •13. Характеристики системы прерываний.
- •14. Особенности суперскалярных микропроцессоров. Суперскалярные мп:
- •15. Организация памяти эвм. Статические и динамические озу.
- •16. Понятие виртуальной памяти. Страничная, сегментная и смешанного типа организация виртуальной памяти.
- •Сегментное распределение
- •Странично-сегментное распределение
- •18. Основные функциональные характеристики блоков кэш-памяти.
- •19. Сравнительная характеристика организации кэш–памяти прямого отображения, ассоциативной и наборно-ассоциативной.
- •20. Пример организации кэш в мп Pentium 4.
- •21. Новые типы динамической памяти: edram, cdram, sdram, rdram, sldram.
- •22. Методы защиты памяти: метод граничных регистров, метод ключей защиты, защита отдельных ячеек.
- •24. Понятие многопроцессорных систем. Классификация параллельных вычислительных систем.
- •24. Организация памяти вычислительных систем.
- •25. Система команд процессора: индексация и ее назначение. Особенности команд передачи управления и вызова подпрограмм.
- •26. Использование самоопределяемых данных. Понятие тегов и дескрипторов.
- •Сети эвм: понятие, становление, преимущества сетевой обработки данных.
- •Основные характеристики вычислительных сетей.
- •Классификация вычислительных сетей. Отличия классических lan и gan, тенденция их сближения.
- •1. По территориальной рассредоточенности
- •2. Масштаб предприятия или подразделения, кому принадлежит сеть
- •Типовые структуры вычислительных сетей.
- •Общая шина
- •Методы коммутации в вычислительных сетях. Способы мультиплексирования каналов связи.
- •2. Коммутация сообщений
- •3. Коммутация пакетов
- •Задачи системотехнического проектирования сетей эвм.
- •Структурная организация:
- •Анализ задержек передачи сообщений в сетях передачи данных.
- •Задача оптимального выбора пропускных способностей каналов связи (прямая и обратная постановки).
- •Семиуровневая модель взаимодействия открытых систем. Функции уровней.
- •Прохождение данных через уровни модели osi. Функции уровней.
- •Протоколы и функции канального уровня.
- •Протоколы повторной передачи.
- •Протоколы и функции сетевого уровня. Таблицы маршрутизации.
- •Классификация алгоритмов маршрутизации.
- •По способу выбора наилучшего маршрута
- •По способу построения таблиц маршрутизации
- •По месту выбора маршрутов (маршрутного решения)
- •Задача оптимальной статической маршрутизации.
- •Стек тср/ip. Протоколы прикладного уровня.
- •Системы адресации в стеке тср/ip.
- •Протокол ip.
- •Ip как протокол без установления соединения
- •Протокол tcp.
- •Технология X.25.
- •Технология isdn.
- •2) D канал
- •3) H канал
- •Технология Frame Relay.
- •Чистая и синхронная aloha.
- •Технология локальных сетей. Уровни llc и mac. Способы доступа.
- •Технология Ethernet.
- •Технология Token Ring.
- •2. Маркерный метод доступа к разделяемой среде
- •3. Форматы кадров Token Ring
- •1. Маркер
- •2. Кадр данных.
- •Технология fddi.
- •Анализ временных характеристик в локальных сетях.
- •Вопросы по курсу «Базы данных» Основные принципы построения баз данных, проблемы хранения больших объемов информации.
- •Уровни представления информации, понятие модели данных.
- •Основные типы субд.
- •Взаимодействие базы данных и прикладных программ.
- •Реляционная модель данных, основные понятия.
- •Теоретические основы реляционного исчисления, использование исчисления предикатов первого порядка.
- •Использование реляционной алгебры в реляционной модели данных.
- •Иерархический и сетевой подходы при построении баз данных, основные понятия, достоинства и недостатки.
- •Реляционные базы данных: достоинства и недостатки.
- •Основные компоненты субд и их взаимодействие. Типы и структуры данных.
- •Обработка данных в субд, основные методы доступа к данным, использование структуры данных типа «дерево».
- •Поиск информации в бд с использованием структуры типа «бинарное дерево».
- •Поиск информации в бд с использованием структуры типа «сильно ветвящееся дерево».
- •Методы хеширования для реализации доступа к данным по ключу.
- •Представление данных с помощью модели «сущность-связь», основные элементы модели.
- •Типы и характеристики связей сущностей
- •Построение диаграммы «сущность-связь» в различных нотациях.
- •Нотация Чена
- •Нотация Мартина
- •Нотация idef1x.
- •Нотация Баркера.
- •Проектирование реляционных баз данных, основные понятия, оценки текущего проекта бд.
- •Понятие ключа в базах данных, первичные и внешние ключи.
- •Нормализация в реляционных базах данных, понятие нормальной формы при проектировании баз данных.
- •1Нф: Основные определения и правила преобразования.
- •2Нф: Основные определения и правила преобразования.
- •3Нф: Основные определения и правила преобразования.
- •Нф Бойса-Кодда: Основные определения и правила преобразования.
- •4Нф: Основные определения и правила преобразования.
- •Ограничения целостности для реляционной базы данных.
24. Понятие многопроцессорных систем. Классификация параллельных вычислительных систем.
Общая классификация архитектур ЭВМ по признакам наличия параллелизма в потоках команд и данных. Была предложена в 70-е годы Майклом Флинном (Michael Flynn). Все разнообразие архитектур ЭВМ в этой таксономии Флинна сводится к четырем классам:
ОКОД — Вычислительная система с одиночным потоком команд и одиночным потоком данных
(SISD, Single Instruction stream over a Single Data stream).
ОКМД — Вычислительная система с одиночным потоком команд и множественным потоком данных
(SIMD, Single Instruction, Multiple Data).
МКОД — Вычислительная система со множественным потоком команд и одиночным потоком данных
(MISD, Multiple Instruction Single Data).
МКМД — Вычислительная система со множественным потоком команд и множественным потоком данных
(MIMD, Multiple Instruction Multiple Data).
Типичными представителями SIMD являются векторные архитектуры. К классу MISD ряд исследователей относит конвейерные ЭВМ, однако это не нашло окончательного признания, поэтому можно считать, что реальных систем — представителей данного класса не существует. Класс MIMD включает в себя многопроцессорные системы, где процессоры обрабатывают множественные потоки данных.
Отношение конкретных машин к конкретному классу сильно зависит от точки зрения исследователя. Так, конвейерные машины могут быть отнесены и к классу SISD (конвейер — единый процессор), и к классу SIMD (векторный поток данных с конвейерным процессором) и к классу MISD (множество процессоров конвейера обрабатывают один поток данных последовательно), и к классу MIMD — как выполнение последовательности различных команд (операций ступеней конвейера) на множественным скалярным потоком данных (вектором).
24. Организация памяти вычислительных систем.
В рамках как совместно используемой, так и распределенной памяти реализуется несколько моделей архитектур системы памяти.
Классификация моделей архитектур памяти вычислительных систем
На этом рисунке приведена классификация таких моделей, применяемых в вычислительных системах класса MIMD (верна и для класса SIMD).
Модели архитектур совместно используемой памяти
В системах с общей памятью все процессоры имеют равные возможности по доступу к единому адресному пространству. Единая память может быть построена как одноблочная или по модульному принципу, но обычно практикуется второй вариант.
Вычислительные системы с общей памятью, где доступ любого процессора к памяти производится единообразно и занимает одинаковое время, называют системами с однородным доступом к памяти и обозначают аббревиатурой UMA (Uniform Memory Access). Это наиболее распространенная архитектура памяти параллельных ВС с общей памятью.
Технически UMА-системы предполагают наличие узла, соединяющего каждый из n процессоров с каждым из m модулей памяти. Простейший путь построения таких ВС - объединение нескольких процессоров (P) с единой памятью (Mp) посредством общей шины - показан на рисунке ниже (а). В этом случае, однако, в каждый момент времени обмен по шине может вести только один из процессоров, то есть процессоры должны соперничать за доступ к шине. Когда процессор Рi, выбирает из памяти команду, остальные процессоры Pj (i не равно j) должны ожидать, пока шина освободится. Если в систему входят только два процессора, они в состоянии работать с производительностью, близкой к максимальной, поскольку их доступ к шине можно чередовать; пока один процессор декодирует и выполняет команду, другой вправе использовать шину для выборки из памяти следующей команды. Однако когда добавляется третий процессор, производительность начинает падать. При наличии на шине десяти процессоров кривая быстродействия шины (рисунок ниже - в) становится горизонтальной, так что добавление 11-го процессора уже не дает повышения производительности. Нижняя кривая на этом рисунке иллюстрирует тот факт, что память и шина обладают фиксированной пропускной способностью, определяемой комбинацией длительности цикла памяти и протоколом шины, и в многопроцессорной системе с общей шиной эта пропускная способность распределена между несколькими процессорами. Если длительность цикла процессора больше по сравнению с циклом памяти, к шине можно подключать много процессоров. Однако фактически процессор обычно намного быстрее памяти, поэтому данная схема широкого применения не находит.
Общая память:
а — объединение процессоров с помощью шины;
б — система с локальными кэшами;
в — производительность системы как функция от числа процессоров на Шине;
г — многопроцессорная ВС с общей памятью, состоящей из отдельных модулей.
Альтернативный способ построения многопроцессорной ВС, с общей памятью на основе UMA показан на рисунке выше (г). Здесь шина заменена коммутатором, маршрутизирующим запросы процессора к одному из нескольких модулей памяти. Несмотря на то что имеется несколько модулей памяти, все они входят в единое виртуальное адресное пространство. Преимущество такого подхода в том, что коммутатор в состоянии параллельно обслуживать несколько запросов. Каждый процессор может быть соединен со своим модулем памяти и иметь доступ к нему на максимально допустимой скорости. Соперничество между процессорами может возникнуть при попытке одновременного доступа к одному и тому же модулю памяти, В этом случае доступ получает только один процессор, а прочие — блокируются.
К сожалению, архитектура UMA не очень хорошо масштабируется. Наиболее распространенные системы содержат 4-8 процессоров, значительно реже 32-64 процессора. Кроме того, подобные системы нельзя отнести к отказоустойчивым, так как отказ одного процессора или модуля памяти влечет отказ всей ВС.
Другим подходом к построению ВС с общей памятью является неоднородный доступ к памяти, обозначаемый как NUMA (Non-Uniform Memory Access). Здесь по-прежнему фигурирует единое адресное пространство, но каждый процессор имеет локальную память. Доступ процессора к собственной Локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть. Такая система может быть дополнена глобальной памятью, тогда локальные запоминающие устройства играют роль быстрой кэш-памяти для глобальной памяти. Подобная схема может улучшить производительность ВС, но не в состоянии неограниченно отсрочить выравнивание прямой производительности. При наличии у каждого процессора локальной кэш-памяти (рисунок выше - б) существует высокая вероятность (р > 0,9) того, что нужные команда или данные уже находятся в локальной памяти. Разумная вероятность попадания в локальную память существенно уменьшает число обращений процессора к глобальной памяти и, таким образом, ведет к повышению эффективности. Место излома кривой производительности (верхняя кривая на рисунке выше - в), соответствующее точке, в которой добавление процессоров еще остается эффективным, теперь перемещается в область 20 процессоров, а точка, где кривая становится горизонтальной, в область 30 процессоров.
В рамках концепции NUMA реализуется несколько различных подходов, обозначаемых аббревиатурами СОМА, CC-NUMA и NCC-NUMA.
В архитектуре только с кэш-памятью (СОМА, Cache Only Memory Architecture) локальная память каждого процессора построена как большая кэш-память для быстрого доступа со стороны «своего» процессора. Кэши всех процессоров в совокупности рассматриваются как глобальная память системы. Собственно глобальная память отсутствует. Принципиальная особенность концепции СОМА выражается в динамике. Здесь данные не привязаны статически к определенному модулю памяти и не имеют уникального адреса, остающегося неизменным в течение всего времени существования переменной. В архитектуре СОМА данные переносятся в кэш-память того процессора, который последним их запросил, при этом переменная не фиксирована уникальным адресом и в каждый момент времени может размещаться в любой физической ячейке. Перенос данных из одного локального кэша в другой не требует участия в этом процессе операционной системы, но подразумевает сложную и дорогостоящую аппаратуру управления памятью. Для организации такого режима используют так называемые каталоги кэшей. Отметим также, что последняя копия элемента данных никогда из кэш-памяти не удаляется.
Поскольку в архитектуре СОМА данные перемещаются в локальную кэш-память процессора-владельца, такие ВС в плане производительности обладают существенным преимуществом над другими архитектурами NUMА. С другой стороны, если единственная переменная или две различные переменные, хранящиеся в одной строке одного и того же кэша, требуются двум процессорам, эта строка кэша должна перемещаться между процессорами туда и обратно при каждом доступе к данным. Такие эффекты могут зависеть от деталей распределения памяти и приводить к непредсказуемым ситуациям.
Модель кэш-когерентного доступа к неоднородной памяти (CC-NUMA, Cache Coherent Non-Uniform Memory Architecture) принципиально отличается от модели СОМА. В системе CC-NUMA используется не кэш-память, а обычная физически распределенная память. Не происходит никакого копирования страниц или данных между ячейками памяти. Нет никакой программно реализованной передачи сообщений. Существует просто одна карта памяти, с частями, физически связанными медным кабелем, и «умные» аппаратные средства. Аппаратно реализованная кэш-когерентность означает, что не требуется какого-либо программного обеспечения для сохранения множества копий обновленных данных или их передачи. Со всем этим справляется аппаратный уровень. Доступ к локальным Модулям памяти в разных узлах системы может производиться одновременно и происходит быстрее, чем к удаленным модулям памяти.
Отличие модели с кэш-некогерентным доступом к неоднородной памяти (NCC-NUMA, Non-Cache Coherent Non-Uniform Memory Architecture) от CC-NUMA очевидно из названия. Архитектура памяти предполагает единое адресное пространство, но не обеспечивает согласованности глобальных данных на аппаратном уровне. Управление использованием таких данных полностью возлагается на программное обеспечение (приложения или компиляторы). Несмотря на это обстоятельство, представляющееся недостатком архитектуры, она оказывается весьма полезной при повышении производительности вычислительных систем с архитектурой памяти типа DSM, рассматриваемой в разделе «Модели архитектур распределенной памяти».
В целом, ВС с общей памятью, построенные по схеме NUMA, называют архитектурами с виртуалъной общей памятью (virtual shared memory architectures). Данный вид архитектуры, в частности CC-NUMA, в последнее время рассматривается как самостоятельный и довольно перспективный вид вычислительных систем класса MIMD, поэтому такие ВС ниже будут обсуждены более подробно.
Модели архитектур распределенной памяти:
В системе с распределенной памятью каждый процессор обладает собственной памятью и способен адресоваться только к ней. Некоторые авторы называют этот тип систем многомашинными ВС или мульткомпьютерами, подчеркивая тот факт, что блоки, из которых строится система, сами по себе являются небольшими вычислительными системами с процессором и памятью. Модели архитектур с распределенной памятью принято обозначать как архитектуры без прямого доступа к удаленной памяти (NORMA, No Remote Memory Access). Такое название следует из того факта, что каждый процессор имеет доступ только к своей локальной памяти. Доступ к удаленной памяти (локальной памяти другого процессора) возможен только путем обмена сообщениями с процессором, которому принадлежит адресуемая память.
Подобная организация характеризуется рядом достоинств. Во-первых, при доступе к данным не возникает конкуренции за шину или коммутаторы — каждый процессор может полностью использовать полосу пропускания тракта связи с собственной локальной памятью. Во-вторых, отсутствие общей шины означает, что нет и связанных с этим ограничений на число процессоров: размер системы ограничивает только сеть, объединяющая процессоры. В-третьих, снимается проблема когерентности кэш-памяти. Каждый процессор вправе самостоятельно менять свои данные, не заботясь о согласовании копий данных в собственной локальной кэш-памяти с кэшами других процессоров.
Основной недостаток ВС с распределенной памятью заключается в сложности обмена информацией между процессорами. Если какой-то из процессоров нуждается в данных из памяти другого процессора, он должен обменяться с этим процессором сообщениями. Это приводит к двум видам издержек:
требуется время для того, чтобы сформировать и переслать сообщение от одного процессора к другому;
для обеспечения реакции на сообщения от других процессоров принимающий процессор должен получить запрос прерывания и выполнить процедуру обработки этого прерывания.
Структура системы с распределенной памятью приведена на рисунке ниже. В левой части (а) показан один процессорный элемент (ПЭ). Он включает в себя собственно процессор (Р), локальную память (М) и два контроллера ввода/вывода (Ко и K i), В правой части (б) показана четырехпроцессорная система, иллюстрирующая, каким образом сообщения пересылаются от одного процессора к другому. По отношению к каждому ПЭ все остальные процессорные элементы можно рассматривать просто как устройства ввода/вывода. Для посылки сообщения в другой ПЭ процессор формирует блок данных в своей памяти и извещает свой локальный контроллер о необходимости передачи информации на внешнее устройство. По сети межсоединений это сообщение пересылается на приемный контроллер ввода/вывода принимающего ПЭ. Последний находит место для сообщения в собственной локальной памяти и уведомляет процессор-источник о получении сообщения.
Вычислительная система с распределенной памятью:
а - процессорный элемент;
б - объединение процессорных элементов
Интересный вариант системы с распределенной памятью представляет собой модель распределенной совместно используемой памяти (DSM, Distribute Shared Memory), известной также и под другим названием архитектуры с неоднородным доступом к памяти и программным обеспечением когерентности (SC-NUMA, Software-Coherent Non-Uniform Memory Architecture). Идея этой модели состоит в том, что ВС, физически будучи системой с распределенной памятью, благодаря операционной системе представляется пользователю как система с общей памятью. Это означает, что операционная система предлагает пользователю единое адресное пространство, несмотря на то что фактическое обращение к памяти "чужого" компьютера ВС по-прежнему обеспечивается путем обмена сообщениями.