Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

RISC и CISC процессоры



Аббревиатура RISC (reduced instruction set computer) появилась в середине 80-х годов XX века, когда ученые из Беркли сообщили о создании "компьютера с ограниченным набором команд". С тех пор остальные компьютеры стали называться CISC (complication instruction set computer -- компьютеры со сложным (расширенным) набором команд.) К CISC-процессорам относятся процессоры системы IBM 360/370, Intel 80x86 и Pentium, Motorola MC680x0, DEC VAX и некоторые другие. К RISC-процессорам относятся Sun Ultra SPARC, MIPS, Alpha DEC, PowerPC и некоторые другие.

RISC-процессоры характеризуются следующими особенностями:

1. Из них удалены сложные (типа двоичного умножения) и редко используемые инструкции.

2. Все инструкции имеют одну длину. При этом уменьшается сложность устройства управления процессора и увеличивается скорость дешифрации команд.

3. Отсутствуют инструкции, работающие с памятью напрямую (типа команд "память - память", "регистр - память"). Возможна только загрузка данных из памяти в регистр и наоборот, из регистра в память. Соответственно на порядок увеличивается число регистров.

4. Отсутствуют операции работы со стеком.

5. Возможно использования конвейера и параллельных вычислений. АЛУ, например, одновременно может работать с 2-мя 32-х разрядными, 4-мя 16-ти разрядными, и 8-мью 8-ми разрядными числами. Смысл же конвейера -- в накоплении последовательно выполняемых команд программы (т.н. линейных участков) в буфере для их ускоренного дешифрования и выполнения.

6. Почти все операции осуществляются за один такт микропроцессора.

7. Благодаря этим нововведениям тактовая частота RISC-процессоров (при прочих равных условиях) выше.

Более того, в RISC-микропроцессорах появилась возможность работы разных его составляющих на разных тактовых частотах. Например, из-за того, что содержимое памяти обычно дублируется в кэше, частоту работы АЛУ, регистров и дешифратора команд можно повысить, а частоту синхронизации пересылки между кэшем и памятью, предвыборки команд можно уменьшить. Поэтому при указании тактовой частоты процессора выбирают его максимальную частоту.

Арифметико-логическое устройство (АЛУ).

По определению, предложенном в книге [Информатика в понятиях и терминах. - М.: Просвещение, 1991, стр. 67] "АЛУ -- функциональная часть ЦВМ, предназначенная для выполнения операций преобразования (обработки) величин: арифметических, логических (поразрядных), сдвига..." АЛУ является одним из основных устройств процессора. Оно выполняет одну из первых функций микропроцессора -- обработку данных и вычисления.

На вход АЛУ подаются данные в двоично-кодированном виде. Слово "двоично-кодированные" означает, что все данные (числа, символы и т.п.) представляются в виде последовательности двоичных цифр -- нулей и единиц. Отметим, что ЦВМ способна воспринимать только двоично-кодированные данные. Обычно АЛУ может оперировать с одним или сразу с двумя двоичными данными, в роли которых, как правило, выступают двоичные числа, и всегда возвращает один результат. Поступающие на вход данные автор, в зависимости от контекста, будут называться числами, аргументами или операндами. Кроме данных, на это устройство поступают сигналы -- преобразованные устройством управления операторы программы (команды), указывающие, какие операции нужно произвести над данными. Кроме того, на выходе арифметико-логическое устройство выдает также сигналы -- признаки успешного или некорректного (типа деления на ноль) результата. АЛУ бывает универсальным и специализированным. Элементарные сведения о схемах, на которых основано АЛУ, приведены ниже.

Элементная база АЛУ

На уровне логических схем АЛУ состоит из логических элементов, сумматоров, триггеров и некоторых других элементов.

Логический элемент -- электронная схема, реализующая элементарную переключающую функцию. [А.П. Заморин и др. Вычислительные машины, системы, комплексы. Справочник. -- М.: Энергоатомиздат, 1985. -- 264 с.: ил. -- стр. 31.] При реализации функций переключения входные переменные соответствуют входным сигналам, а выходной сигнал представляет собой значение функции. Всего существует десять логических элементов, реализующих десять логических (элементарных или сложных) функций.

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

