Перейти на главную страницу
Факультет радиофизики и компьютерных технологий
Кафедра интеллектуальных систем
КУРС ЛЕКЦИЙ
по специальному курсу
ISBN 5-06-0004597
Р15
|
Шестаков К. М. Курс лекций по специальному курсу «Компьютерные системы»: Электронная версия. Учебное пособие для студентов факультета радиофизики и компьютерных технологий. – Мн.: БГУ, – 162 c. ISBN 985-445-093 Предназначен для студентов факультета радиофизики и компьютерных технологий. В курсе несколько шире, чем на лекциях, показаны сложные структуры компьютерных систем и их компонентов. Архитектура компьютерных систем, магистральные структуры, центральные процессоры, цифровые процессоры сигналов, микроконтроллеры и т. п. отражены в курсе. |
© БГУ, 2011
Современные компьютерные системы (КС) характеризуются большим разнообразием компонентов. Варьируется состав, связи и типы компонентов. Это определяется спецификой решаемых задач, состоянием предложений на рынке СБИС и периферийных устройств. Динамика развития компонентов в последние годы начинает обгонять прогнозы, в том числе и базирующиеся на расчетах по закономерностям Мура. Примером может служить практически ежеквартальные изменения лидирующих архитектур видеоадаптеров. Парадоксально, но рынок центральных процессоров сегодня наиболее стабилен, годовой цикл обновления, характерный для него, можно назвать самым длительным. Возможности новых систем неуклонно растут. Однако и ранее выпущенные КС должна сохранять приспосабливаемость к решению новых, в том числе и более сложных, задач (назовем это гибкостью КС). В ряде случаев необходимо поддерживать в определенной степени и конкурентоспособность снятых с производства КС. Если учесть то, что жизненный цикл компьютерной системы превышает пять лет, то оптимальное решение такой задачи весьма не просто.
Гибкость архитектуры сегодня обеспечивается на уровне унификации интерфейса микроконтроллеров, СБИС специализации, системных интерфейсов, стандартизации электрической части спецификации интерфейса, резервирования адресных областей в протоколах обмена, кодов режимов и т. п.
Гибкость программной среды, включающей в себя рабочие программы, языки программирования КС и ее компонентов, библиотеки модулей, сохраняется, во- первых, удалением точек приложения разработчиков программ пользователей от специфики аппаратной реализации функций путем введения специализированного под функцию набора команд высокого уровня, которые выполняются через услуги операционной системы и поддерживаются аппаратными акселераторами, а при отсутствии последних, программными конструкциями (практически макросами). Во вторых снижение затрат разработки прикладных программ благодаря использованию библиотек программных модулей, широко представленных на рынке и имеющих определенную специализацию (работа в реальном времени, секретность и т. п.).
Специализируясь в подотраслях КС необходимо быть готовым к существенному, довольно частому пополнению теоретических знаний, надо уметь хорошо анализировать новые решения, абстрагируясь от рекламной составляющей.
История развития компьютера начинается, вероятно, с 1836 года. Тогда Ч. Беббидж предложил структуру, по сути последовательной, машины для расчета астрономических и морских таблиц. Он видел ее как совокупность: склад (50 40-ка значных десятичных чисел) (прообраз запоминающего устройства ЗУ); мельница (сложение, вычитание, умножение, деление) два аккумулятора для промежуточных результатов (прообраз арифметико-логического устройства АЛУ); перфокарта для переноса со склада к мельнице и обратно чисел (прообраз устройства управления УУ).
В 1918 М.А. Бонч-Бруевич создает на двух электронных лампах триггер. Ставший, в своей схеме, основой запоминающих быстродействующих устройств – регистров и т.п.
В 1931 Винн-Вильямс создает счетчик на электронных лампах.
Начавшееся десятилетие практически стало стартом теории компьютеров. Наряду с аппаратной частью поднимаются на первую ступень и теория построения КС. Не зависимо друг от друга Э.Х. Пост (США) и А.М. Тьюринг (Великобритания) дали уточненное понятие «алгоритм» и доказали универсальность не которого, весьма небольшого набора команд.
Команды (6 команд):
Оба автора доказали то что любая алгоритмизируемая задача решается на приведенной машине. Это сняло вопросы о полноте набора команд и длине операнда.
В 1940 г. Ноберт Винер предложил за базу функционирования компьютера принять двоичную систему исчисления.
В 1946 г. Джон фон Нейман прорабатывает архитектуру компьютера, в которой данные и команды размещаются в запоминающем устройстве. Их различие определяется только адресом. По сути именно здесь появляется четко счетчик команд.
Остановимся еще на классическом цикле управления фон Неймана установившемся в начальные годы развития компьютеров рис.1.2. Основа этого цикла содержимое указателя команд. По нему извлекается команда, дешифрируется, выполняется. Для целей управления и для соблюдения универсальности проверяется наличие сигналов внешних прерываний, если имело место, текущее значение указателя команд переносится в стек. Новое значение адреса первой команды программы обработки прерывания передается в указатель команд. При отсутствии прерывания указатель команд наращивается на размерность команды в байтах и цикл повторяется. Как видим, цикл бесконечен. Он требует только начального адреса при старте. Такие архитектуры называют еще системами управляемыми указателем команд.
В 1944 году появляется первая релейная машина Марк 1, и в 1947 вторая Марк 2 (руководитель работы – американский физик Г. Айкен).
С 50-х годов началась последовательность успешных машин. Это и ЭДСАК 1949 г. (Кембридж руководитель М. Уилкс), МЭСМ (малая счетная машина) -1951г., БЭСМ – 1952 г. (СССР руководитель С.А. Лебедев). Мировой парк машин в 1965 г. превысил 50 тысяч шт., а в 1975 г. – 200 тысяч шт.
В 50-е годы сформировалось понятие классической архитектуры последовательной машины. Оно базируется на предложениях фон Неймана:
Одновременно начаты попытки описать возникающие структуры.
Майкл Флинн предложил в 1966 году следующую классификацию вычислительных систем, первый слой которой основан на количестве потоков входных данных и количестве потоков команд, которые эти данные обрабатывают:
|
Один поток инструкций |
Несколько потоков инструкций |
Один поток данных |
SISD |
MISD |
Несколько потоков данных |
SIMD |
MIMD |
Системами с общей памятью называют системы, в которых несколько процессоров имеют общую оперативную память. К системам этого типа относят и компьютеры с многоядерными процессорами (multi-core). Данное решение очень характерно для графических процессоров (GPU).
Преимущества: Не требуется обмен данными: данные, помещённые в память одним процессором, автоматически становятся доступными другим процессорам. Соответственно, система не должна тратить время на пересылку данных. Для таких систем в программах обычно создают несколько вычислительных потоков, или же снабдить программу специальными директивами (например, технология OpenMP), которые подскажут компилятору, как распараллеливать программу. Кроме того, возможно полностью автоматическое распараллеливание программы компилятором.
Компактность систем: может быть реализована в виде нескольких процессоров на одной материнской плате, и/или в виде нескольких ядер внутри процессора.
Недостатки: Зависимости между данными и влияние на ветвление циклов управления результатов операций. Для решения подобных проблем используют критические секции. Если поток инструкций первого процесса входит в критическую секцию с идентификатором N, то поток инструкций другого процесса не сможет войти в критическую секцию с тем же идентификатором, и будет ждать, пока первый процесс не выйдет из этой секции.
Проблема совместного доступа к памяти: нужно осторожно работать с теми участками памяти, для которых возможно одновременное выполнение записи одним процессором и другой операции (записи или чтения) другим процессором.
Проблема синхронности КЭШей (промежуточная скоростная память подкачки данных) автономно от процесса расчетов. Если один процессор изменил данные в оперативной памяти, и эти данные прокэшированы другими процессорами, то их КЭШи должны автоматически обновиться. Проблема медленного обращения к оперативной памяти и её ограниченного объёма: процессор работает быстро, а память — медленно, поэтому даже одному процессору приходится ждать загрузки данных из оперативной памяти. Если же процессоров несколько, то им приходится ждать ещё дольше. Скорость работы каждого процессора с памятью становится тем меньше, чем большее число процессоров имеется в системе. Кроме того, объём памяти не может быть сделан сколь угодно большим, так как для этого придётся увеличивать разрядность шины памяти.
Проблема масштабируемости: очень сложно сделать подобную систему с больши́м числом процессоров, так как очень сильно возрастает стоимость и падает эффективность работы из-за описанных выше проблем. Практически все подобные системы имеют ≤ 8 процессоров.
Системы с распределённой памятью содержит несколько процессоров, каждый имеет свою оперативную память. Для обеспечения обмена информацией процессоры соединены каналами связи. По характеру связей такие системы делятся на системы с универсальной коммутацией (каждый процессор может передать информацию любому другому процессору) и системы с жёсткой (фиксированной) коммутацией (каждый процессор может передать информацию только ограниченному числу других процессоров).
Системы с распределённой памятью, в которых каждый вычислительный узел представляет собой полноценный компьютер со своей копией операционной системы, называют кластерными (или «кластерами»). Кластеры обычно представляют собой шкафы с компактными системными блоками, которые соединены друг с другом каналами связи (посредством специальных коммутаторов).
Преимущества: Простота и дешевизна построения: можно взять большое количество обычных компьютеров, соединить их каналами связи (например, Ethernet), и получить кластер.
Эффективное решение задач, требующих малого обмена данными: каждый компьютер будет работать в полную мощность, не ожидая, пока освободится доступ к оперативной памяти.
Возможность решать задачи, требующие очень больших объёмов оперативной памяти: суммарный объём памяти системы можно сделать сколь угодно большим. Требуется лишь, чтобы задача разбивалась на относительно независимые подзадачи.
Возможность масштабирования: можно соединить сколько угодно вычислительных узлов вместе, при этом стоимость системы будет пропорциональна числу узлов. В связи с этим большинство самых мощных вычислительных систем в мире являются кластерными.
Недостатки: Проблема обмена данными: обмен данными в таких системах обычно идёт очень медленно по сравнению со скоростью вычислений (и с большими задержками). Поэтому задачи, требующие интенсивного обмена, невозможно решить на таких системах эффективно.
Сложное программирование: программист должен продумать обмен данными, который будет присутствовать в системе, должен сам запрограммировать этот обмен (например, с помощью MPI). При неправильном программировании велика вероятность взаимных блокировок: когда, например, два процессора ждут данных друг от друга. Проблема блокировок есть и в системах с общей памятью, но здесь она проявляет себя гораздо чаще. Автоматическая организация обмена данными возможна лишь для некоторых частных случаев.
Гибридные системы: Многие современные системы представляют собой иерархию описанных выше систем. Например, современные процессоры являются конвейерными процессорами, и имеют набор векторных инструкций (MMX, SSE и т.п.), позволяющих выполнять одновременные вычисления с разными данными. Кроме того, процессор может иметь два ядра, или может быть несколько процессоров в компьютере. Таким образом, на этом уровне система представляет собой систему с общей памятью. Затем можно соединить несколько таких компьютеров в кластер, образовав новый уровень иерархии: систему с распределённой памятью.
Та радиофизики и компьютерных технологий. В курсе несколько шире, чем на лекциях, показаны сложные структуры компьютерных систем и их компонентов
09 10 2014
10 стр.
Криминалистика: Курс лекций / Е. Р. Россинская; Московская государственная юридическая академия. М.: Норма: инфра-м, 2010. 384 с.: 60x90 1/16
14 12 2014
1 стр.
14 10 2014
1 стр.
Охватывают все стороны жизни, весь государственный
14 12 2014
54 стр.
Курс лекций «Математика и современная философия» посвящен философской рецепции тех основных проблем, с которыми столкнулась математика в ХХ веке, что повлекло перемены не только вн
24 09 2014
1 стр.
«История государства Российского» и др.); Костомаров И. Н. («Русская история в жизнеописаниях» и др.); Платонов С. Ф. («Полный курс лекций по русской истории»); Ключевский Л
05 09 2014
1 стр.
Радаев А. А. Краткий курс лекций по экологии для студентов гуманитарных специальностей Часть I правовое регулирование природопользования
14 12 2014
1 стр.
Списки учебной литературы, рекомендуемой обучающимся в качестве основной и дополнительной по темам лекций
15 09 2014
1 стр.