


Рис. 5.2
Регистровый формат команд обработки данных облегчает реализацию конвейерного исполнения команд, так как исключает конфликты при обращении к памяти.
Пример. Пусть требуется вычислить выражение E = (A + B) x (C + D)
Двухадресная обработка команд в CISC-компьютерах с использованием ячеек памяти.
Add b, a
Add d, c
Mull d, b
Store e, d
║ ВК | ДШ | ОА | ВО | ИСП | ЗР ║ ВК | | |
║ ВК | ДШ | ОА | ВО | ИСП | …… | ЗР ║ | |
║ ВК | ДШ | ОА | …… | …… | …… | ВО | | |
║ …… | ……
| …… | …… | …… | …… | ВК | | |
ВК – выборка команды, ДШ – дешифрация, ОА – обработка адресов, ВО – выборка операндов,
ИСП – исполнение операции, ЗР – запись результата, ……. – такт ожидания.
Трехадресная обработка команд в RISC-компьютерах с использованием регистров.
S1 S2 d
Add R1, R2, R6
Add R3, R4, R7
Mull R6, R7, R5
║ ВК | ДШ | ИСП ║
║ ВК | ДШ | ИСП ║
║ ВК | ДШ | ИСП ║
Основная проблема: при большом количестве используемых регистров: надо сохранять их в памяти при переключениях с подпрограммы на подпрограмму. Решение проблемы сохранения и восстановления набора регистров при вызове подпрограмм предлагается реализовать путем организации так называемых “Окон перекрытия регистров” – MORS – Multiple Overlapping Register Set (Rolodex в RISC–1).
Сто тридцать восемь регистров в RISC-1 распределялись между 8 программами (по 32 регистра) как показано на рис. 5.3.
Физические регистры Логические регистры
Проц. А
R137 R31A
HIGH A
R132 R26A
R131 R25A
Окно А LOCAL A
R122 R16A Проц. B
R121 R15A R31B
LOW A / HIGH B
R116 R10A R26B
R115 R25B
Окно В LOCAL B
R106 R16B Проц. С
R105 R15B R31C
LOW B / HIGH C
R100 R10B R26C
R99 R25C
Окно С LOCAL C
R90 R16C
R89 R15C
LOW C
R84 R10C
. . .
R9
Global R
R0

