Архитектура вычислительной системы. Классификация компьютеров

Автор: Пользователь скрыл имя, 02 Ноября 2011 в 14:08, реферат

Краткое описание

Совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации называют вычислительной техникой. Конкретный набор, связанных между собою устройств, называют вычислительной системой. Центральным устройством большинства вычислительных систем является электронная вычислительная машина (ЭВМ) или компьютер.

Файлы: 1 файл

Архитектура современной вычислительной техники.docx

— 29.36 Кб (Скачать)

в кэш-памяти «со  сквозной записью» результаты операций одновременно, параллельно записываются и в кэш-память, и в ОП.  

Микропроцессоры начиная от МП 80486 обладают встроенной в основное ядро МП кэш-памятью (или кэш-памятью 1-го уровня — L1), чем и обусловливается их высокая производительность. Микропроцессоры Pentium имеют кэш-память отдельно для данных и отдельно для команд: у Pentium емкость этой памяти небольшая — по 8 Кбайт, у Pentium MMX — по 16 Кбайт. У Pentium Pro и выше кроме кэш-памяти 1-го уровня есть и встроенная на микропроцессорную плату кэш-память 2-го уровня (L2) емкостью от 128 Кбайт до 2048 Кбайт. Эта встроенная кэш-память работает либо на полной тактовой частоте МП, либо на его половинной тактовой частоте.  

Следует иметь  в виду, что для всех МП может  использоваться дополнительная кэш-память 2-го (L2) или 3-го (L3) уровня, размещаемая  на материнской плате вне МП, емкость  которой может достигать нескольких мегабайтов (кэш на MB относится к  уровню 3, если МП, установленный на этой плате, имеет кэш 2-го уровня). Время  обращения к кэш-памяти зависит  от тактовой частоты, на которой кэш  работает, и составляет обычно 1-2 такта. Так, для кэш-памяти L1 МП Pentium характерно время обращения 2-5 нс, для кэш-памяти L2 и L3 это время доходит до 10 нс. Пропускная способность кэш-памяти зависит и от времени обращения, и от пропускной способности интерфейса и лежит в широких пределах от 300 до 3000 Мбайт/с.  

Использование кэш-памяти существенно увеличивает  производительность системы. Чем больше размер кэш-памяти, тем выше быстродействие, но эта зависимость нелинейная. Имеет  место постепенное уменьшение скорости роста общей производительности компьютера с ростом размера кэш-памяти. Для современных ПК рост производительности, как правило, практически прекращается после 1 Мбайт кэш-памяти L2. Создается  кэш-память на основе микросхем статической  памяти.  
 

CMOS-память

CMOS-память(изготовленная по технологии CMOS – complementary metal – oxide semiconductor) предназначена для длительного хранения данных о конфигурации и настройке компьютера (дата, время, пароль), в том числе и когда питание компьютера выключено. Для этого используют специальные электронные схемы со средним быстродействием, но очень малым энергопотреблением, питаемые от специального аккумулятора, установленного на материнской плате. Это полупостоянная память.Питается от батарейки, поэтому сохраняет информацию и при полном отключении питания компьютера.

BIOS

BIOS- постоянная  память, т.е. память, хранящая информацию  при отключенном питании теоретически  сколь угодно долго,в которую данные занесены при ее изготовлении. Такой вид памяти называется ROM (read only memory). BIOS (Basic Input-Output System) – базовая система ввода-вывода – содержит наборы групп команд, называемых функциями, для непосредственного управления различными устройствами ПК, их тестирования при включении питания и осуществления начального этапа загрузки операционной системы компьютера. В BIOS содержится также программа настройки конфигурации компьютера – SETUP. Она позволяет установить некоторые характеристики устройств ПК. BIOS как система непосредственно ориентирована на конкретную аппаратную реализацию компьютера и может быть различной даже в однотипных компьютерах. 
 

Управление  памятью 

 Основная (или  как ее принято называть в  отечественной литературе и документации, оперативная) память всегда была  и остается до сих пор наиболее  критическим ресурсом компьютеров. Если учесть, что большинство современных компьютеров обеспечивает 32-разрядную адресацию в пользовательских программах, и все большую силу набирает новое поколение 64-разрядных компьютеров, то становится понятным, что практически безнадежно рассчитывать, что когда-нибудь удастся оснастить компьютеры основной памятью такого объема, чтобы ее хватило для выполнения произвольной пользовательской программы, не говоря уже об обеспечении мультипрограммного режима, когда в основной памяти, вообще говоря, могут одновременно содержаться несколько пользовательских программ.  

 Поэтому всегда  первичной функцией всех операционных  систем (более точно, операционных  систем, обеспечивающих режим мультипрограммирования) было обеспечение разделения  основной памяти между конкурирующими  пользовательскими процессами. Мы  не будем здесь слишком сильно  вдаваться в историю этого  вопроса. Заметим лишь, что применявшаяся техника распространяется от статического распределения памяти (каждый процесс пользователя должен полностью поместиться в основной памяти, и система принимает к обслуживанию дополнительные пользовательские процессы до тех пор, пока все они одновременно помещаются в основной памяти), с промежуточным решением в виде "простого своппинга" (система по-прежнему располагает каждый процесс в основной памяти целиком, но иногда на основании некоторого критерия целиком сбрасывает образ некоторого процесса из основной памяти во внешнюю память и заменяет его в основной памяти образом некоторого другого процесса), до смешанных стратегий, основанных на использовании "страничной подкачки по требованию" и развитых механизмов своппинга.  

 Операционная  система UNIX начинала свое существование  с применения очень простых  методов управления памятью (простой  своппинг), но в современных вариантах системы для управления памятью применяется весьма изощренная техника. 

