Принципы построения компьютерных систем
Полувековая история развития вычислительной техники была связана с совершенствованием классической структуры компьютера, имеющей следующие отличительные признаки:
- ядро компьютера - процессор - единственный вычислитель в структуре, дополненный каналами обмена информацией и памятью;
- линейная организация ячеек всех видов памяти фиксированного размера;
- одноуровневая адресация ячеек памяти, стирающая различия между всеми типами информации;
- внутренний машинный язык низкого уровня, при котором команды содержат элементарные операции преобразования простых операндов;
- последовательное централизованное управление вычислениями;
- достаточно примитивные возможности устройства ввода-вывода.
Классическая структура компьютера уже сослужила добрую службу человечеству. В ходе эволюции она была дополнена целым рядом частных доработок, позволяющих ликвидировать наиболее "узкие места" и обеспечить максимальную производительность в рамках достигнутых технологий. Однако, несмотря на все успехи, классическая структура уже не обеспечивает возможностей дальнейшего наращивания производительности. Теория и практика построения компьютеров подошли к рубежам микроэлектроники, за которыми стоят множество практически неразре-шимых проблем в областях системотехники, дальнейшего наращивания частоты работы микросхем, программирования, компиляции и т.д.
Дальнейшее поступательное развитие вычислительной техники напрямую связано с переходом к параллельным вычислениям, с идеями построения многопроцессорных систем и сетей, объединяющих большое количество отдельных процессоров и (или) ЭВМ. Здесь появляются огромные возможности совершенствования средств вычислительной техники. Но следует отметить, что при несомненных практических достижениях в области параллельных вычислений до настоящего времени отсутствует их единая теоретическая база.
С появлением в начале нового тысячелетия многоядерных микропроцессоров эра компьютеров классической структуры и связанных с ними последовательных вычислений заканчивается. На смену идут новые параллельные структуры с новыми принципами их построения. Они становятся экономически более выгодными. Будущее вычислительной техники - именно за этими системами.
Под вычислительной (компьютерной) системой (ВС) понимают совокупность взаимосвязанных и взаимодействующих процессоров или ЭВМ, периферийного оборудования и программного обеспечения, предназначенную для сбора, хранения, обработки и распределения информации. Отличительной особенностью ВС по отношению к ЭВМ является наличие в них нескольких вычислителей, реализующих параллельную обработку. Создание ВС преследует следующие основные цели: повышение производительности системы за счет ускорения процессов обработки данных, повышение надежности и достоверности вычислений, предоставление пользователям дополнительных сервисных услуг и т.д.
Основные принципы построения, закладываемые при создании ВС:
- возможность работы в разных режимах;
- модульность структуры технических и программных средств, которая позволяет совершенствовать и модернизировать вычислительные системы без коренных их переделок;
- унификация и стандартизация технических и программных решений;
- иерархия в организации управления процессами;
- способность систем к адаптации, самонастройке и самоорганизации;
- обеспечение необходимым сервисом пользователей при выполнении вычислений.
Существует большое количество признаков, по которым классифицируют вычислительные системы: по целевому назначению и выполняемым функциям, по типам и числу ЭВМ или процессоров, по архитектуре системы, режимам работы, методам управления элементами системы, степени разобщенности элементов вычислительной системы и др. Однако основными из них являются признаки структурной и функциональной организации вычислительной системы.
Большое разнообразие структур ВС затрудняет их изучение. Поэтому их классифицируют с учетом их обобщенных характеристик. С этой целью вводится понятие "архитектура системы".
Архитектура ВС - совокупность характеристик и параметров, определяющих функционально-логическую и структурную организацию системы и затрагивающих в основном уровень параллельно работающих вычислителей. Понятие архитектуры охватывает общие принципы построения и функционирования, наиболее существенные для пользователей, которых больше интересуют возможности систем, а не детали их технического исполнения. Поскольку ВС появились как системы параллельной обработки, рассмотрим классификацию архитектур именно c этой точки зрения.
Классификация архитектур была предложена М. Флинном (M. Flynn) в начале 60-хгг. В ее основу заложено два возможных вида параллелизма: независимость потоков заданий (команд), существующих в системе, и независимость (несвязанность) данных, обрабатываемых в каждом потоке. Классификация до настоящего времени еще не потеряла своего значения. Однако подчеркнем, что, как и любая классификация, она носит временный и условный характер. Своим долголетием она обязана тому, что оказалась справедливой для ВС, в которых вычислительные модули построены на принципах классической структуры ЭВМ. С появлением систем, ориентированных на потоки данных и использование ассоциативной обработки, эта классификация может быть некорректной.
Согласно данной классификации существует четыре основных архитектуры ВС, представленных на рис.13.4:
- одиночный поток команд - одиночный поток данных (ОКОД), в английском варианте Single Instruction Single Data (SISD) - одиночный поток инструкций - одиночный поток данных (рис.13.4a);
- одиночный поток команд - множественный поток данных (ОКМД), или Single Instruction Multiple Data (SIMD) - одиночный поток инструкций - одиночный поток данных (рис.13.4б);
- множественный поток команд - одиночный поток данных (МКОД), или Multiple Instruction Single Data (MISD) - множественный поток инструкций - одиночный поток данных (рис.13.4в);
- множественный поток команд - множественный поток данных (МКМД), или Multiple Instruction Multiple Data (MIMD) - множественный поток инструкций - множественный поток данных (рис.13.4г).
Коротко рассмотрим отличительные особенности каждой из архитектур.
Архитектура ОКОД охватывает все однопроцессорные и одномашинные варианты систем, то есть варианты с одним вычислителем. Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а также параллельной работой устройств ввода-вывода информации и процессора. Закономерности организации вы-числительного процесса в этих структурах достаточно хорошо изучены.
Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные, т.е. процессорные элементы, входящие в систему, идентичны и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно обеспечивать соединения между процессорами, соответствующие реализуемым математическим зависимостям. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними.
Рис. 13.4.Архитектуры вычислительных систем: а) ОКОД (SISD) - архитектура; б) ОКМД (SIMD) - архитектура; в) МКОД (MISD) - архитектура; г) МКМД (MIMD) - архитектура
Эту схему использовали и используют все суперЭВМ без исключения, начиная с таких известных систем, как Cyber-205 и Gray различных модификаций. Узким местом подобных систем является необходимость изменения коммутации между процессорами, когда связь между ними отличается от матричной. Кроме того, задачи, допускающие широкий матричный параллелизм, составляют достаточно узкий класс задач. Структуры ВС этого типа по существу являются структурами специализированных суперЭВМ.
Архитектура МКОД предполагает построение своеобразного процессорного конвейера, в котором результаты обработки передаются от одного процессора к другому по цепочке. Выгоды такого вида обработки понятны. Прототипом таких вычислений может служить схема любого производственного конвейера. В современных ЭВМ по этому принципу реализована схема совмещения операций, в которой различные функциональные блоки работают параллельно, и каждый из них делает свою часть в общем цикле обработки команды.
В ВС этого типа конвейер должны образовывать группы процессоров. Однако при переходе на системный уровень очень трудно выявить подобный регулярный характер в универсальных вычислениях. Кроме того, на практике нельзя обеспечить и "большую длину" такого конвейера, при которой достигается наивысший эффект. Вместе с тем конвейерная схема нашла применение в так называемых скалярных процессорах суперЭВМ - они применяются как специальные процессоры для поддержки векторной обработки.
Архитектура МКМД предполагает, что все процессоры системы работают с различными программами и с индивидуальным набором данных. В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется во многих крупных вычислительных центрах для увеличения пропускной способности центра.
Наибольший интерес представляет организация согласованной работы процессоров системы, когда каждый элемент делает часть общей программы. Общая теоретическая база такого вида работ пока только создается. Но можно привести примеры большой эффективности этой модели вычислений. Подобные системы могут быть многомашинными и многопроцессорными. Переход на многоядерные микропроцессоры позволяет создавать мощные центры параллельной обработки, имеющие в своем составе тысячи процессоров. Проектировщики компьютерных систем сосредотачивают свои усилия на разработках разноплановых структур ВС (сосредоточенных и распределенных систем) именно в архитектуре МКМД.
Компьютерная система включает в себя вычислительные машины, программное обеспечение и периферийные устройства, выполняющие обработку данных.
Стоит упомянуть о различиях понятий «вычислительная машина» и «компьютерная система». Понятие вычислительная машина значительно уже и включает в себя технические средства, достаточные для проведения обработки данных и получения результатов в определенной форме. В состав вычислительной машины входит системное программное обеспечение.
Архитектура компьютерных систем предназначена для решения обширного круга задач, направленных на создание комплекса аппаратных и программных средств. Предназначение архитектуры определять основные правила для обеспечения взаимодействия элементов компьютерной системы.
Безусловно, в основе современной архитектуры компьютерных систем лежат все те же основные принципы принстонской архитектуры: программного управления, однородности памяти и произвольного доступа к памяти, хотя реальная структура значительно сложнее. Можно утверждать, что в последнее время для обеспечения потребности пользователей и разработчиков в повышении качества и производительности систем в целом происходит отстранение от архитектуры фон-Неймана.
Выделим факторы, влияющие на современную архитектуру компьютерной системы
- набор команд, воспринимаемых компьютером;
- быстродействие центрального процессора;
- количество периферийных устройств подключаемых к вычислительной машине одновременно;
- количество входящих в систему компьютеров и обеспечение быстродействия совместной работы.
Стремление разработчиков учесть эти и другие факторы позволяет усовершенствовать архитектуру компьютерных систем. Рассмотрим некоторых современные принципы построения архитектуры.
Принцип открытой архитектуры. Данный принцип изначально был внедрен в миниЭВМ третьего поколения американской фирмы DEC еще в 70-х годах. Впоследствии он получил широкое распространение в компьютерах фирмы IBM тем самым обеспечив успех компьютеров IBM PC. Принцип заключается в возможности подключения устройств и программ различных производителей в одной системе.
Принцип многопроцессорной архитектуры. Основан на совместной работе нескольких процессоров одновременно, что значительно увеличивает производительность компьютера. Количество процессоров используемых в системе зависит от мощности вычислительных машин, а так же решаемых ими задач и может варьироваться от двух-четырех до нескольких десятков.
Изначально данный принцип применялся в основном в научной среде для решения инженерных расчетов, систем автоматического проектирования, решения задач в глобальном масштабе и режиме реального времени атомной энергетики, метеорологии, структурной биологии, генетики, распознавания речи и изображений и других областях, и использовался лишь на суперкомпьютерах. В настоящее время из-за существенного роста бизнеса, необходимости использования корпоративных систем и совместной работы, обработки большого объема информациии необходимостью отсутствия сбоев и простоя в работе, данный принцип архитектуры стал применяться и в таких сферах как обработка транзакций в режиме реального времени, создание хранилищ данных для организации систем поддержки принятия решений.
К типам многопроцессорных систем относятся системы высокой надежности, системы для высокопроизводительных вычислений и многопоточные системы.
Принято выделять несколько архитектур многопроцессорных систем.
- SMP (Symmetric Multi-Processing) — симметричная многопроцессорная обработка, где два или более одинаковых процессора подключены к одной общей оперативной памяти, имеют полный доступ ко всем устройствам ввода / вывода, и управляются с помощью одного экземпляра ОС, в котором все процессоры имеют равные права. Наиболее распространенные многопроцессорные системы сегодня используют именно эту архитектуру.
- MPP (Massively Parallel Processing) — использует множество отдельных процессоров которые параллельно выполняют одну программу. MPP похожа на SMP, основное отличие в том, что в системах SMP все процессоры имеют равноправный доступ к памяти, тогда как в MPP, каждый процессор имеет доступ к определенным разделам памяти, причем в рамках этих разделов могут работать различные операционные системы. MPP системы называют системами массовой параллельной обработки. Они используются в научной сфере, и в крупном бизнесе.
- NUMA (Non-Uniform Memory Access) — время доступа к памяти зависит от объема памяти самого процессора. Процессор получает доступ к своей локальной памяти быстрее, т. к. имеет к ней прямой доступ, минуя системную шину, другие же процессоры обращаются к ней через шину. Архитектура NUMA называется неоднородной, потому что доступ к памяти быстрее, когда процессор обращается к своей собственной памяти, чем когда он заимствует информацию из памяти другого процессора. NUMA компьютеры обладают масштабируемостью из MPP и простотой программирования SMP. Принципы доступа к памяти данной архитектуры встречаются в различных Unix-подобных операционных системах.
Принцип многоуровневой памяти. Память компьютерных систем, как и любой вычислительной машины находится в постоянном внимании со стороны пользователей и разработчиков, так как скорость работы компьютера напрямую связанна с быстродействием оперативной памяти. Неприемлемость с экономической точки зрения быстродействующей энергозависимой памяти привело к созданию этого принципа. Принцип состоит в организации работы памяти по определенным уровням. Для оперативной памяти основная часть имеет большую емкость состоит из мелких и достаточно дешёвых элементов, а дополнительная память или кэш-память состоит из меньших по емкости быстродействующих элементов. Данные постоянно необходимые для обращения процессора хранятся в быстродействующей кэш-памяти, а оперативная информация достаточно больших объемов в основной памяти.
Принцип прямого доступа к памяти (DMA — Direct Memory Access) позволяет некоторым аппаратным подсистемам получить доступ к памяти, без участия центрального процессора. Предназначен в основном для устройств, обменивающихся большими блоками данных с оперативной памятью, обмена данными между внешним устройством. Инициатором обмена всегда выступает внешнее устройство, процессор инициализирует контроллер DMA, и далее обмен выполняется под управлением контроллера, процессор в это время может продолжать работу. DMA также могут быть использованы для копирования или перемещения данных в самой памяти.
Принцип коллективной работы. Данный принцип позволяет правильно и четко сформировать работу коллективов направленную на совместную деятельность посредством компьютерной системы, а именно дает возможность осуществлять совместные действия с целью достижения поставленных задач, например подготавливать отчеты по реализации проектов, разрабатывать программные продукты, принимать решения и многое другое связанное с одновременной работай коллектива. Реализация принципа коллективной работы стало предпосылкой появление такого рода деятельности как удаленная работа или дистанционная трудовая деятельность.
В заключении стоит упомянуть еще два принципа, которые начали внедряться в архитектуру современных компьютерных систем в последние годы, применяемые частично в суперкомпьютерах, а возможно и представляющие им конкуренцию.
Принцип облачных решений. Определенный подход к размещению, предоставлению и потреблению приложений и компьютерных ресурсов, прикотором приложения и ресурсы становятся доступны через Интернет в виде сервисов, потребляемых на различных платформах и устройствах. Особенности: мгновенная готовность к работе, неограниченная емкость ресурсов, большой выбор ПО, виртуализация, высокая способность к масштабированию.
Принцип ориентированности на данные или компьютерные системы DIC (Data-Intensive Computing). DIC является классом параллельных вычислений приложений, использующих данные параллельного подхода к обработке больших объемов данных. Общая схема работы DIC разделяется на три фазы: сбор данных, извлечение информации из них и перевод информации в форму, удобную для восприятия человеком.
Текущая ситуация развития архитектуры компьютерных систем далеко ушла от изначальной, предложенной Фон-Нейманом, и на первый план выходят представленные принципы. Безусловно, некоторые из описанных принципов проходят лишь начальные стадии внедрения и апробации в работе, а какие-то, получив новое название, продолжают свое существование. Итак, современная компьютерная система представляет собой компьютеры со множеством параллельно работающих процессоров, с многоуровневой памятью, предусматривающей прямой доступ к многочисленным подключаемым устройствам, работа которых позволяет принимать решения, обрабатывать большие объемы данных, строить базы знаний, грамотно строить совместную, в том числе и удаленную, работу группы людей.
1. Орлов С. А., Цилькер Б. Я. Организация ЭВМ и систем. — СПб.: Питер, 2011. — 688 с.
2. Архитектуры и топологии многопроцессорных вычислительных систем. / А. В. Богданов, В. В. Корхов, В. В. Мареев, Е. Н. Станкова / — М.: ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 2004. — 176 с.
3. Черняк Л. Суперкомпьютеры, смена эпох. — Computerworld Россия. — 2013. — N25
Основные термины (генерируются автоматически): MPP, SMP, система, DIC, DMA, NUMA, принцип, процессор, вычислительная машина, компьютерная система.
Одним из наиболее распространенных способов классификации ЭВМ является систематика Флинна (Flynn), в рамках которой основное внимание при анализе архитектуры вычислительных систем уделяется способам взаимодействия последовательностей (потоков) выполняемых команд и обрабатываемых данных. При таком подходе различают следующие основные типы систем (см. [2, 31, 59]):
- SISD (Single Instruction, Single Data) – системы, в которых существует одиночный поток команд и одиночный поток данных. К такому типу можно отнести обычные последовательные ЭВМ;
- SIMD (Single Instruction, Multiple Data) – системы c одиночным потоком команд и множественным потоком данных . Подобный класс составляют многопроцессорные вычислительные системы , в которых в каждый момент времени может выполняться одна и та же команда для обработки нескольких информационных элементов; такой архитектурой обладают, например, многопроцессорные системы с единым устройством управления. Этот подход широко использовался в предшествующие годы (системы ILLIAC IV или CM-1 компании Thinking Machines), в последнее время его применение ограничено, в основном, созданием специализированных систем;
- MISD (Multiple Instruction, Single Data) – системы, в которых существует множественный поток команд и одиночный поток данных. Относительно этого типа систем нет единого мнения: ряд специалистов считает, что примеров конкретных ЭВМ, соответствующих данному типу вычислительных систем, не существует и введение подобного класса предпринимается для полноты классификации; другие же относят к данному типу, например, систолические вычислительные системы (см. [51, 52]) или системы с конвейерной обработкой данных ;
- MIMD (Multiple Instruction, Multiple Data) – системы c множественным потоком команд и множественным потоком данных . К подобному классу относится большинство параллельных многопроцессорных вычислительных систем .
Следует отметить, что хотя систематика Флинна широко используется при конкретизации типов компьютерных систем, такая классификация приводит к тому, что практически все виды параллельных систем (несмотря на их существенную разнородность) оказываются отнесены к одной группе MIMD . Как результат, многими исследователями предпринимались неоднократные попытки детализации систематики Флинна. Так, например, для класса MIMD предложена практически общепризнанная структурная схема (см. [24, 75]), в которой дальнейшее разделение типов многопроцессорных систем основывается на используемых способах организации оперативной памяти в этих системах (см. рис. 1.4). Такой подход позволяет различать два важных типа многопроцессорных систем – multiprocessors ( мультипроцессоры или системы с общей разделяемой памятью) и multicomputers ( мультикомпьютеры или системы с распределенной памятью).
1.3.1. Мультипроцессоры
Для дальнейшей систематики мультипроцессоров учитывается способ построения общей памяти. Первый возможный вариант – использование единой (централизованной) общей памяти ( shared memory ) (см. рис. 1.5 а). Такой подход обеспечивает однородный доступ к памяти ( uniform memory access или UMA ) и служит основой для построения векторных параллельных процессоров ( parallel vector processor или PVP ) и симметричных мультипроцессоров ( symmetric multiprocessor или SMP ). Среди примеров первой группы - суперкомпьютер Cray T90, ко второй группе относятся IBM eServer, Sun StarFire, HP Superdome, SGI Origin и др.
Рис. 1.5. Архитектура многопроцессорных систем с общей (разделяемой) памятью: системы с однородным (а) и неоднородным (б) доступом к памяти
Одной из основных проблем, которые возникают при организации параллельных вычислений на такого типа системах, является доступ с разных процессоров к общим данным и обеспечение, в связи с этим, однозначности (когерентности) содержимого разных кэшей (cache coherence problem). Дело в том, что при наличии общих данных копии значений одних и тех же переменных могут оказаться в кэшах разных процессоров. Если в такой ситуации (при наличии копий общих данных) один из процессоров выполнит изменение значения разделяемой переменной , то значения копий в кэшах других процессоров окажутся не соответствующими действительности и их использование приведет к некорректности вычислений. Обеспечение однозначности кэшей обычно реализуется на аппаратном уровне – для этого после изменения значения общей переменной все копии этой переменной в кэшах отмечаются как недействительные и последующий доступ к переменной потребует обязательного обращения к основной памяти. Следует отметить, что необходимость обеспечения когерентности приводит к некоторому снижению скорости вычислений и затрудняет создание систем с достаточно большим количеством процессоров.
Наличие общих данных при параллельных вычислениях приводит к необходимости синхронизации взаимодействия одновременно выполняемых потоков команд. Так, например, если изменение общих данных требует для своего выполнения некоторой последовательности действий, то необходимо обеспечить взаимоисключение ( mutual exclusion ), чтобы эти изменения в любой момент времени мог выполнять только один командный поток. Задачи взаимоисключения и синхронизации относятся к числу классических проблем, и их рассмотрение при разработке параллельных программ является одним из основных вопросов параллельного программирования.
Общий доступ к данным может быть обеспечен и при физически распределенной памяти (при этом, естественно, длительность доступа уже не будет одинаковой для всех элементов памяти) (см. рис. 1.5 б). Такой подход именуется неоднородным доступом к памяти ( non-uniform memory access или NUMA ). Среди систем с таким типом памяти выделяют:
- системы, в которых для представления данных используется только локальная кэш-память имеющихся процессоров ( cache-only memory architecture или COMA ); примерами являются KSR-1 и DDM ;
- системы, в которых обеспечивается когерентность локальных кэшей разных процессоров ( cache-coherent NUMA или CC-NUMA ); среди таких систем: SGI Origin 2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000;
- системы, в которых обеспечивается общий доступ к локальной памяти разных процессоров без поддержки на аппаратном уровне когерентности кэша ( non-cache coherent NUMA или NCC-NUMA ); например, система Cray T3E .
Использование распределенной общей памяти ( distributed shared memory или DSM ) упрощает проблемы создания мультипроцессоров (известны примеры систем с несколькими тысячами процессоров), однако возникающие при этом проблемы эффективного использования распределенной памяти (время доступа к локальной и удаленной памяти может различаться на несколько порядков) приводят к существенному повышению сложности параллельного программирования.
1.3.2. Мультикомпьютеры
Отдельные исследователи обращают особое внимание на отличие понятия кластера от сети компьютеров ( network of workstations или NOW ). Для построения локальной компьютерной сети, как правило, используют более простые сети передачи данных (порядка 100 Мбит/сек). Компьютеры сети обычно более рассредоточены, и пользователи могут применять их для выполнения каких-либо дополнительных работ.
Over the centuries, Great Britain has evolved politically from three independent states (England, Scotland, and Wales) through two kingdoms with a shared monarch (England and Scotland), a single all-island Kingdom of Great Britain, to the situation following 1801, in which Great Britain together with the whole island of Ireland constituted the larger United Kingdom of Great Britain and Ireland (UK).
Классификация КС возможна по следующим признакам:
1. Физический способ представления информации:
1.1 аналоговый вид – непрерывный сигнал
1.2 цифровой вид – информация в виде кода
1.3 гибридный способ
2.1 вычислительные системы – небольшие объемы входной и выходной информации, сложные алгоритмы обработки, много высокопроизводительных процессоров, небольшое количество устройств ввода-вывода
2.2 системы обработки данных – несложный алгоритм обработки, большое количество ВЗУ, не требует высокой производительности
2.3 управляющие КС – управляют компьютерными процессами, работают в масштабе реального времени
3. Область применения
3.1 универсальные КС – много функций, ориентирован на решение широкого круга задач путем применения соответствующего программного обеспечения. Особенностью является высокая производительность и большой объем памяти
3.2 специализированные КС – ориентированы на решение определенного круга задач, не требуют обновления ПО, дешевле и универсальнее
3.3 проблемно-ориентированные КС – ориентированы на узкий круг решения задач, небольшой объем расчетов
Основные принципы построения КС сформулированы ученым фон Нейманом и предусматривает реализацию:
1) единого вычислительного устройства, включающего процессор, средства передачи информации и память
Классическая архитектура КС.
Процессор |
АЛУ |
ЦУУ |
У-во выв |
У-во вв |
ЗУ |
АЛУ – арифметико-логическое устройство
ЦУУ- центральное устройство управления
Увв, Увыв – устройств ввода и устройство вывода информации
ЗУ – запоминающее устройство
2) линейные структуры адресации памяти, состоящей из слов фиксированной длины
3) двоичные системы счисления
4) централизованное последовательное управление
5) хранения программы
6) машинного языка низкого уровня
7) команд условной и безусловной передачи управления
8) АЛУ с представлением чисел в форме с плавающей точкой
Традиционно классическая архитектура, разработана фон Нейманом, иногда носит название принстонская архитектура. Особенностью архитектуры является единое адресное пространство, т.е. данные и адреса хранятся в одних запоминающих устройствах. Альтернативой является Гарвардская архитектура КС. Процессоры, реализованные по этому принципу, имеют два непересекающихся адресных пространства – для программ и для данных.
В основу построения подавляющего большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.
1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды.
А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти.
Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды "стоп".
Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм). Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык конкретной машины.
3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Но существуют компьютеры, принципиально отличающиеся от фон-неймановских. Для них, например, может не выполняться принцип программного управления, т.е. они могут работать без "счетчика команд", указывающего текущую выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.
При рассмотрении компьютерных устройств принято различать их архитектуру.
Архитектуройкомпьютера называется его описание на некотором общем уровне, включающее описание пользовательских возможностей программирования, системы команд, системы адресации, организации памяти и т.д. Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера: процессора, оперативного ЗУ, внешних ЗУ и периферийных устройств. Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя.
Наиболее распространены следующие архитектурные решения.
· Классическая архитектура (архитектура фон Неймана) — одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд — программа (рис. 2.1). Это однопроцессорный компьютер. К этому типу архитектуры относится и архитектура персонального компьютера с общей шиной, Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью.
Физически магистраль представляет собой многопроводную линию с гнездами для подключения электронных схем. Совокупность проводов магистрали разделяется на отдельные группы: шину адреса, шину данных и шину управления.
Периферийные устройства (принтер и др.) подключаются к аппаратуре компьютера через специальные контроллеры — устройства управления периферийными устройствами.
Контроллер — устройство, которое связывает периферийное оборудование или каналы связи с центральным процессором, освобождая процессор от непосредственного управления функционированием данного оборудования
· Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд.
Многомашинная вычислительная система. Здесь несколько процессоров, входящих в вычислительную систему, не имеют общей оперативной памяти, а имеют каждый свою (локальную).
· Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ.Это означает, что множество данных может обрабатываться по одной программе — то есть по одному потоку команд.
Типы и основные принципы построения периферийных устройств |
Периферийные устройства обеспечивают ввод-вывод информации и хранение массивов данных, программ пользователей и системного математического обеспечения. Типы периферийных устройств В зависимости от функций, выполняемых компьютерной системой, периферийные устройства могут подразделяться на две основные группы. К первой группе относятся те периферийные устройства, наличие которых абсолютно необходимо для функционирования компьютерной системы. Их обычно называют системными периферийными устройствами. К этой группе относятся видеомонитор, клавиатура, накопитель на гибком магнитном диске, накопитель на жестком магнитном диске и печатающее устройство (принтер). Ко второй группе периферийных устройств относятся накопители на магнитной ленте, устройства для ввода графической информации, устройства для вывода графической информации (плоттеры), модем, сканер, аудиоплата, мышь, коммуникационные адаптеры и другие. Они предоставляют профессиональному компьютеру дополнительные возможности. Однако наличие их в его конфигурации определяется конкретной областью деятельности. В связи с этим данная группа носит название дополнительных периферийных устройств. Принципы построения Для обмена данными между компьютером и периферийным устройством в компьютере предусмотрен внешний интерфейс, то есть набор проводов, соединяющих компьютер и периферийное устройство, а также набор правил обмена информацией по этим проводам. Со стороны периферийного устройства интерфейс чаще всего реализуется аппаратным устройством управления. Периферийные устройства могут принимать от компьютера как данные, так и команды управления, в ответ на которые периферийное устройство может выполнить специальные действия. Периферийное устройство использует внешний интерфейс для приема и передачи информации, то есть обмен данными является двунаправленным. Контроллеры периферийного устройства принимают команды и данные от процессора в свой внутренний буфер, который часто называется регистром или портом, затем выполняют необходимые преобразования этих данных и команд в соответствии с форматами, понятными ПУ, и выдают их на внешний интерфейс. |
Что такое компьютер?
Компьютер (англ. computer — вычислитель) представляет собой программируемое электронное устройство, способное обрабатывать данные и производить вычисления, а также выполнять другие задачи манипулирования символами [51]. |
Существует два основных класса компьютеров:
- цифровые компьютеры, обрабатывающие данные в виде двоичных кодов;
- аналоговые компьютеры, обрабатывающие непрерывно меняющиеся физические величины (электрическое напряжение, время и т.д.), которые являются аналогами вычисляемых величин.
Поскольку в настоящее время подавляющее большинство компьютеров являются цифровыми, далее будем рассматривать только этот класс компьютеров и слово "компьютер" употреблять в значении "цифровой компьютер".
Основу компьютеров образует аппаратура (HardWare), построенная, в основном, с использованием электронных и электромеханических элементов и устройств. Принцип действия компьютеров состоит в выполнении программ (SoftWare) — заранее заданных, четко определённых последовательностей арифметических, логических и других операций. |
Любая компьютерная программа представляет собой последовательность отдельных команд.
Команда — это описание операции, которую должен выполнить компьютер. Как правило, у команды есть свой код (условное обозначение), исходные данные(операнды) и результат. |
Например, у команды "сложить два числа" операндами являются слагаемые, а результатом — их сумма. А у команды "стоп" операндов нет, а результатом является прекращение работы программы.
Результат команды вырабатывается по точно определенным для данной команды правилам, заложенным в конструкцию компьютера.
Совокупность команд, выполняемых данным компьютером, называется системой команд этого компьютера. |
Компьютеры работают с очень высокой скоростью, составляющей миллионы — сотни миллионов операций в секунду.
Читайте также: