Лекции по архитектуре эвм
Скачать 397.84 Kb.
|
- 1 - Лекции по архитектуре ЭВМ [скачано с сайта http://irodov.nm.ru/ ] §1 Введение Развитие Вычислительной Техники (ВТ) обусловлено успехами в 3-х областях: 1. В технологии производства, как элементарной базы ВТ, так и самих машин в целом. 2. В принципах организации ВМ (успехи в развитии архитектуры). 3. В разработке математического и программного обеспечения. Любая ВМ должна рассматриваться, как некоторый программно – аппаратный комплекс, обеспечивающий реализацию некоторого класса алгоритмов над информацией. В процессе работы ВМ все ее компоненты каким-то образом взаимодействуют между собой. Причем уровни рассмотрения этого взаимодействия могут быть различными: 1) Низший уровень: на уровне электрических импульсов. 2) Высший уровень: взаимодействие узлов ВМ на уровне программных модулей (1 и 2 рассматривать не будем). 3) Функциональный уровень каждого отдельного узла: функция и их реализация программно – аппаратными средствами (под этим и понимается понятие “Архитектура”). Опр. Под Архитектурой понимается совокупность свойств и характер ВМ, рассматриваемая с точки зрения пользователя. Обобщенная структура ЭВМ. Принцип действия обычной ВМ можно считать копией обычного процесса вычислений (например, с помощью калькулятора). Этапы вычислений: 1. Определение и задание порядка вычислений. 2. Задание исходных данных. 3. Выполнение вычислений (для получения промежуточных результатов) 4. Получение конечного результата. То есть любая ВМ имеет 4 базовых узла. процессор В основе функционирования любой ВМ лежат два фундаментальных понятия в вычислительной технике. 1. понятие алгоритма. 2. принцип программного управления. Опр. Алгоритм – некоторая однозначно определенная последовательность действий, состоящая из формально заданных операций над исходными данными, приводящая к решению за конечное число шагов. Свойства алгоритмов: 1. дискретность алгоритма (действия выполняются по шагам, а сама информация дискретна) Данные, Программы Устройство ввода Память Оперативная Внешняя АЛУ Устройство вывода Устройство управления Пульт Управления (ПУ) - 2 - 2. детерменированность (сколько бы раз один и тот же алгоритм не реализовывался для одних и тех же данных результат один и тот же) 3. массовость (алгоритм “решает задачу” для различных исходных данных из допустимого множества и дает всегда правильный результат) Опр. Программа – описание алгоритма на каком-либо языке. Принцип программного управления (ППУ) впервые был сформулирован Венгерским математиком и физиком Джоном фон Нейманом, при участии Гольцтайна и Берца в 1946 году. ППУ включает в себя несколько архитектурно – функциональных принципов. 1. Любой алгоритм представляется в виде некоторой последовательности управляющих слов – команд. Каждая отдельная команда определяет простой (единичный) шаг преобразования информации. 2. Принцип условного перехода. В процессе вычислений в зависимости от полученных промежуточных результатов возможен автоматический переход на тот или иной участок программы. 3. Принцип хранимой программы. Команды в ЭВМ представляются в такой же кодируемой форме, как и любые данные и хранятся в таком оперативном запоминающем устройстве (ОЗУ). Это значит, что если рассматривать содержимое памяти, то без какой-то команды невозможно различить данные и команды. Следовательно, любые команды можно принципиально обрабатывать как данные (информация в ЭВМ отличается не представлением, а способом ее использования). 4. Принцип двоичного кодирования. 5. Принцип иерархии запоминающих устройств (ЗУ). §2 История развития ВТ. Поколения ЭВМ. История ВТ отсчитывается с опубликования работы Джона фон Неймана. Впервые возможность построения цифровой ВМ была доказана английским математиком Тьюрингом в 1936 году. Он показал, что любой алгоритм реализуется с помощью его дискретного автомата, который был назван машиной Тьюринга. Независимо это же доказал Пост (машина Поста). Физически первая цифровая ВМ была сконструирована в 1935 году фирмой Белл (США). Такого же вида машина была сконструирована для специальных задач под руководством К. Цунзе (1941, Германия). Попытка построения универсальной ЭВМ была предпринята Айтнетом (США). Она получила название “Марк-1”. Спроектирована и изготовлена в Гарвардском университете. Характеристики ВМ (работали с 23 разрядными десятичными цифрами): 1. Программа вводилась покамандно с перфоленты. 2. Сложение 2-х чисел 0.3 секунды 3. Умножение 2-х чисел 6 секунд 4. Деление 2-х чисел 11 секунд. Релейная основа была ненадежна. Для ЭВМ были разработаны специальные реле. На которых была разработана ВМ “Марк-2”. Реальный отсчет ВТ ведется с перехода от реле к триггерам. Триггер был изобретен в 1918 году в России Бонч-бруевичем. Первая ЭВМ, разработанная на электронных компонентах, изготовлена в 1942 году (“Эниак”). Серийный выпуск в 1945-1946 годах. Разработана в Пенсельванском университете под руководством Маушли и Энкера. В 1943 году под руководством Тьюринга была разработана ЭВМ “Колос”. После рассекречивания архивов в 70-х годах оказалось, что первая ЭВМ была разработана в 1939 году выходцем из Германии Антоносовым, которая получила название “ABC”. Первое поколение ЭВМ. Ламповые ЭВМ, промышленный выпуск начат в начале 50-х годов. - 3 - В нашей стране началом выпуска можно считать начало 50-х годов “МЭСМ”. Разработана под руководством Лебедева. В 1952-1953 годах на этой основе, под руководством Мельникова и Бурцева была разработана “БЭСМ-1” (Большая электронная счетная машина). А на ее основе был произведен серийный выпуск машины “БЭСМ-2”. В это же время в США выпускают машину “Эдвак”. Технические характеристики машины “БЭСМ-2” были гораздо выше. Это было связано с тем, что в “БЭСМ-2”, использовались два совершенно новых принципа: конвейеризации и стека. Для “БЭСМ-2”, быстродействие АЛУ составляло порядка 10000 операций в секунду. В 1953 году была разработана машина “Стрела” под руководством Василевского. А так же в Московском Энергетическом институте под руководством академика Брука были разработаны ЭВМ получившие название “М”. В Минске был создан завод по производству ЭВМ, серийное производство машин “Минск”. В городе Пензе было создано ОКБ (отдел конструкторского бюро) под руководством академика Рамеева, где разработали и выпускали серийно ЭВМ “Урал”. Структура ЭВМ первого поколения полностью соответствовали машине фон Неймана. Технические характеристики машин были значительно ниже характеристик современных ПК. Программирование велось в машинных кодах. Емкость ОЗУ – 2 тысячи слов. Ввод информации с перфоленты и кинопленки. Второе поколение ЭВМ. Связывают с переходом от ламповых к транзисторным ЭВМ. Транзисторы позволяли обеспечить большую надежность, быстродействие и меньшее энергопотребление (среднее время отказа около 100 часов, тогда как на машинах первого поколение около 10 часов, энергоемкость на два порядка ниже, по сравнению с машинами первого поколения). Переход к печатному монтажу также улучшило надежность. Начинается бурное развитие математического и программного обеспечения. Высшая точка: создание алгоритмических языков (Fortran, ALGOL). Создаются простейшие компиляторы и интерпретаторы. Становится нецелесообразна работа пользователя у пульта управления. Основным режимом становится работа через операторов. Появляются многопрограммные ЭВМ. Многопрограммность достигается за счет программной обработки. Для работы в пакетном режиме создаются первые мониторы и supervisor’ы. Вследствие чего происходит резкое увеличение использование ЭВМ второго поколения. Третье поколение ЭВМ. В конце 60-х годов появляются первые машины третьего поколения. Переход к третьему поколению ЭВМ связывают с серьезными архитектурными изменениями. Изменение технической базы связано с переходом на интегральную схематехнику. Правда степень интеграции была небольшой. Вследствие чего произошло заметное увеличение надежности. В машинах третьего поколения формируется концепция канала, начинается работа с распараллеливанием процессора, появляется микропрограммное управление, иерархируется память, впервые вводится понятие агрегатирования. АЛУ СОЗУ Память Устройство управления Преобразование адресов Канал ВЗУ УВВ Пульт Управления СПП - 4 - … ком. обмена … МК – мультиплетный канал (медленные устройства) СК – селекторный канал (высокоскоростные устройства) Канал является основным структурным элементом. В структуре процессора и оперативной памяти появляются специальные устройства, которые организуют адресные механизмы (обеспечивающие адресацию, перемещение программы в памяти, взаимную защиту). В процессоре появляется несколько АЛУ (целочисленные, с плавающей арифметикой, для работы с адресами). Правда, эти устройства параллельно не работают, но для выполнения той или иной обработки выбирается определенное АЛУ. В памяти четко выделяется основная память, к которой процессор обращается непосредственно, и массовая память, емкость которой значительно больше емкости основной памяти, но непосредственно процессору она недоступна. Тем более данные с внешних устройств непосредственно недоступны процессору. Так как память иерархична, то создаются механизмы для управления памятью. Развивается и внутренняя память процессора (создаются предпосылки кэширования). В конце третьего поколения ЭВМ появляется концепция управления виртуальной памяти, развиваются внешние устройства и терминальное оборудование. Самое главное в тот период: унификация ЭВМ по конструктивно – технологическим параметрам. ЭВМ третьего поколения начинают выпускаться сериями или семействами, совместимыми моделями. Дальнейшее развитие математического и программного обеспечения приводит к созданию пакетных программ для решения типовых задач, проблемно – ориентированных программных языков (для решения задач отдельной категории) и впервые создаются уникальные программные комплексы, – операционные системы (разработаны IBM). Четвертое поколение ЭВМ. В конце 70-х кодов появляются первые ЭВМ четвертого поколения. Связано с переходом на интегральные схемы средней и большой степени интеграции. Характерные свойства ЭВМ четвертого поколения: 1. Мультипроцессорность 2. Параллельно – последовательная обработка 3. Языки высокого уровня 4. Появляются первые сети ЭВМ Технические характеристики ЭВМ четвертого поколения: 1. Средняя задержка сигнала 0.7 нс./вентиль (вентиль – типовая схема) 2. Впервые основная память – полупроводниковая. Время выработки данного из такой памяти 100-150 нс. Емкость 10 12 –10 13 символов. 3. Впервые применяется аппаратная реализация оперативной системы 4. Модульное построение стало применяться и для программных средств Основная внимание машин четвертого поколения было направлено на сервис (улучшение общения ЭВМ и человека). Пятое поколение ЭВМ. В конце 80-х годов появляются первые ЭВМ пятого поколения. Пятое поколение ЭВМ связывают с переходом к микропроцессорам. С точки зрения структурного построения характерна максимальная децентрализация управления. С точки зрения программного и математического обеспечения – переход на работу в программных средах и оболочках. Производительность Процессор Оперативная память МК СК УВВ УВВ ВЗУ ВЗУ - 5 - 10 8 - 10 9 операций в секунду. Для пятого и шестого поколения характерны многопроцессорные структуры созданные на упрощенных микропроцессорах, которых очень много (решающие поля или среды). Создаются ЭВМ ориентированные на языки высокого уровня. В этот период существуют две диаметрально противоположных тенденции: 1. Персонификация ресурсов 2. Коллективизация ресурсов (коллективный доступ – сети) §3 Классификация и основные характеристики ЭВМ. Характеристики: 1. Операционные ресурсы ЭВМ – это (грубо говоря) перечень возможностей ЭВМ. Сюда включаются: 1. Способы представления информации в ЭВМ 2. Система команд ЭВМ 3. Способы адресации Операционные ресурсы ЭВМ напрямую связаны с аппаратными средствами, которые характеризуют степень приспособленности ЭВМ для решения тех или иных задач. 2. Емкость памяти (внешняя и основная) Основная память, какой бы большой она не была, всегда ограничена. Внешняя память не ограничена. Для характеристики компьютера используют емкость основной памяти. Использование памяти идет многобайтно, следовательно, доступ измеряется в байтах (максимальная память 4Гб). Внешняя память – суммарная емкость всех накопительных устройств. Следовательно, необходимо использовать косвенную характеристику – количество накопителей подключаемых к ЭВМ. В современных компьютерах есть также и сверхоперативная память (cashe), ее объем – один из важнейших параметров влияющих на время решения задачи. 3. Быстродействие ЭВМ характеризует скорость обработки информации компьютером (число операций в секунду (V), время выполнения ( τ=1/v)). Но для различных операций эти показатели различны, следовательно, реальная характеристика – номинальное быстродействие (V н )– количество коротких операций в единицу времени (обычно берут операцию “+”, а операнды хранятся во внутренних регистрах процессора (R-R)). Иногда также используют в качестве характеристики быстродействия – цикл обращения к основной памяти, а также эффективное быстродействие (V ф ) V ф =1/ ∑p i τ i p i – вероятность выполнения i-ой операции. По содержанию производительность ЭВМ – это среднее число операций в единицу времени. Производительность ЭВМ зависит от: 1. Быстродействия процессора 2. Класса решаемых задач 3. Порядка прохождения задачи через ЭВМ Для оценки числового выражения эффективности ЭВМ используют смеси команд. Для научно-технических расчетов используют “Смесь Гибсона” Вид команды Весовой коэффициент “+”,”-“ фикс. зпт. 33 “*” – фикс. зпт. 0.6 “/” – фикс. зпт. 0.2 “+”,”-“ плав. зпт 7.3 “*” - плав. зпт. 4.0 “/” - плав. зпт. 1.6 Логические операции 1.7 Безусловный переход 17.5 Условное ветвление 6.5 P= ∑К з / ∑К з τ з – для n задач. - 6 - 4. Надежность ЭВМ. Надежность – свойство ЭВМ выполнять возложенные на нее функции в течение заданного промежутка времени, необходимого для решения поставленной задачи. В процессе функционирования ЭВМ возникают отказы, связанные с неисправностью отдельных элементов либо соединений между ними. По характеру проявлений отказы могут быть: 1. Внезапный отказ (механическое разрушение элементов) 2. Постепенный отказ (деградация параметров ЭВМ) С точки зрения математического подхода – отказы это случайное событие. Используется самая простейшая математическая модель – “Простейший поток отказов”. Если поток отказов простейший, то в качестве характеристики надежности используется величина интенсивности потоков отказа. λ=1/Т р Т р – среднее время безотказной работы между двумя очередными отказами. Если ЭВМ можно ремонтировать, то после находки отказа – работоспособность компьютера восстанавливается (Т в – среднее время восстановления) Т в – фактически время, которое происходит от момента обнаружения отказа до полного восстановления работоспособности. Для компьютеров с простейшим потоком отказов в качестве показателя используют показатель готовности: К г = Т р /(Т р +Т в ) который характеризует вероятность того, что в данный момент времени компьютер готов к решению требуемой задачи. 5. Показатель стоимости – суммарная стоимость всего оборудования, входящего в состав ЭВМ. Если возрастает количество оборудования ЭВМ, то в конечном итоге, будет расти не только стоимость, но будет расти и ее производительность. Путем статистического анализа была выведена связь между стоимостью и производительностью. Впервые это было установлено Найтом и получило название “Закон Гроша”. (V=kS 2 ) k – константа определяется эмпирически Вывод, если не менять технологическую базу компьютеров, то: 1. При росте стоимости ЭВМ растет количество оборудования и, следовательно, снижается скорость решения задачи. 2. При росте стоимости ЭВМ растет объем оборудования и, следовательно, увеличивается время ремонта. Т ∑ T Т р при улучшении технологической базы Т сч Sопт Sопт S Т ∑ =Т сч +Т р т.е. для данного уровня технологии всегда есть некоторая оптимальная стоимость, которая дает лучшие технические характеристики. Классификация ЭВМ. ЭВМ классифицируются по: 1. Назначению. Обычно выделяют ЭВМ общего применения и ЭВМ ориентированные на вполне определенный класс задач. 2. Производительности: ЭВМ подразделяются по величине производительности. 3. Режимам работы: а) однопрограммные ЭВМ б) мультипрограммные ЭВМ (Эти ЭВМ должны иметь большую оперативную память, средства управления временем, ввода-вывода, средства позволяющие исключить влияния программ друг на друга) - 7 - в) ЭВМ для построения много машинных и многопроцессорных вычислительных систем (дополнительно к мультипрограммным ЭВМ должны реализовывать функции взаимного обмена между ЭВМ) г) ЭВМ для работы в системах реального времени. (Говоря о машинах реального времени наиболее очевиден пример, когда ЭВМ управляет техническим объектом (автопилот). К ним предъявляют требования быстродействия и способность получать массу сигналов от внешних источников) 4. Способ структурной организации. Для увеличения скорости ЭВМ в ее состав включают несколько процессоров. Различают: а) Однопроцессорные ЭВМ б) Мультипроцессорные ЭВМ (можно также выделить квазипроцессорные ЭВМ), состоят как из однотипных, так и из разнотипных процессоров (неоднородные ЭВМ). Основная цель мультипроцессирования – получение сверх высокой производительности вычислительных систем (ВС). Как правило, такие системы содержат несколько десятков, сотен или тысяч сравнительно простых процессоров, и их число позволяет увеличивать производительность. Принципиально такие системы ориентируются на большой круг задач, которые допускают эффективное распараллеливание вычисление на регулярную структуру (связи между процессорами, как правило, фиксированы). Вообще-то не каждая задача достаточно хорошо распараллеливается на заданную ВС. ВС с параллельной обработкой также классифицируются. В качестве такой классификации выступает классификация по Флину. В ее основе лежит способ организации параллелизма ВС (множественность). Этот параллелизм определяется как максимальное число одновременных команд или операндов, которые находятся на одинаковой или какой-то определенной стадии выполнения. Согласно Флину существует 4 разновидности ВС: 1. ОКОД (SISD, одиночный поток команд одиночный поток данных). Такое структурное построение характерно для классических машин фон Неймана. Функционирование в виде линейного процессора. ОУ, ОсП (основная память), УУ Линейная организация вычислительного процесса обуславливает весьма низкую эффективность аппаратных средств (велик коэффициент простоя) Для повышения работы такой структуры применяются методы локального параллелизма – совмещенная или опережающая выборка команд, расслоение памяти, но, как правило, это требует дополнительных аппаратных затрат. 2. ОКМД (SIMD, одиночный поток команд множественный поток данных). Для данной ВС обычный поток команд воздействует на несколько процессорных блоков одновременно, которые обрабатывают различные данные по одной команде. Память в такой ВС является разделенной. Первоначально типовыми представителями таких ВС были супер-ЭВМ (ILLIAC IV, команда STARAN, PEPE, ПС-300). ВС с такой структурной организацией направлены на решение задач с естественным параллелизмом. В современных ЭВМ это реализовано в Pentium MMX. Данные Результаты CPU ОсП Память програм. УУ ОУ … … … ОУ Память данных - 8 - 3. МКОД (MISD, множественный поток команд одиночный поток данных). Эту ВС обычно рассматривают как результат идей локального параллелизма. Иначе их называют конвейерные ВС. Операционная часть Вс является регулярной и представляет собой цепочку последовательно (линейно) соединенных процессорных блоков, которые образуют конвейер процессора. Конвейер процессора Данный конкретный блок является Команды специализированным и выполняет вполне данные результат определенную часть команды. Впервые такую ВС разработал академик Лебедев. 4. МКМД (MIMD, множественный поток команд множественный поток данных) – общий случай мультипроцессорной системы. В общем случае связи между элементарными процессорами являются перестраевыми. Процессоры Такая ВС позволяет повысить не только производительность, но и надежность. Как правило отказ одного процессора не приводит к выходу из строя всей системы. При такой организации ВС возникают сложности взаимодействия управления, при решение одной задачи. Иногда MIMD называют «моделью коллектива вычислителей» §4 Уровни организации ЭВМ. Основой функционирования любой ЭВМ является ее способность выполнять заданные действия. Аппаратные средства любой ЭВМ способны выполнять только ограниченный набор сравнительно простых команд. Эти примитивные команды примитивные команды составляют так называемый машинный язык машины. Говоря о сложности аппаратуры компьютера, машинные команды целесообразно делать как можно проще, но примитивность большинства машинных команд делают их использование неудобным и трудным. Вследствие чего разработчики вводят другой набор команд более удобный для человеческого общения (языки более высокого уровня). Рисунок показывает, что между языками программирования и существующей виртуальной машиной существует тесная трансляция связь, но в общем случае она является нелинейной. Пользователь, который работает Ассемблирование на каком-то уровне в принципе Может и не знать процессы, Частичная происходящие на других Интерпретация уровнях организации, но для составления эффективных интерпретация программ, необходимо знание Программные оболочки Проблемно-ориентированный язык Ассемблер. уровень Уровень ОС Машинный уровень (традиционный) Микропрограммный уровень - 9 - более низких языков программирования. Большинство современных ЭВМ включают 6-7 уровней виртуализации. Нижние уровни, начиная с машинного более консервативны к изменениям. Многие коммерческие ЭВМ принципиально могут не иметь уровня нанопрограммирования, но и даже микропрограммирования (по крайней мере, на уровне пользователя). В современных ЭВМ машинные команды, как правило, интерпретируются с помощью микропрограмм. Уровень ОС обычно является смешанным уровнем, т.к. большинство супервизорных команд являются командами машинного уровня. В состав уровня ОС дополнительно включаются команды, которые фактически являются некоторыми типовыми программами машинного уровня (команды ввода-вывода, переключения между программами). Во многих ЭВМ были варианты, когда отдельные программы ОС непосредственно интерпретируются микропрограммами. В современных ЭВМ прослеживается тенденция все боле тесной связи уровня ОС с микропрограммным уровнем. Можно также найти массу команд уровня ОС, реализованных, на уровне ассемблирования. Простые пользователи, как правило, ограничиваются уровнем изучения начиная с машинного. Нижние уровни необходимы для разработчиков. |