Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
уст_арх.doc
Скачиваний:
18
Добавлен:
22.09.2019
Размер:
429.06 Кб
Скачать
  1. Типы архитектур вычислительных систем. Архитектура эвм по фон Нейману. Гарвардская архитектура эвм. Принципы фон Неймана.

Существует два типа архитектуры микропроцессорных систем:

  • архитектура с общей, единой шиной для данных и команд (одношинная, или принстонская, фон-неймановская архитектура);

  • Архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская архитектура).

А рхитектура с общей шиной распространена гораздо больше, она применяется, например, в ПК и в сложных микрокомпьютерах. Она проще, т.к. не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять её объём между кодами данных и команд. Перераспределение памяти не вызывает никаких проблем, главное – чтобы программа и данные вместе помещались в памяти системы. Память в таких системах достигает больших объёмов, что позволяет решать самые сложные задачи.

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

О сновы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Одной из его революционных идей, значение которой трудно переоценить, является принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней, в то время как сам расчет продолжался нескольких минут. Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру. Основными блоками по Нейману являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода. Схема устройства такой ЭВМ представлена на рисунке. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ

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

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

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

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

Итак, к основным принципам фон Неймана относят:

1. Принцип программного управления.

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

2. Принцип однородности памяти.

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

3. Принцип адресуемости памяти.

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

  1. Позиционные и непозиционные системы счисления. Преимущества и недостатки двоичной системы счисления. Алфавиты систем счисления.

Все системы счисления можно разделить на две большие группы: позиционные и непозиционные. В позиционной системе счисления количественное значение каждой цифры зависит от ее места (позиции) в числе. В непозиционной системе счисления (римская, русская, вавилонская) цифры не меняют своего количественного значения при изменении их расположения в числе. Количество (Р) различных цифр, используемых для изображения числа в позиционной системе счисления, называется основанием системы счисления. Значения цифр лежат в пределах от 0 до Р-1.

В общем случае запись любого смешанного числа в системе счисления с основанием Р будет представлять собой ряд вида:

am-1Pm-1+ am-2Pm-2+…+ a1P1+ a0P0+ a-1P-1+ a-2P-2+…+ a-sP-s, (1)

где нижние индексы определяют местоположение цифры в числе (разряд):

  • положительные значения индексов — для целой части числа разрядов);

  • отрицательные значения — для дробной (s разрядов).

Такая запись называется развернутой формой числа. В сокращённой записи числа используются только те цифры, на которые умножаются соответствующие степени основания системы счисления.

Позиционная система счисления – арабская десятичная система, в которой: основание P=10, для изображения чисел используются 10 цифр (от 0 до 9). Непозиционная система счисления — римская, в которой для каждого числа используется специфическое сочетание символов (XIV, СХХVII и т.п.).

Максимальное целое число, которое может быть представлено в т разрядах: Nmax = Pm-1. Минимальное значащее (не равное 0) число, которое можно записать в s разрядах дробной части: Nmin = P-s. Имея в целой части числа m, а в дробной s разрядов, можно записать всего Рт+s разных чисел.

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

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

восьмеричная

двоичная

16-ричная

двоичная

16-ричная

двоичная

0

000

0

0000

8

1000

1

001

1

0001

9

1001

2

010

2

0010

A

1010

3

011

3

0011

B

1011

4

100

4

0100

C

1100

5

101

5

0101

D

1101

6

110

6

0110

E

1110

7

111

7

0111

F

1111

Триады Тетрады

Формы представления чисел в вычислительных машинах.

В вычислительных машинах применяются две формы представления двоичных чисел:

  • естественная форма или форма с фиксированной запятой (точкой);

  • нормализованная форма или форма с плавающей запятой (точкой).

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

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

N=±МР±r,

Где М—мантисса числа (|М|< 1);

r порядок числа (r — целое число);

Р — основание системы счисления.

Нормализованная форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ.

Для алгебраического представления чисел (т.е. для представления положительных и отрицательных чисел) в машинах используются специальные коды; прямой, обратный и дополнительный. Причем два последних позволяют заменить неудобную для ЭВМ операцию вычитания на операцию сложения с отрицательным числом; дополнительный код обеспечивает более быстрое выполнение операций, поэтому в ЭВМ применяется чаще именно он. Прямой код числа совпадает с его двоичным представлением. Обратный код отрицательного числа получается путем инвертирования прямого кода. Дополнительный код отрицательного числа получается путём прибавления единицы в младшем разряде к обратному коду.

Самой ранней и наиболее известной является классификация архитектур вычислительных систем, предложенная в 1966 году М.Флинном. Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.

SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка - как машина CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными попадают в этот класс.

SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.

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

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

Итак, что же собой представляет каждый класс? В SISD, как уже говорилось, входят однопроцессорные последовательные компьютеры типа VAX 11/780. Однако, многими критиками подмечено, что в этот класс можно включить и векторно-конвейерные машины, если рассматривать вектор как одно неделимое данное для соответствующей команды. В таком случае в этот класс попадут и такие системы, как CRAY-1, CYBER 205, машины семейства FACOM VP и многие другие.

Бесспорными представителями класса SIMD считаются матрицы процессоров: ILLIAC IV, ICL DAP, Goodyear Aerospace MPP, Connection Machine 1 и т.п. В таких системах единое управляющее устройство контролирует множество процессорных элементов. Каждый процессорный элемент получает от устройства управления в каждый фиксированный момент времени одинаковую команду и выполняет ее над своими локальными данными. Для классических процессорных матриц никаких вопросов не возникает, однако в этот же класс можно включить и векторно-конвейерные машины, например, CRAY-1. В этом случае каждый элемент вектора надо рассматривать как отдельный элемент потока данных.

Класс MIMD чрезвычайно широк, поскольку включает в себя всевозможные мультипроцессорные системы: Cm*,C.mmp, CRAY Y-MP, Denelcor HEP,BBN Butterfly, Intel Paragon, CRAY T3D и многие другие. Интересно то, что если конвейерную обработку рассматривать как выполнение множества команд (операций ступеней конвейера) не над одиночным векторным потоком данных, а над множественным скалярным потоком, то все рассмотренные выше векторно-конвейерные компьютеры можно расположить и в данном классе.

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

Наличие пустого класса (MISD) не стоит считать недостатком схемы. Такие классы, по мнению некоторых исследователей в области классификации архитектур [6,7], могут стать чрезвычайно полезными для разработки принципиально новых концепций в теории и практике построения вычислительных систем.