Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация ЭВМ и систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Рисунок 5.8 – Проверка правильности функционирования схемы на наборе
0006 (0110)
5.3.3 Произведем минимизацию полученной функции.
Карту Карно, используемую для минимизации, представим на рисунке 5.9.
Рисунок 5.9 – Минимизация функции с помощью карт Карно
В результате минимизации получено следующее выражение для булевой
функции      
.

81
5.3.4 Построение полученной минимизированной функции в смешанно базисе. Проверим полученную логическую схему, построив ее модель в программе «Elec­tronic Work Bench 5.1». Результат построения представлен на рисунке 5.10.
Рисунок 5.10 – Построение схемы по минимизированной функции
Для подтверждения правильности функционирования возьмем комбинации
0004 и 000В, на которых функция принимает единичное значение (рисунок 5.11 и
5.12 соответственно). Лампочка горит.
Рисунок 5.11 – Проверка правильности функционирования схемы на наборе
0004 (0100)
82
Рисунок 5.12 – Проверка правильности функционирования схемы на наборе
000В (1011)
В результате проведенной проверки в программе «Electronic Work Bench 5.1»,
можно сделать вывод, что СДНФ составлена верно, правильно проведена миними-
зация функции и построенные схемы выдают результаты согласно таблице истинно-
сти.
5.4 Вопросы и задания для закрепления материала по пятому разделу
1. Сформулируйте законы Де-Моргана.
2. Сколько существует наборов и функций от n переменных?
3. Перечислите основные функции от двух переменных.
4. Что собой представляет таблица истинности от трех переменных?
5. Что такое код Грея и для чего он используется при минимизации функций?
6. Исследовать логические элементы из базы программы.
7. Реализовать на логических элементах произвольно заданную таблицей ис-
тинности функцию от четырех переменных, представленную в СДНФ и в мини-
мальной форме.
83
6 Особенности CISC и RISC архитектуры в микропроцессорных
системах
6.1 Общие принципы и перспективы развития CISC и RISC архитектур
Существуют два основных подхода в развитии микропроцессорных архитек-
тур. Первый из них связан с ранними моделями процессоров и называется «МП с
CISC» (Complete Instruction Set Computer) архитектурой, что означает процессоры с
полным набором инструкций. Примером таких процессоров является семейство
80х86 [10].
Эти процессоры имеют разнообразные регистры и множество инструкций, что
усложняет процесс декодирования инструкций и требует больше аппаратных ресур-
сов. В результате этого увеличивается количество тактов, необходимых для выпол-
нения инструкций.
Для увеличения производительности в МП с CISC-архитектурой предприни-
маются следующие шаги:
1) путем расширения набора команд;
2) введения сложных команд, выполняющих процедуры, которые приближа- ются к примитивам языков высокого уровня;
3) увеличение числа используемых способов адресации и т. д.
Однако эти меры имеют негативные побочные эффекты:
1) приводит к увеличению длины кода команды (в первую очередь кода опе- рации);
2) увеличение числа форматов команд.
Это, в свою очередь, приводит к усложнению и замедлению процесса декоди-
рования операционного кода и других процедур обработки инструкций.
Увеличивающаяся сложность обработки команд требует использования мик-
ропрограммных управляющих устройств с памятью вместо более быстродействую-
щих жестких устройств.
84
Сложность процессора делает реализацию на одном интегральном микросхеме
трудной или даже невозможной, что могло бы упростить достижение высокой про-
изводительности за счет сокращения длины соединений.
В начале 1980-х годов архитектура CISC стала серьезным препятствием для
идеи «один процессор на одном кристалле», и в процессорах семейства 80х86, начи-
ная с i80486, применяется комбинированная архитектура, где CISC-процессор имеет ядро с RISC-характеристиками [11].
В последнее время сформировалась альтернативная тенденция, которая про-
тивопоставляется увеличению сложности архитектуры процессоров. Она заключает-
ся в создании относительно недорогих, но высокопроизводительных компьютеров с
использованием архитектуры, имеющей сокращенный набор команд (СНК) и полу-
чившей в зарубежной литературе название RISC (Reduced Instruction Set Computers)
архитектуры, то есть компьютеров с сокращенным набором команд.
RISC-архитектура предполагает реализацию в компьютерах упрощенного
набора простых, но часто используемых команд, что:
1) позволяет упростить аппаратурные средства процессора;
2) повысить его быстродействие.
При этом выбор команд и структуры процессора (микропроцессора) направ-
лены на то, чтобы команды выполнялись за один машинный цикл процессора. Более
сложные, но менее часто используемые операции выполняются с помощью подпро-
грамм. В компьютерах с RISC-архитектурой машинный цикл представляет собой
время, в течение которого извлекаются два операнда из регистров, выполняется
операция в арифметико-логическом устройстве и результат сохраняется в регистре. Большинство команд являются быстрыми командами «регистр-регистр» и выпол-
няются без обращения к оперативной памяти. Обращения к оперативной памяти
происходят только в командах загрузки регистров из памяти и сохранения инфор-
мации в памяти.
Для достижения этой цели, процессор должен включать в себя значительное
количество общих регистров.
85
В начале 1980-х годов, практически одновременно, завершились теоретиче-
ские исследования в области RISC-архитектуры, проводившиеся в Калифорнийском
университете в Беркли, Стэнфордском университете и в корпорации IBM. Разработ-
чики этих микропроцессоров ставили перед собой задачу достижения максимальной
производительности при минимальной сложности. В процессе решения этой задачи
сформировались два подхода.
Первый подход заключается в уменьшении числа обращений к памяти за счет
увеличения емкости регистрового файла и его организации в виде перекрывающих-
ся регистровых окон. Архитектура, разработанная на этой основе, впервые была ре-
ализована в микропроцессоре RISC I, созданном в университете Беркли, и получила
название «берклийская архитектура».
Другой подход заключается в устранении задержек в конвейере за счет пере-
упорядочивания инструкций и интенсивного использования регистров микропро-
цессора при помощи оптимизирующего компилятора. Архитектура, реализующая
этот метод, была разработана и впервые использована в университете Стэнфорд и
получила название «станфордская архитектура».
Несмотря на различия в этих подходах основной закон RISC: – система команд должна содержать минимум наиболее часто используемых и
наиболее простых инструкций;
– обработка данных должна вестись только в рамках регистровой структуры и
только в формате команд «регистр-регистр-регистр».
Все это упрощает управляющее устройство процессора и позволяет реализо-
вать его с использованием "схемной" логики. Это также открывает возможность со-
здания процессора на одном кристалле, при этом можно предусмотреть место на
кристалле для включения до нескольких десятков, а в некоторых случаях даже со-
тен, общих и специализированных регистров.
Большое количество регистров значительно снижает число обращений к опе-
ративной памяти. Это происходит потому, что регистры используются для хране-
ния:
1) промежуточных результатов;
86
2) передачи операндов между программами или внутри подпрограмм;
3) избегания необходимости сохранять содержимое регистров в оперативной
памяти при возникновении прерываний.
Особенностью RISC-архитектуры является использование механизма пере-
крывающихся регистровых окон, который предназначен для снижения числа обра-
щений к оперативной памяти и передачи данных между регистрами, что приводит к
увеличению производительности компьютера.
В данном механизме процедуры динамически выделяются небольшие группы
регистров фиксированной длины, которые называются регистровыми окнами. Окна
последовательно выполняемых процедур перекрываются, что позволяет передавать
параметры между процедурами. При вызове процедуры процессор переключается на
работу с другим регистровым окном, и нет необходимости сохранять содержимое
регистров в оперативной памяти.
Окно состоит из трех подгрупп регистров как показано на рисунке 6.1.
Рисунок 6.1 – RISC-архитектура ЭВМ. Перекрывающие регистровые окна
Первая подгруппа регистров содержит:
1) параметры, которые передаются данной процедуре от ее вызвавшей;
2) результаты для вызывающей процедуры при возврате в нее.
Вторая подгруппа содержит регистры локальных переменных, содержащие
локальные переменные данной процедуры.
87
Третья подгруппа является буфером для двустороннего обмена между данной
и ею вызываемой следующей процедурами:
1) передает вызываемой процедуре параметры от данной;
2) а данная процедура получает результаты от ею вызванной процедуры.
Таким образом, одна и та же подгруппа для данной процедуры является реги-
стром временного хранения, а для следующей – регистрами параметров.
Регистры глобальных переменных доступны всем процедурам программы и
выделяются для ее глобальных переменных.
6.2 Общие принципы и перспективы развития RISC-архитектуры
Проект RISC-1, руководимый профессорами Давидом Паттерсоном и Карло Секуином, получил особое признание, поскольку он внес вклад в разработку RISC­архитектуры и сформулировал четыре основных принципа этой архитектуры [12]:
1) Каждая команда, независимо от ее типа, должна выполняться за один ма-
шинный цикл, и длительность этого цикла должна быть обратно пропорциональна
тактовой частоте процессора, чтобы она была максимально короткой. Стандартом
для RISC-процессоров является длительность машинного цикла, равная времени сложения двух целых чисел (от 3 до 10 нс на современном уровне технологии).
2) Все команды должны иметь одинаковую длину и использовать минималь-
ное количество адресных форматов, что упрощает логику центрального управления
процессором. Это также позволяет RISC-процессору выбирать одну команду за один цикл.
3) Обращение к памяти должно происходить только при выполнении опера-
ций записи и чтения, а модификация операндов в памяти должна осуществляться
только с помощью команды «запись». Вся обработка данных должна выполняться
исключительно в регистровой структуре процессора.
4) Система команд должна обеспечивать поддержку языков высокого уровня,
выбирая наиболее эффективную систему команд для различных языков программи-
рования.
88
Регистры представляют собой как основное преимущество, так и основную
проблему RISC-архитектуры. Все существующие RISC-процессоры оперируют с данными в формате «регистр-регистр-регистр» (например, R1:= R2,R3), что позво-
ляет быстро выбирать операнды из регистров и записывать результаты операций без
заметных затрат времени. Трехместные операции дают компилятору большую гиб-
кость по сравнению с двуместными операциями формата «регистр-память», харак-
терными для архитектуры CISC. В сочетании с быстрым арифметическим устрой-
ством, операции «регистр-регистр» становятся мощным средством повышения про­изводительности процессора.
Однако, проблема заключается в том, что в RISC-системах регистры процес-
сора часто обновляются во время выполнения задачи. Это должно происходить за
минимальное время, чтобы избежать значительных задержек в работе арифметиче-
ского устройства, что приведет к потере производительности. В CISC-системах та-
кой проблемы нет, так как модификация регистров может происходить параллельно
с выполнением команд формата «память-память».
Для решения проблемы модификации регистров в RISC-архитектуре суще­ствуют два подхода: аппаратный, предложенный в проектах RISC-1 и RISC-2 уни-
верситета в Беркли, и программный, разработанный специалистами IBM и Стан-
фордского университета. Главное различие между ними заключается в том, что ап-
паратное решение стремится сократить время вызова процедур путем добавления
дополнительного оборудования в процессор, в то время как программное решение
полагается на способности компилятора и является более экономичным с точки зре-
ния аппаратуры центрального процессора.
Однако оба подхода имеют свои недостатки. Например, программное решение
может привести к увеличению длины кода программы после компиляции (объектно-
го кода) по сравнению с кодом машин с обычной архитектурой (CISC). Например,
для эмуляции команд ЭВМ типа VAX в среднем требуется 5-6 команд машины с RISC-архитектурой на каждую команду VAX.
Действительно, несмотря на увеличение длины объектного кода программы,
выигрыш в скорости выполнения команд часто перекрывает этот недостаток. При-
89
мером такого успеха RISC-архитектуры можно назвать микропроцессор 80860, со-
Параметры
RISC I
RISC II
SOAR
SPARC
Am29000
Число виртуальных
регистровых окон
6 8 8 7 8
Число локальных ре­гистров в виртуальном
окне
14
22
16
24
16
Глубина перекрытия виртуальных реги-
стровых окон
4 6 8 8 0
Число глобальных ре-
гистров
18
10 8 8
64
Общее число реги­стров в регистровом
файле
78
138
72
120
192
зданный компанией Intel на ее основе. Этот однокристальный микропроцессор прак-
тически представляет собой кремниевый эквивалент суперкомпьютера GRAY-1 и демонстрирует выдающуюся производительность.
6.3 Берклийская архитектура
Согласно статистике, от 50% до 70% используемых операндов в программи-
ровании составляют локальные переменные и параметры процедур. Размещение их
в регистровом файле микропроцессора позволяет существенно снизить количество
обращений к памяти. В RISC-микропроцессорах с берклийской архитектурой, реги-
стры группируются в несколько банков, чтобы каждой процедуре мог быть назначен
свой набор регистров. Переключение между этими наборами регистров осуществля-
ется путем модификации аппаратного указателя. Давайте рассмотрим организацию
регистрового файла на примере микропроцессора RISC II, который разделен на вир-
туальные регистровые окна, каждое из которых содержит 32 регистра (см. рисунок
6.2) [11].
Таблица 6.1 – Организация регистрового файлов МП различных моделей с берклийской архитектурой RISC
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]