Триггер -- электронная схема с двумя устойчивыми состояниями, предназначенная для хранения одного бита информации. Триггер переходит из одного устойчивого состояния в другое при воздействии некоторого входного сигнала. Триггер имеет вход для установки в состояние 0 (X0) и в 1 (X1). На выходе выдается состояние триггера, которое выдается в прямом (Y) и в инверсном (Y1) виде. В компьютерах используют синхронизируемые и не синхронизируемые триггеры. Синхронизируемый триггер -- это триггер, изменение состояния которого осуществляется только в момент подачи сигнала синхронизации V.

В зависимости от способа управления различают несколько типов триггеров: D- (с одним входом), RS- (с двумя входами), T- (со счетным входом), RST- (с двумя входами и счетным выходом) триггеры, и универсальные триггеры: JK- и DF-триггеры.

Триггеры, как правило, выполняются на логических элементах ИЛИ-НЕ, И-НЕ (рисунок D.1.2.) Если триггеры выполняются на логических элементах И-НЕ, то это триггеры с инверсным управлением; если на элементах ИЛИ-НЕ, то это триггеры с прямым управлением.

Рис. D.1.2. Схема реализации триггера - защелки на элементах И-НЕ (a) и ИЛИ-НЕ (b).

Триггер-защелка фиксирует состояние входного сигнала, поданного на один из его входов (рисунок D.1.2.)

Рис. D.1.3. Схема реализации RS-триггера на элементах И-НЕ.

RS-триггер -- двухвходовый триггер с раздельными входами для установки в 0 или 1 (рисунок D.1.3.) При подачи единичного сигнала на вход R (-X0) триггер переходит в состояние 0 (Y=0, Y1=1), а при подачи на вход S (=X1) единичного сигнала -- в состояние 1 (Y=1, Y1=0). Одновременная подача единичного сигнала на оба входа запрещена. Обычно RS-триггеры бывают синхронизируемыми (вход для синхронизации -- V).

Рис. D.1.4. Схема реализации T-триггера.

T-триггер -- одновходовый триггер со счетным входом: информация подается одновременно на два входа. При подаче сигнала состояние триггера меняется на противоположное (рисунок D.1.4.) Он, как правило, является не синхронизируемым, и позволяет не только хранить информацию, но и осуществлять сложение по модулю 2.

Рис. D.1.5. Схема реализации D-триггера.

D-триггер выполняет функцию задержки входного сигнала на один такт синхронизации (рисунок D.1.5.). Сигнал, появившийся на входе D (=X0) в момент времени T, задерживается в нем и появляется на выходе Y в момент времени T+1.

JK-триггер -- двухвходовый триггер, допускающий раздельную установку состояния 0 и 1, а также смену текущего состояния (режим со счетным входом), осуществляемую при подаче на оба входа единичного сигнала. Вход K в этом триггере соответствует входу R (=X0) RS-триггера, а вход J -- S (=X1).

DF-триггер -- двухвходовый триггер, позволяющий по одному входу реализовать режим D-триггера, а по другому -- модифицировать режим работы. Вход D соответствует X1, а F -- X0. При F=0 DF-триггер сохраняет текущее состояние. Сигнал F=1 устанавливает триггер в состояние 0. При D=1 и F=1 триггер устанавливается в состояние 1.

Триггеры с неустойчивыми состояниями называются вибраторами. Схема с одним неустойчивым состоянием (триггер Шмидта, одновибратор) генерирует импульсный сигнал определенной длительности. Схема с двумя неустойчивыми состояниями называется мультивибратором и служит для генерации последовательности прямоугольных сигналов. Он используется тактовым генератором.

Рис. D.1.6. Реализация регистра.

Регистр -- схема для приема, хранения и передачи n-разрядного блока данных Они используются для промежуточного хранения, сдвига, преобразования и инверсии данных. Регистры выполняются на триггерах и логических элементах. Их число и тип определяются разрядностью слова и назначением регистра. Если регистр не требует предварительного сброса данных (то есть установки всех его ячеек в ноль), то новые данные заменяют в нем старые. Схема регистра показана на рисунке D.1.6.

