Программно-аппаратное обеспечение
Рефераты >> Программирование и компьютеры >> Программно-аппаратное обеспечение

Рис. 3. Архитектура MISD

MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному классу, однако это не нашло окончательного признания в научном сообществе. Будем считать, что пока данный класс пуст.

Рис. 4. Архитектура MIMD

MIMD (multipleinstructionstream / multipledatastream) - множественный поток команд и множественный поток данных. Этот класс предполагает, что в вычислительной системе есть несколько устройств обработки команд, объединенных в единый комплекс и работающих каждое со своим потоком команд и данных.

2. Архитектура микропроцессоров.

Мы настолько привыкли к темпам развития вычислительной техники, что уже как-то даже перестали удивляться им. А удивляться есть чему: за всю историю человечества ничего подобного не знала и не знает ни одна область техники. И самое удивительное, что эти темпы сохраняются уже более пятидесяти лет, с момента появления первой ЭВМ.

"Если бы начиная с 1971 года прогресс автомобилестроения был столь же стремительным, как в области создания микропроцессоров, то сегодня в нашем распоряжении были бы легковые машины, способные мчаться со скоростью 480 тыс. км/ч, затрачивая 1 л топлива на 355 тыс. км пути". Надо сразу же заметить, что этот тезис, высказанный в связи с 25-летием выпуска компанией Intel первого в мире микропроцессора 4004, - не оригинален. Практически такая же фраза с похожими цифрами была в ходу еще лет двадцать назад для характеристики развития вычислительной техники за первые тридцать лет ее существования (там еще часто добавлялось "и этот автомобиль стоил бы 75 центов"). Но одно существенное различие между тогдашней и нынешней ситуацией все же имеется.

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

CISC

В первые годы развития ПК лучшим способом увеличить производительность было реализовать как можно больше инструкций в центральном процессоре. По мере усложнения программ, инженерам приходилось добавлять в микропроцессоры все большее количество инструкций и, следовательно, увеличивать количество транзисторов. Так сформировалась стратегия архитектуры СISС (Complex Instruction Set Computer - компьютер с комплексным набором инструкций), которую образно можно представить как перенос "центра тяжести" обработки инструкций на аппаратный уровень системы. За первые 10 лет компьютерной эры список инструкций типичного компьютера расширился от нескольких десятков до нескольких сотен операций самых различных форматов. Благодаря этому удалось максимально упростить компиляцию программ и заодно минимизировать размер исполняемого модуля - а это еще один эффективный способ увеличения производительности, поскольку компактную программу проще разместить в оперативной памяти

Основоположником CISC-архитектуры можно считать компанию IBM с ее базовой архитектурой i360, ядро которой используется с1964 года и дошло до наших дней, например, в таких современных мейнфреймах как IBM ES/9000.

Лидером в разработке микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров. Для CISC-процессоров характерно:

· сравнительно небольшое число регистров общего назначения;

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

· большое количество методов адресации;

· большое количество форматов команд различной разрядности;

· преобладание двухадресного формата команд;

· наличие команд обработки типа регистр-память.

Бурное развитие CISC архитектуры происходило до тех пор, пока процессоры не стали сложными, энергоемкими и достаточно дорогостоящими устройствами. Идеология CISC стала серьезным препятствием в повышении быстродействия микропроцессоров. Дело в том, что для сверхбольших, интегральных схем, которыми по существу и являются микропроцессоры, наиболее критическим фактором является площадь кристалла - чем больше его размеры, тем выше вероятность появления производственных дефектов и, следовательно, меньше процент выхода годных изделий. Расширенный набор команд CISC требует достаточно сложного устройства управления, которое в типовом случае занимает 60% поверхности кристалла. Оставшихся 40% используются для размещения арифметических устройств, необходимых для выполнения операций с данными. Наличие данных недостатков CISC-процессоров привело к необходимости разработки альтернативного направления развития микропроцессоров, которые призваны перераспределить пространство кристалла в пользу "арифметики" за счет сокращения числа команд.

RISC

Идеология RISC, появившаяся относительно недавно (10-15 лет назад), в какой-то степени основана на известном статистическом законе "20/80" (20% населения выпивают 80% пива), который в данном случае звучит следующим образом: 80% всего объема вычислений CISC-процессора приходится на 20% его команд.

Отсюда - естественный вывод: на уровне микропроцессора нужно оставить только эти самые 20%, а остальные операции выполнять с помощью механизмов типа микропрограмм (примерно так же, как реализуются операции с плавающей запятой в компьютере без сопроцессора). Это позволит переориентировать освободившиеся ресурсы процессора таким образом, чтобы все его базовые операции выполнялись по возможности за один такт (в CISC-процессоре разные инструкции выполняются за разное число тактов). Осуществить подобную переориентацию не очень просто, поскольку среди часто используемых команд есть и довольно сложные. Но если добиться этого, снижается стоимость разработки и производства процессоров, упрощается реализация схем конвейерной и параллельной обработки данных, а также создания многопроцессорных систем и т. д. Естественно, за все нужно платить: RISC-процессорам необходимо более сложное программное обеспечение, компенсирующее отсутствие сложных операций на аппаратном уровне.


Страница: