Архитектура вычислительных систем шпоры
Архитектура системы–совокупность свойств системы, существенных для пользования.
Архитектурой компьютера называется его описание на некотором общем уровне, включающее описание пользовательских возможностей программирования, системы команд, системы адресации, организации памяти и т.д. Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера: процессора, оперативного ЗУ, внешних ЗУ и периферийных устройств. Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя.
Наиболее распространены следующие архитектурные решения.
Классическая архитектура (архитектура фон Неймана) — одно арифметико-логическое устройство (АЛУ), через которое проходит поток данных, и одно устройство управления (УУ), через которое проходит поток команд — программа. Это однопроцессорный компьютер.
К этому типу архитектуры относится и архитектура персонального компьютера с общей шиной. Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью.
Физически магистраль представляет собой многопроводную линию с гнездами для подключения электронных схем. Совокупность проводов магистрали разделяется на отдельные группы: шину адреса, шину данных и шину управления.
Периферийные устройства (принтер и др.) подключаются к аппаратуре компьютера через специальные контроллеры — устройства управления периферийными устройствами.
Контроллер — устройство, которое связывает периферийное оборудование или каналы связи с центральным процессором, освобождая процессор от непосредственного управления функционированием данного оборудования.
Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи.
Многомашинная вычислительная система. Здесь несколько процессоров, входящих в вычислительную систему, не имеют общей оперативной памяти, а имеют каждый свою (локальную). Каждый компьютер в многомашинной системе имеет классическую архитектуру, и такая система применяется достаточно широко. Однако эффект от применения такой вычислительной системы может быть получен только при решении задач, имеющих очень специальную структуру: она должна разбиваться на столько слабо связанных подзадач, сколько компьютеров в системе.
Преимущество в быстродействии многопроцессорных и многомашинных вычислительных систем перед однопроцессорными очевидно.
Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе — то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных.
Самой ранней и наиболее известной является классификация архитектур вычислительных систем, предложенная в 1966 году М.Флинном. Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.
SISD (single instruction stream / single data stream) – одиночный поток команд и одиночный поток данных. К этому классу относятся последовательные компьютерные системы, которые имеют один центральный процессор, способный обрабатывать только один поток последовательно исполняемых инструкций. В настоящее время практически все высокопроизводительные системы имеют более одного центрального процессора, однако каждый из них выполняет несвязанные потоки инструкций, что делает такие системы комплексами SISD-систем, действующих на разных пространствах данных. Для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка. В случае векторных систем векторный поток данных следует рассматривать как поток из одиночных неделимых векторов. Примерами компьютеров с архитектурой SISD могут служить большинство рабочих станций Compaq, Hewlett-Packard и Sun Microsystems.
MISD (multiple instruction stream / single data stream) – множественный поток команд и одиночный поток данных. Теоретически в этом типе машин множество инструкций должно выполняться над единственным потоком данных. До сих пор ни одной реальной машины, попадающей в данный класс, создано не было. В качестве аналога работы такой системы, по-видимому, можно рассматривать работу банка. С любого терминала можно подать команду и что-то сделать с имеющимся банком данных. Посколькубаза данных одна, а команд много, мы имеем дело с множественным потоком команд и одиночным потоком данных.
SIMD (single instruction stream / multiple data stream) – одиночный поток команд и множественный поток данных. Эти системы обычно имеют большое количество процессоров, от 1024 до 16384, которые могут выполнять одну и ту же инструкцию относительно разных данных в жесткой конфигурации. Единственная инструкция параллельно выполняется над многими элементами данных. Примерами SIMD-машин являются системы CPP DAP, Gamma II и Quadrics Apemille. Другим подклассом SIMD-систем являются векторные компьютеры. Векторные компьютеры манипулируют массивами сходных данных подобно тому, как скалярные машины обрабатывают отдельные элементы таких массивов. Это делается за счет использования специально сконструированных векторных центральных процессоров. Когда данные обрабатываются посредством векторных модулей, результаты могут быть выданы на один, два или три такта частотогенератора (такт частотогенератора является основным временным параметром системы). При работе в векторном режиме векторные процессоры обрабатывают данные практически параллельно, что делает их в несколько раз более быстрыми, чем при работе в скалярном режиме. Примерами систем подобного типа являются, например, компьютеры Hitachi S3600.
MIMD (multiple instruction stream / multiple data stream) – множественный поток команд и множественный поток данных. Эти машины параллельно выполняют несколько потоков инструкций над различными потоками данных. В отличие от упомянутых выше многопроцессорных SISD-машин, команды и данные связаны, потому что они представляют различные части одной и той же задачи. Например, MIMD-системы могут параллельно выполнять множество подзадач с целью сокращения времени выполнения основной задачи. Большое разнообразие попадающих в данный класссистем делает классификацию Флинна не полностью адекватной, поэтому существуют дополненные и расширенные классификации, именованные фамилиями разработчиков.
Классификация архитектур вычислительных систем нужна для того, чтобы понять особенности работы той или иной архитектуры, но она не является достаточно детальной, чтобы на нее можно было опираться при создании МВС, поэтому следует вводить более детальную классификацию, которая связана с различными архитектурами ЭВМ и с используемым оборудованием.
Лекция 3 "Архитектура вычислительной системы. Классификация компьютеров"
Совокупность устройств, предназначенных для автоматической или автоматизированной обработки информации называют вычислительной техникой. Конкретный набор, связанных между собою устройств, называют вычислительной системой. Центральным устройством большинства вычислительных систем является электронная вычислительная машина (ЭВМ) или компьютер.
Архитектура компьютера
Компьютер - это электронное устройство, которое выполняет операции ввода информации, хранения и обработки ее по определенной программе, вывод полученных результатов в форме, пригодной для восприятия человеком. За любую из названных операций отвечают специальные блоки компьютера:
устройство ввода,
центральный процессор,
запоминающее устройство,
устройство вывода.
Все эти блоки состоят из отдельных меньших устройств. В частности, в центральный процессор могут входить арифметико-логическое устройство (АЛУ), внутреннее запоминающее устройство в виде регистров процессора и внутренней кэш-памяти, управляющее устройство (УУ). Устройство ввода, как правило, тоже не является одной конструктивной единицей. Поскольку виды входной информации разнообразны, источников ввода данных может быть несколько. Это касается и устройств вывода.
Схематично общая структура компьютера изображена на рис.1.
Рис. 1. Общая структура компьютера
Запоминающее устройство - это блок ЭВМ, предназначенный для временного (оперативная память) и продолжительного (постоянная память) хранения программ, входных и результирующих данных, а также промежуточных результатов. Информация в оперативной памяти сохраняется временно лишь при включенном питании, но оперативная память имеет большее быстродействие. В постоянной памяти данные могут сохраняться даже при отключенном компьютере, но скорость обмена данными между постоянной памятью и центральным процессором, в подавляющем большинстве случаев, значительно меньше.
Арифметико-логическое устройство - это блок ЭВМ, в котором происходит преобразование данных по командам программы: арифметические действия над числами, преобразование кодов и др.
Управляющее устройство координирует работу всех блоков компьютера. В определенной последовательности он выбирает из оперативной памяти команду за командой. Каждая команда декодируется, по потребности элементы данных из указанных в команде ячеек оперативной памяти передаются в АЛУ; АЛУ настраивается на выполнение действия, указанной текущей командой (в этом действии могут принимать участие также устройства ввода-вывода); дается команда на выполнение этого действия. Этот процесс будет продолжаться до тех пор, пока не возникнет одна из следующих ситуаций: исчерпаны входные данные, от одного из устройств поступила команда на прекращение работы, выключено питание компьютера.
Описанный принцип построения ЭВМ носит название архитектуры фон Неймана - американского ученого венгерского происхождения Джона фон Неймана, который ее предложил.
Современную архитектуру компьютера определяют следующие принципы:
Принцип программного управления. Обеспечивает автоматизацию процесса вычислений на ЭВМ. Согласно этому принципу, для решения каждой задачи составляется программа, которая определяет последовательность действий компьютера. Эффективность программного управления будет выше при решении задачи этой же программой много раз (хотя и с разными начальными данными).
Принцип программы, сохраняемой в памяти. Согласно этому принципу, команды программы подаются, как и данные, в виде чисел и обрабатываются так же, как и числа, а сама программа перед выполнением загружается в оперативную память, что ускоряет процесс ее выполнения.
Принцип произвольного доступа к памяти. В соответствии с этим принципом, элементы программ и данных могут записываться в произвольное место оперативной памяти, что позволяет обратиться по любому заданному адресу (к конкретному участку памяти) без просмотра предыдущих.
На основании этих принципов можно утверждать, что современный компьютер - техническо
3 Внутренняя структура процессора: назначение и основные функции блоков
Центральный процессор (ЦП, центральное процессорное устройство, ЦПУ (англ. CPU) - процессор машинных инструкций, часть аппаратного обеспечения компьютера, обеспечивающая выполнение основной доли работ по обработке информации, - вычислительный процесс. Современные ЦПУ, выполняемые в виде единственной микросхемы, которая реализует все особенности, присущие данного рода устройствам, называют микропроцессорами. С середины 80-х они практически вытеснили прочие виды ЦПУ, вследствие чего сам термин стал всё чаще и чаще восприниматься как синоним слова "микропроцессор". Тем не менее, - это не так, а центральные процессорные устройства некоторых суперкомпьютеров даже сегодня представляют собой сложные комплексы больших и сверхбольших интегральных схем.
Изначально термин Центральное процессорное устройство описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, термин естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 60-х годах XX века. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако их основные исполняемые функции остались теми же, что и прежде.
Ранние ЦПУ создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде, компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов и миникомпьютеров, а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше увеличить сложность ЦПУ с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры или автомобили, но и в калькуляторах, мобильных телефонах и даже в детских игрушках.
Архитектура фон Неймана
Большинство современных процессоров основаны на той или иной версии циклического процесса последовательной обработки информации, разработанного фон Нейманом.
Важнейшие этапы этого процесса приведены ниже. В различных архитектурах и для различных команд могут потребоваться дополнительные этапы. Например, для арифметических команд могут потребоваться дополнительные обращения к памяти, во время которых производится считывание операндов и запись результатов.
Этапы цикла выполнения:
Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения
Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности
Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её
Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды
Данный цикл выполняется неизменно и бесконечно, и именно он называется процессом (откуда и произошло название устройства).
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая последовательность команд называется программой и представляет алгоритм полезной работы процессора. Очерёдность считывания команд нарушает
Чтобы дать более полное представление о многопроцессорных вычислительных системах, помимо высокой производительности необходимо назвать и другие отличительные особенности. Прежде всего, это необычные архитектурные решения, направленные на повышение производительности (работа с векторными операциями, организация быстрого обмена сообщениями между процессорами или организация глобальной памяти в многопроцессорных системах и др.).
Понятие архитектуры высокопроизводительной системы является достаточно широким, поскольку под архитектурой можно понимать и способ параллельной обработки данных , используемый в системе, и организацию памяти , и топологию связи между процессорами, и способ исполнения системой арифметических операций. Попытки систематизировать все множество архитектур впервые были предприняты в конце 60-х годов и продолжаются по сей день.
В 1966 г. М.Флинном (Flynn) был предложен чрезвычайно удобный подход к классификации архитектур вычислительных систем. В его основу было положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. Соответствующая система классификации основана на рассмотрении числа потоков инструкций и потоков данных и описывает четыре архитектурных класса:
SISD (single instruction stream / single data stream ) – одиночный поток команд и одиночный поток данных . К этому классу относятся последовательные компьютерные системы, которые имеют один центральный процессор , способный обрабатывать только один поток последовательно исполняемых инструкций. В настоящее время практически все высокопроизводительные системы имеют более одного центрального процессора, однако каждый из них выполняет несвязанные потоки инструкций , что делает такие системы комплексами SISD -систем, действующих на разных пространствах данных. Для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка . В случае векторных систем векторный поток данных следует рассматривать как поток из одиночных неделимых векторов. Примерами компьютеров с архитектурой SISD могут служить большинство рабочих станций Compaq, Hewlett-Packard и Sun Microsystems.
MISD (multiple instruction stream / single data stream ) – множественный поток команд и одиночный поток данных . Теоретически в этом типе машин множество инструкций должно выполняться над единственным потоком данных . До сих пор ни одной реальной машины, попадающей в данный класс , создано не было. В качестве аналога работы такой системы, по-видимому, можно рассматривать работу банка. С любого терминала можно подать команду и что-то сделать с имеющимся банком данных. Поскольку база данных одна, а команд много, мы имеем дело с множественным потоком команд и одиночным потоком данных .
SIMD (single instruction stream / multiple data stream ) – одиночный поток команд и множественный поток данных . Эти системы обычно имеют большое количество процессоров, от 1024 до 16384, которые могут выполнять одну и ту же инструкцию относительно разных данных в жесткой конфигурации. Единственная инструкция параллельно выполняется над многими элементами данных. Примерами SIMD -машин являются системы CPP DAP , Gamma II и Quadrics Apemille. Другим подклассом SIMD -систем являются векторные компьютеры. Векторные компьютеры манипулируют массивами сходных данных подобно тому, как скалярные машины обрабатывают отдельные элементы таких массивов. Это делается за счет использования специально сконструированных векторных центральных процессоров . Когда данные обрабатываются посредством векторных модулей, результаты могут быть выданы на один, два или три такта частотогенератора (такт частотогенератора является основным временным параметром системы). При работе в векторном режиме векторные процессоры обрабатывают данные практически параллельно, что делает их в несколько раз более быстрыми, чем при работе в скалярном режиме. Примерами систем подобного типа являются, например, компьютеры Hitachi S3600.
MIMD (multiple instruction stream / multiple data stream ) – множественный поток команд и множественный поток данных . Эти машины параллельно выполняют несколько потоков инструкций над различными потоками данных . В отличие от упомянутых выше многопроцессорных SISD -машин, команды и данные связаны, потому что они представляют различные части одной и той же задачи. Например, MIMD -системы могут параллельно выполнять множество подзадач с целью сокращения времени выполнения основной задачи. Большое разнообразие попадающих в данный класс систем делает классификацию Флинна не полностью адекватной. Действительно, и четырехпроцессорный SX-5 компании NEC, и тысячепроцессорный Cray T3E попадают в этот класс . Это заставляет использовать другой подход к классификации, иначе описывающий классы компьютерных систем. Основная идея такого подхода может состоять, например, в следующем. Будем считать, что множественный поток команд может быть обработан двумя способами: либо одним конвейерным устройством обработки, работающем в режиме разделения времени для отдельных потоков, либо каждый поток обрабатывается своим собственным устройством. Первая возможность используется в MIMD -компьютерах, которые обычно называют конвейерными или векторными, вторая – в параллельных компьютерах . В основе векторных компьютеров лежит концепция конвейеризации, т.е. явного сегментирования арифметического устройства на отдельные части, каждая из которых выполняет свою подзадачу для пары операндов. В основе параллельного компьютера лежит идея использования для решения одной задачи нескольких процессоров, работающих сообща, причем процессоры могут быть как скалярными, так и векторными.
Классификация архитектур вычислительных систем нужна для того, чтобы понять особенности работы той или иной архитектуры, но она не является достаточно детальной, чтобы на нее можно было опираться при создании МВС, поэтому следует вводить более детальную классификацию, которая связана с различными архитектурами ЭВМ и с используемым оборудованием.
Простейшая однопроцессорная последовательная ЭВМ содержит следующие основные функциональные устройства: процессор (центральный процессор - ЦП), память (основная память), устройства ввода-вывода (внешняя память и периферийные устройства).
Основные принципы так называемой фон-нейманской архитектуры и многих последующих заключаются в следующем:
- одна последовательно адресуемая основная память, т.е. линейное одномерное устройство хранения команд и данных;
- отсутствие явного различия между командами и данными. Они идентифицируются в машине неявным образом - способом их использования;
- вид и назначение данных определятся не самими данными, а логикой программы.
В зависимости от числа используемых устройств ЭВМ, ее компонентов, их функционального назначения, способов взаимодействия друг с другом, наличия дополнительных устройств образуются более сложные по структуре ЭВМ, часто определяемые как вычислительные системы (ВС).
●Процессор - это одно из главных функциональных устройств, предназначенное для обработки данных и обеспечения взаимодействия других устройств в ЭВМ. Процессор обычно состоит из одного или нескольких операционных устройств, получивших название арифметико-логическое устройство (АЛУ), устройства управления (УУ), локальной памяти, блоков сопряжения с другими устройствами ЭВМ, средствами контроля и диагностики.
- АЛУ - это один или несколько сумматоров и блоков умножения, группа регистров для хранения данных и результатов. Предназначен для преобразования информации.
- УУ - устройство управления. Это автомат, обеспечивающий управление процессами выполнения команд и операций, а также передачей данных.
По своему назначению и, соответственно, возможностям выделяют следующие типы процессоров:
Центральный процессор - универсальный процессор, который наряду с обработкой данных общего назначения обеспечивает функции управления системой, запуск операции ввода-вывода (в/в), обработку прерываний, управления доступом к ОП.
Спецпроцессоры - предназначены для применения в узкой области и, соответственно, представляют собой проблемно-ориентированные или функционально-ориентированные процессоры, реализующие на аппаратном уровне более общие и специфичные функции.
Процессоры ввода-вывода - предназначены для непосредственного управления процедурами в/в, обеспечивая их выполнение одновременно с обработкой данных центральным процессором.
Системные процессоры - предназначены для реализации различных служебных функций.
Среди параметров и характеристик процессоров следует отметить основные, анализу которых будет уделено внимание:
- время выполнения операций или количество выполняемых в единицу времени операций;
- тактовая частота работы процессора;
- состав машинных команд, их количество и инициируемые ими операции;
- структура (формат) команд; вид и количество; адресов в командах;
- величина адресного пространства, число независимо адресуемых объектов данных;
- принцип организации управления;
- наличие опережающего просмотра и/или конвейеризация;
- наличие кэширования и его особенности.
● Память в любой современной ЭВМ имеет иерархическую структуру:
- КЭШ – память. Очень быстрая, дорогая и энергозависимая память.
- оперативная память – среднескоростная, средней цены, энергозависимая память.
- жесткий диск – медленная, дешевая и энергонезависимая память.
● Устройства ввода-вывода в современных ЭВМ очень разнообразны и очень широко распространены. Отличаются качеством, скоростью работы, функциональными возможностями и ценой.
2. Основные направления повышения производительности ЭВМ и ВС.
Архитектура – описывает вопросы функционирования и реализации вычислительных машин.
Большинство современных компьютеров состоит из двух и более уровней.
1) hard development. Разработка железа (электронных компонентов компьютера).
Основная стратегия: увеличение количества и производительность процессоров, работающих в системе.
При таком подходе появляется очевидные проблемы:
- организация совместной работы двух и более микропроцессоров.
- невозможность бесконечного увеличения мощности процессоров (физические ограничения).
В итоге в бесконечном увеличении количества процессоров нет смысла.
1. Квантовые компьютеры.
2. Молекулярные компьютеры.
3. Нейросистемы (блоккомпьютеры).
4. Оптические компьютеры.
2) soft development. Разработка программного обеспечения. Увеличение производительности системы при увеличении количества и качества процессоров невозможно без организации надежного и эффективного программного обеспечения для таких ВС.
Главная стратегия развития данной отрасли: организация конвейерной организации данных, когда выполнение команды делиться на части, каждая из которых выполняется на отдельном блоке и параллелизм – параллельное выполнение операций.
3. Семантический разрыв – мера различия архитектур ЭВМ и языков программирования.
Основными тенденциями при проектировании ЭВМ были: увеличение быстродействия, снижение стоимости аппаратных средств, повышение их надежности. Поэтому было оправдано стремление к снижению доли аппаратных средств, т.е. к предельному упрощению структуры ЭВМ и, естественно, расхода аппаратуры для ее реализации.
Применение языков программирования высокого уровня, различных способов организации и обработки данных, методов и способов оптимальной организации вычислительных процессов привело к несоответствию аппаратно-реализованных и управляемых объектов, используемых при выполнении машинных операций, с объектами и операциями, используемыми в языках программирования. Это явление получило название семантического разрыва. Семантический разрыв предлагается использовать в качестве меры различия принципов, лежащих в основе языков программирования, и тех принципов, которые положены в основу архитектуры ЭВМ.
Семантический разрыв между архитектурой аппаратных средств и средствами программирования обусловлен особенностью аппаратной реализации способов отображения данных, объектов структуры ЭВМ и отсутствием аппаратной поддержки объектов, используемых при программировании (массивы данных, различные структуры, в том числе блочные, обработка строк, представление данных и т.п.).
Имеющий место семантический разрыв приводит к определенным проблемам при программировании, что ведет к его усложнению и удорожанию, и в итоге оказывает влияние на экономическую эффективность вычислений.
4. Последствия семантического разрыва и пути их преодоления.
По существу, семантический разрыв имеет место между архитектурой ЭВМ и принципами построения программных средств, с одной стороны, и архитектурой ЭВМ и операционной системой (ОС), с другой.
1) Семантический разрыв между архитектурой аппаратных средств и средствами программирования обусловлен особенностью аппаратной реализации способов отображения данных, объектов структуры ЭВМ и отсутствием аппаратной поддержки объектов, используемых при программировании. В современных ЭВМ некоторые используемые достаточно общие принципы являются источниками семантического разрыва. Это прежде всего двоичная арифметика, наличие представления чисел с фиксированной и плавающей точкой, обладающие определенными особенностями, которые приходится учитывать при использовании.
Для обеспечения высокого быстродействия практически во всех ЭВМ используются регистры общего назначения в качестве нижнего уровня иерархической организации памяти. Наличие общих регистров влечет за собой ряд неудобств, при программировании:
- частую перезагрузку регистров;
- потерю общности принципов обращения к данным из-за различия способов адресации к основной памяти (ОП) и общим регистрам;
- проблемы, возникающие вследствие отличия структуры содержимого регистров от структуры содержимого ячеек ОП. Обычно ОП имеет байт-ориентированную структуру с линейной адресацией, а к содержимому регистров обращаются как к словам, используя короткие адреса и др.
2) Семантический разрыв между архитектурой ЭВМ и операционной системой обусловлен тем, что процесс (задача, поток) - основное действие, используемое при построении ОС - не обеспечен адекватной аппаратной поддержкой. Не нашли экономной и эффективной аппаратной реализации способы синхронизации и взаимодействия процессов, решаемые при помощи семафоров, критических секций, каналов и мониторов.
Естественно, что наличие разного по уровню семантического разрыва в отдельных ЭВМ приводит к определенным последствиям:
- ненадежность программного обеспечения, которая обусловлена тем, что определенная доля ошибок программирования, которые теоретически могли бы быть обнаружены, не выявляется находящимися в эксплуатации ЭВМ;
- снижение эффективности ЭВМ. В большинстве ЭВМ используется сравнительно простой набор инструкций, поэтому генерация компилятором сложных процедур и команд приводит к увеличению в программе машинных инструкций. Последнее увеличивает как время выполнения программы, так и объем необходимой памяти;
- управление памятью с учетом ее иерархической организации требует использования дополнительных машинных инструкций и некоторые другие.
Решение отмеченных проблем стимулирует отказ от классических архитектур и создание новых. В общих чертах новая архитектура обработки должна соответствовать следующим требованиям:
- параллелизм выполнения задач, работы процессоров и памяти;
- ассоциативная память с ориентацией на обработку наборов данных;
- специализированный набор нечисловой обработки с непосредственной аппаратной поддержкой.
Читайте также: