Главная Обратная связь

Дисциплины:






Построение и классификация процессорных



Архитектур

 

Постановка задачи

Как известно, основой абсолютно всех систем классификации является абстрагирование. Оно позволяет создать модель классифицируемой системы опираясь на главное – параметры классификации, опустив при этом второстепенные детали. Выбор параметров определяется целями классификации и налагаемыми требованиями. Так, в нашем случае обязательным условием является абстрагирование от всех особенностей реализации. Из известных классификаций вычислительных систем [3], этому условию удовлетворяет, и то только частично, классификация Флинна [4]. Она рассматривает вычислительную систему на максимально возможном, но содержательном, уровне абстрагирования, который можно определить как концептуальный. На этом уровне система состоит из командных устройств (устройств управления), исполнительных устройств и устройств памяти, связанных потоками команд и данных. Параметрами классификации являются количественные оценки потоков команд и данных.

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

К числу первых, безусловно относятся потоки команд, формируемые устройствами управления и поступающие в исполнительные устройства. Среди потоков разнообразных данных, циркулирующих в организационно различных системах, общими для всех являются только потоки результатов, формируемые исполнительными устройствами при выполнении ими принятого поток команд. Потоки данных в том понимании, в котором они используются в классификации Флинна, а именно вызываемые («called») при выполнении команд, т.е. поступающие из памяти на обработку, присутствуют только у части систем.

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

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

Отмеченное ранее концептуальное отличие архитектуры потоковых машин от традиционной фон-неймановской архитектуры, связанное с отсутствием вызываемых потоков данных, обеспечивается записью результатов выполненных команд непосредственно в поля аргументов тех команд, которые их используют. Команды исполняются после получения всех необходимых аргументов. Таким образом, очередность их исполнения и, как следствие, вид текущего выходного потока данных непосредственно зависит от потока данных, ранее сформированного исполнительным устройством.



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

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

Так, корректность любой количественной оценки обеспечивается измерительным инструментом, не зависящим от объекта измерения и равенством условий измерения. Применительно к количественной оценке потоков эти два требования можно сформулировать следующим образом:

· на принятом уровне абстрагирования систем должны быть однозначно определены понятия «одиночный» и «множественный», действительные по отношению к любым потокам (команд или данных) и для любых архитектур;

· все систематизируемые вычислительные системы должны рассматриваться на одном уровне абстрагирования.

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

В результате, одна и та же характеристика «множественный поток данных», в эталонных образцах классов MIMD (многопроцессорная система) и SIMD (матричный процессор), используется для описания двух принципиально разных явлений. Множества независимых потоков данных в многопроцессорной системе и потока векторных (многокомпонентных) данных в матричном процессоре.

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

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

1.в качестве потоков данных рассматривать потоки результатов выполнения команд, формируемые исполнительными устройствами;

2.ввести в качестве параметра классификации наличие функциональной зависимости между потоками;

3.однозначно определить понятия «одиночный» и «множественный», действительные по отношению к любым потокам (команд или данных) и для любых архитектур.

Выполнение указанных требований приводит, как показано ниже, к новой системе классификации, предметом которой является множество процессорных архитектур, рассматриваемых на концептуальном уровне.

 

Основные понятия и определения

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

Под устройством управления (УУ) понимается источник потока команд. Каждая команда является неделимым и целостным информационным сообщением, однозначно определяющим некоторую неделимую и целостную последовательность действий приемника (приемников). Команда не может быть выдана и исполнена по частям.

Исполнительное устройство (ИУ) – это источник потока промежуточных (не фиксируемых) данных и конечных (фиксируемых) результатов. ИУ принимает, полностью или частично, поступающий ему поток команд и исполняет его. В процессе исполнения ИУ изменяет состояние процессора и/или порождает поток данных (информационных сообщений). Результатом выполнения команды является наблюдаемое (фиксируемое) изменение состояния процессора и/или изменение окружающей среды.

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

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

Любой источник формирует только один (одиночный) поток, который может поступать в несколько приемников.

Два и более источников одного типа (УУ или ИУ) образуют множество источников. Формируемое ими множество потоков может использоваться как совокупность одиночных потоков, либо как единое целое – множественный поток. Как и одиночный, он также может поступать в несколько приемников.

Понятие «поток» – ключевое. Под потоком понимается непосредственная информационная связь между источником потока и его приемником, объединяющая их и только их в единое целое. Элементы потока существуют только в процессе передачи. Поступая в приемник, они либо используются им, либо исчезают. Для сохранения и последующего использования элемент потока должен быть отчужден, т.е. изъят из потока и размещен вне источника и приемника в окружающей их общей среде (в данном случае, в памяти). Очевидно, что отчуждение разрывает непосредственную связь (поток) между источником и приемником. Такая связь становится опосредованной.

Следует подчеркнуть информационный характер связи. Данная связь существует тогда и только тогда, когда для приемника принципиально важно содержимое элементов входящего потока. Когда именно содержимое, а не очередность элементов потока, например, определяет выполняемые им действия или их результат.

Опираясь на эти понятия можно дать следующие определения архитектуры процессора и вычислительной системы.

Архитектура процессора – это абстрактная структура, отражающая организацию процессора и представленная в виде ориентированного графа, состоящего из множества вершин, содержащего не менее одного УУ и не менее одного ИУ, а также множества дуг, образованных потоками команд, исходящими из УУ, и потоками данных, исходящими из ИУ, и при этом:

· соответствующий ему неориентированный граф – связный;

· каждый исходящий поток команд является входящим хотя бы для одного ИУ;

· каждое ИУ имеет хотя бы один входящий поток команд.

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

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

Рассмотрим классический фон-неймановский процессор. Графически архитектура данного процессора представлена на рис.1. Она состоит всего из двух вершин (УУ и ИУ), соединенных потоком команд.

Рис. 1. Графическое изображение архитектуры классического фон-неймановского процессора: а) графическое изображение; б) условные обозначения.

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

Расширив нотацию, предложенную М. Флинном, и используя заглавные буквы для описания источников и строчные для указания потоков, данный вид архитектуры можно описать как SISD(si). В скобках, после описания источников, указываются входящие потоки, т.е. потоки от которых зависит формирование исходящего потока. Таким образом, классический фон-неймановский процессор имеет архитектуру с одним источником команд (SI) и одним источником данных (SD), функционирование которого определяется одиночным потоком команд SD(si).

 





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...