Рис. D.1.7. Реализация одноразрядного сумматора с переносом знака.

Сумматор -- схема, выполняющая операцию арифметического сложения двух чисел. Различают одно- и многоразрядный (на всю длину суммируемых слов) сумматоры, полный сумматор (с приведением переносов) и полусумматор (с запоминанием переносов).

В зависимости от числа входов сумматоры бывают двухвходовыми и трехвходовыми. В двухвходовом одноразрядном сумматоре на вход подаются два разряда суммируемых чисел, а на выходе формируется результат сложения разрядов по модулю 2 и перенос в следующий разряд. В трехвходовом одноразрядном сумматоре на вход подаются два разряда суммируемых чисел и результат переноса из суммирования предыдущих разрядов, а на выходе -- результат суммирования по модулю 2 и перенос в следующий разряд. Схема трехвходового сумматора показана на рисунке D.1.7.

Дешифратор -- логическая схема, преобразующая входное n-разрядное двоичное слово в единичный сигнал на одном из 2^n входов. Обратную функцию выполняет схема, называемая шифратором. Дешифраторы широко используются в устройствах управления для управления работой микропроцессорами.

Целочисленное АЛУ.

Целочисленное арифметико-логическое устройство является, наверное, первым универсальным АЛУ. Это АЛУ могло работать с целыми числами и вещественными числами с фиксированной точкой [А.В. Нестеренко. ЭВМ и профессия программиста. М.: Просвещение, 1990, пп. 2.1.1 - 2.1.4].

Не смотря на большое число команд микропроцессора, это устройство фактически все команды сводит к девяти элементарным операциям. Все оно приведены в таблице.

Таблица D.1.II. Элементарные операции целочисленного АЛУ.
Операция Обозначение Количество операндов Подсистема выполнения
Сложение + Сумматор
Вычитание - Cумматор и регистр
Логическое умножение, И ^, &, and Логические схемы
Логическое сложение, ИЛИ V, |, or Логические схемы
Сдвиг влево << Регистр
Сдвиг вправо >> Регистр
Инверсия (НЕ) !,not Логические схемы
Увеличение на 1, инкремент ++,inc Сумматор
Уменьшение на 1, декремент --,dec Сумматор

Подробнее об устройстве регистров, логических схем и сумматоров смотри приведенные перепечатки ([Информатика в понятиях и терминах. М.: Просвещение, 1991. - стр. 88-93], ["Квант", 1985. -- 9-12, 1986, -- 1-6.]) Именно эти операции выполняются за один такт микропроцессора (см. синхронизирующие импульсы, тактовая частота), и имеют наибольшую скорость выполнения. Они являются единственными командами для MISC-процессоров [Борис Богумирский. Эффективная работа на IBM PC. С.-Пб.: Питер-ПРЕСС, 1985 - 683 с.], основой для операция в RISC-процессорах (смотри раздел E этого выпуска). Фактически все другие операции осуществляются с помощью этих девяти базовых. Так, умножение восьмиразрядных целых чисел A и B выполняются по следующему алгоритму:

1. Обнуляется результат.

2. Если последний разряд числа B -- единица, ток результату прибавляется число A.

3. Число A сдвигается на разряд влево, а число B -- на разряд вправо.

4. Повторяются шаги со второго по третий семь раз.

Заметим, что сдвиг влево на 1 разряд соответствует умножению на два, а сдвиг вправо на один разряд -- целочисленному делению на два.

Команда изменения знака числа будет следующей:

1. Вначале происходит инверсия числа.

2. После этого производится инкремент результата (т.е. к нему прибавляется единица.)

3. Таким образом число переводится в дополнительный код (смотри форматы представления чисел в приложении I, книгу В.А. Григорьева "Микропроцессор i486, кн. 1-4 и книгу "ЭВМ и профессия программиста" Нестеренко.) Команда определения знака числа основывается просто на проверке самого старшего бита (смотри там же.)

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.