Рис. 5.3
Передача параметров (до 6 штук) между процедурами реализуется без затрат времени просто за счет
перекрытия логических регистров (физические регистры совпадают).
Недостатки:
Ограниченное число параметров при передаче через регистры.
Ограниченное число подпрограмм, которым могут предоставляться регистровые окна.
Арифметические особенности RISC-процессоров
В RISC-процессорах имеется возможность увеличения аппаратной поддержки арифметических операций благодаря уменьшению места на кристалле для размещения управляющей части процессора.
Все RISC-процессоры по размерам обрабатываемых данных удовлетворяют стандарту ANSI:
с фиксированной запятой – 32 бит
с плавающей запятой – 64 бит
В арифметико-логическом устройстве процессора широко применяются схемные методы ускорения выполнением операций (например, одновременная обработка нескольких разрядов в одном такте, использование групповых переносов и т.д.).
Рассмотрим пример сравнения использования команд CISC- и RISC-процессоров на примере компьютеров VAX и SPARC.
|
|
VAX (CISC) |
SPARC (RISC) |
|
Статика |
|
|
|
Число строк |
1 |
1.5 |
|
Операции обращения к памяти |
1 |
1.5 |
|
Фиксированная арифметика |
1.5 |
1 |
|
Плавающая арифметика |
1 |
3…4 |
|
Переходы |
1 |
2.5…3 |
|
Динамика |
|
|
|
Число выполненных строк |
1 |
3…4 |
|
Обращения к памяти |
1 |
3…5 |
|
Фиксированная арифметика |
2…2.5 |
1 |
|
Плавающая арифметика |
1 |
2…2.5 |
|
Переходы |
1 |
1…1.5 |
Время выполнения программы упрощенно можно оценить по следующему выражению
Tпрограммы = Nкоманды x Cтакт/ком x Tтакт,
где Tтакт – длительность такта, и для параметров CISC- и RISC-процессоров справедливы соотношения:
NкомRISC = (1.5 - 2.0) * NкомCISC,
Cтакт/ком. CISC = (5 - 10) * Cтакт/ком. RISC,
TCISC = (3 - 4) * TRISC.
Тогда для времен выполнения программ с большим числом арифметических операций будет справедливо соотношение
Тпрогр.CISC = (10 - 20)Тпрогр.RISC.
Основные достоинства RISC- процессоров:
Повышение производительности обработки программ вычислительных задач.
Благодаря использованию простых команд и минимума их форматов сокращается время разработки RISC-процессора.
Улучшение технологичности RISC-процессоров благодаря большей свободе в размещении их элементов на кристалле интегральной схемы и повышение вероятности выхода годных схем.
Недостатки RISC- процессоров:
Нарушение основных принципов программирования:
а) Минимум длины исполняемого кода программы.
б) Снижение семантического разрыва между исходным описанием и машинным кодом.
Сложность построения компилятора, поскольку программа с языка высокого уровня должна транслироваться в микрокод с оптимизацией использования регистров.
Высокие требования к быстродействию памяти.
Кроме того, следует учитывать, что сейчас производительность вычислительной системы в большой степени определяется не процессором, а скоростью передачи данных по шинам и протоколами сетевого взаимодействия. Гораздо важнее требование совместимости с созданным ранее программным обеспечением, которому многие RISC-процессоры не удовлетворяют, что сдерживает их распространение.
Память используется для хранения следующих объектов:
Компьютерные программы.
Состояния всех устройств.
Данные (постоянные или переменные).
В памяти недопустима обработка данных и, следовательно, применимы всего две операции: выборка или чтение (информация не разрушается) и запись (предыдущая информация разрушается).
Память понимается как линейная последовательность ячеек, наделенных адресами, по которым осуществляется доступ к содержимому. Различают единицы адресуемой информации:
МАЕП – минимально адресуемая единица памяти.
В зависимости от вида данных:
1 бит (флаги слова состояния процессора, внешних устройств);
1 байт (арифметические данные, команды).
Слово – наибольшая длина данного, выбираемого за одно обращение (16, 32, 64, 128 бит).
Основные характеристики памяти:
Емкость (обозначается С) с диапазоном: 1 байт (регистр памяти) – n*100 Г байт (винчестер, оптический диск).
Быстродействие (обозначается Т) с диапазоном: n* 1нс (регистровая память) – n* 10 с (магнитная лента, оптический диск).
Чем больше емкость памяти, тем обычно меньше ее быстродействие. Для преодоления противоречия емкости и быстродействия используется иерархическая организация памяти.
Основные параметры, характеризующие быстродействие памяти:
а) t ВЫБОРКИ – время от запуска памяти для считывания данного и до появления его в буферном регистре (не включает установку и дешифрацию адреса).
б) t ОБРАЩЕНИЯ – среднее время, затраченное на обращение к памяти в двух последовательных циклах чтения и записи данных по разным адресам (включая время задания адреса и его дешифрации).
Как правило, выполняется соотношение tОБР 2t ВЫБ.
Надежность – зависит от возникновения сбоев при считывании или записи данных и обеспечивается с помощью средств контроля (обнаружения и исправления ошибок):
а) Parity control – контроль по четности, позволяет обнаружить одиночные ошибки (в одном бите);
б) ECC (error checking and correction control) – контроль с использованием корректирующих кодов, использует два дополнительных бита. Позволяет обнаружить двойную ошибку или скорректировать одиночную ошибку.
Плотность записи (бит /см2), зависит от типа среды хранения информации, наиболее высокая плотность у оптических накопителей.
Стоимость хранения одного бита – важна для пользователя с финансовой точки зрения.
Магнитная среда.
Исторически самые первые запоминающие устройства использовали магнитную среду, где в качестве носителя информации использовались магнитные материалы, в настоящее время применяются только в устройствах внешней памяти из-за низкого быстродействия.
Среда с накоплением зарядов.
В данном случае в качестве элемента памяти используются конденсатор и транзистор, позволяющие хранить один бит информации. В зависимости от вида материалов, различают: биполярную полупро-водниковую память (более быстрая) и память на МОП-структурах (металл – окисел – полупроводник), более медленную, но дешевую. Из-за разряда конденсатора информация хранится краковременно и ее надо регенерировать каждые 5-10 мсек.
Память на активных элементах с усилительными свойствами.
В качестве элементов памяти используются триггеры – электронные схемы с двумя устойчивыми состояниями, а сами структуры хранения называются регистрами (самый быстрый вид памяти, но имеет малую емкость). При наличии питающего напряжения информация хранится сколь угодно долго.
Оптические запоминающие устройства.
Запись информации осуществляется лазерным лучом, а представление информации определяется либо различными свойствами прохождения луча через среду, либо поляризацией материала среды (достаточно высокая плотность записи и малая цена хранения одного бита информации).