Параллельные  вычисления — такой способ организации компьютерных вычислений, при котором программы разрабатываются как набор взаимодействующих вычислительных процессов, работающих параллельно (одновременно). Термин охватывает совокупность вопросов параллелизма в программировании, а также создание эффективно действующих аппаратных реализаций. Теория параллельных вычислений составляет раздел прикладной теории алгоритмов.[1] 

Существуют различные  способы реализации параллельных вычислений. Например, каждый вычислительный процесс  может быть реализован в виде процесса операционной системы, либо же вычислительные процессы могут представлять собой  набор потоков выполнения внутри одного процесса ОС. Параллельные программы  могут физически исполняться  либо последовательно на единственном процессоре — перемежая по очереди  шаги выполнения каждого вычислительного процесса, либо параллельно — выделяя каждому вычислительному процессу один или несколько процессоров (находящихся рядом или распределённых в компьютерную сеть). 

Основная сложность  при проектировании параллельных программ — обеспечить правильную последовательность взаимодействий между различными вычислительными  процессами, а также координацию  ресурсов, разделяемых между процессами. 

Распараллеливание программ 

 После того, как мы воплотим в "железе" кластерную архитектуру, придется  задуматься над вопросом а как же ее использовать. Старые линейные методы программирования уже не подходят для написания программ, эффективно использующих многопроцессорную технологию. Необходимо поменять стиль программирования задач. Но для этого надо иметь минимальное представление о том, какими способами можно превратить линейную программу в параллельную. Хотя существуют специальные трансляторы, которые автоматически, без участия програмиста, могут найти в программе куски параллельного кода и дать на выходе исполняемую на кластере задачу, добиться максимальных результатов с помощью таких трансляторов нельзя. О некоторых подобных трансляторах мы поговорим позже, когда будем обсуждать программное обеспечение кластера. Теперь же рассмотрим некоторые теоретические вопросы построения параллельных вычислений.

Распараллеливание программ - это процесс адаптации  алгоритмов, записанных в виде программ, для их эффективного исполнения на вычислительной системе параллельной архитектуры. Заключается либо в  переписывании программ на специальный  язык, описывающий параллелизм и  понятный трансляторам целевой вычислительной системы, либо к вставке специальной  разметки (например, инструкций MPICH/MPI).

Распараллеливание может быть ручным, автоматизированным и полуавтоматизированным. При распараллеливании важно учитывать не только формальный параллелизм структуры алгоритма, но и то, что обменные операции в параллельных ЭВМ происходят, как правило, значительно медленнее арифметических. С этим связано существование львиной доли накладных расходов на организацию параллелизма.

Целью программиста не должно быть получение правильного  результата вычислений любой ценой, но получение правильного результата наибыстрейшим, оптимальным способом. Если программа предназначена для  однократного использования, то лучше  написать ее как можно проще, не оптимизируя  ее быстродействие и используемую память, чтобы потратить минимум усилий на тестирование и отладку. Если программа  предназначена для частого использования  или время ее работы будет гораздо  больше времени ее написания и  отладки, то не следует жалеть труда  на оптимизацию ее быстродействия.

Для начала разберемся, что мы хотим получить от кластера. Как уже было сказано, использовать параллельные компьютеры имеет смысл  только для "тяжелых" задач, которые  требуют или большого времени  счета или большого объема памяти.

Есть две проблемы, которые всегда встают перед нами, когда мы решаем подобные задачи. Первая: недостаток времени. Если наша задача выполняется в течение шести  недель, было бы очень неплохо, если бы время ее счета сократилось  до шести дней. Вторая: недостаток памяти. Предположим, к примеру, мы решаем численно систему дифференциальных уравнений  на разностной сетке. Размерность сетки  всегда ограничена объемом оперативной  памяти компьютера. Нет ничего невероятного в том, что увеличивая размерность  разностной сетки (увеличивая детализацию) мы можем получить интересные тонкие эффекты, которые, хотя и описываются  исходными уравнениями, но скрыты от нас слишком грубой сеткой.

Решением обоих  этих проблем является декомпозиция задачи. То есть, разделение задачи на части, которые могут быть параллельно  исполнены на нескольких машинах  кластера. С помощью декомпозиции можно как сократить общее  время счета задачи, так и увеличить  доступную для задачи оперативную  память. Далее рассмотрим подробно, что есть декомпозиция. 
 

Ярусно-параллельная форма графа (ЯПФ) — деление вершин ориентированного ациклического графа на перенумерованные подмножества Vi такие, что, если дуга e идет от вершины к вершине , то обязательно j < k.

Каждое из множеств Vi называется ярусом ЯПФ, i — его номером, количество вершин в ярусе — его шириной. Количество ярусов в ЯПФ называется её высотой, а максимальная ширина её ярусов — шириной ЯПФ.

Для ЯПФ графа  алгоритма важным является тот факт, что операции, которым соответствуют  вершины одного яруса, не зависят  друг от друга, и поэтому заведомо существует параллельная реализация алгоритма, в которой они могут быть выполнены  параллельно на разных устройствах  вычислительной системы. Поэтому ЯПФ  графа алгоритма может быть использована для подготовки такой параллельной реализации алгоритма.

Минимальной высотой  всех возможных ЯПФ графа является его критический путь. Построение ЯПФ с высотой, меньшей критического пути, невозможно.

Информация о работе Архитектура вычислительной системы. Классификация компьютеров