Студопедия — Содержимое содержимое
Студопедия Главная Случайная страница Обратная связь

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

Содержимое содержимое






СОДЕРЖАНИЕ

ВВЕДЕНИЕ.. 5

1. ПОНЯТИЕ АРХИТЕКТУРЫ ПРОЦЕССОРА И ЭЛЕМЕНТНАЯ БАЗА.. 6

1.1 Понятие архитектуры ЭВМ и архитектуры процессора. 6

1.2 Элементная база (физическая база) процессора. 7

1.3 Пути совершенствования элементной базы.. 9

1.3.1 Молекулярные компьютеры. 10

1.3.2 Биокомпьютеры или нейрокомпьютеры. 10

1.3.3 Квантовые компьютеры.. 11

1.3.4 Оптические компьютеры.. 11

2. ПРОЦЕССОРЫ С КЛАССИЧЕСКОЙ АРХИТЕКТУРОЙ.. 12

2.1. Основные принципы классической архитектуры: 12

2.2 Организация памяти в классической архитектуре. 14

2.3 Набор команд фон - Неймановского процессора. 14

2.4 Обработка особых ситуаций и прерывания. 15

3. СТЕКОВЫЕ ПРОЦЕССОРЫ... 17

3.1 Этапы выполнения команды в фон Неймановском процессоре. 17

3.2 Архитектурные особенности стекового процессора. 18

3.3 Операции с оперативной памятью.. 20

3.4 Программирование на стековом процессоре. 21

3.5 Замечания по реализации. 21

4. КОНВЕЙЕРНЫЕ ПРОЦЕССОРЫ... 22

4.1 Предпосылки создания конвейера данных. 22

4.2 Структура конвейера данных. 23

4.3 Сокращение времени при использовании конвейера данных. 23

4.4 Конвейер команд. 24

4.5 Многооперационные конвейеры.. 24

4.6 Проблемы конвейерных процессоров: 26

4.7 Особенности программирования конвейерных процессоров. 26

4.8 Замечания по реализации. 28

5. CRAY - ПРОЦЕССОР. 29

5.1 Предпосылки создания суперкомпьютеров. 29

5.2 Недостатки фон Неймановской архитектуры.. 29

5.3 Идеи, лежащие в основе CRAY процессора. 29

5.4 Общая структура и состав процессора CRAY. 33

5.5 Производительность и области применения. 34

6. ПРОЦЕССОР ПЕРЕСЫЛОК.. 35

6.1 Иерархия памяти в классической архитектуре. 35

6.2 Организация памяти в процессоре пересылок. 35

6.3 Организация процессора пересылок. 36

6.3.1 Адресная фиксация схем исполнения машинных команд. 36

6.3.2 Механизм запуска машинной команды.. 37

6.4 Пример программы в процессоре пересылок. 38

6.5 Реализация перехода по адресу и сравнения. 38

6.6 Замечания по реализации процессора пересылок. 39

7. АРХИТЕКТУРЫ ПРОЦЕССОРОВ.. 40

И ФОРМАТЫ ДАННЫХ.. 40

7.1. Процессоры с универсальным набором команд. 40

7.2 RISC – процессоры.. 40

7.3 Теговые машины.. 41

7.4 Гарвардская архитектура. 43

8. ПОДХОДЫ К ОРГАНИЗАЦИИ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА И ПОТОКОВЫЕ МАШИНЫ.... 44

8.1 Процедурное программирование. 44

8.2 Функциональное программирование. 45

8.3 Потоковое программирование. 45

9. АРХИТЕКТУРЫ ПАМЯТИ.. 49

9.1 Классификация архитектур памяти. 49

9.2 Память с чередование адресов. 50

9.3 Кэш память. 51

9.4. Ассоциативная память (безадресная память) 52

10. АРХИТЕКТУРНЫЕ РЕШЕНИЯ.. 54

ВВОДА/ВЫВОДА ДАННЫХ.. 54

10.1 Проблемы организации и управления вводом/выводом.. 54

10.2 Основные архитектурные решения. 54

10.3 Канальный ввод/вывод. 55

10.4 Архитектура с общей шиной. 56

10.5 Архитектура ввода/вывода с общей памятью.. 57

11. ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА.. 58

11.1 Мультипрограммирование (многозадачность) 58

11.1.1 Однопроцессорная обработка. 58

11.1.2 Многопроцессорная обработка. 60

11.2 Параллелизм независимых ветвей. 61

11.3 Параллелизм объектов. 62

12. МАТРИЧНЫЕ СИСТЕМЫ... 63

12.1 Однородные системы - параллелизм этапов задач. 63

12.2 Матрицы волнового фронта данных - параллелизм команд. 65

12.3 Классические матричные системы - параллелизм объектов. 66

ЛИТЕРАТУРА.. 67

 

 


ВВЕДЕНИЕ

Начиная с середины XX века - времени появления первых реальных вычислительных машин - научные идеи и технические решения в области электронно-вычислительной техники получили стремительное развитие. На первом этапе развития ЭВМ предполагалось, что увеличение быстродействия связано, прежде всего, с развитием элементной базы процессоров. Действительно переход на транзисторы (в 50-е годы) и интегральные схемы (в конце 60-х годов) оправдывал эти предположения. Однако ряд научных идей, сформулированных еще в начале 60-х годов (стек, конвейер), показал разработчикам ЭВМ, что и организационные решения могут во многом определять характеристики вычислительных машин. Тем не менее, совершенствование элементной базы успешно продолжается и в настоящее время, достаточно проследить рост тактовой частоты процессоров персональных компьютеров за последние 10 лет.

Одновременно с совершенствованием элементной базы развивались и научные идеи, связанные с логическим построением процессоров, способов организации выполнения последовательности операций, принципами управления ЭВМ - всего того, что впоследствии получило название архитектуры ЭВМ.

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

Будут рассмотрены: фон Неймановская архитектура, стековые процессоры, конвейерная обработка команд и данных, машины потоков данных, процессор пересылок, RISC - процессоры и основы многопроцессорных систем.

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

Решения по организации ввода/вывода представлены классической канальной архитектурой, шинной организацией и идеей сквозной адресации памяти.

1. ПОНЯТИЕ АРХИТЕКТУРЫ ПРОЦЕССОРА И ЭЛЕМЕНТНАЯ БАЗА

1.1 Понятие архитектуры ЭВМ и архитектуры процессора

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

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

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

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

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

 
 

Программно - аппаратная варьируемость

Рис 1.1

1.2 Элементная база (физическая база) процессора

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

Технологический процесс представляет собой поэтапную (по областям транзистора) диффузию примесей в кристаллическую структуру кремниевой подложки при температурах порядка 800° с очень жесткими ограничениями на градиент температуры. Для получения приемлемых характеристик градиент должен иметь порядок ± 0,1°/час.

Тем не менее, как физические процессы в твердотельной структуре, так и «шумы», вносимые технологией определяют следующие недостатки p-n-p транзистора, влияющие на его характеристики - паразитные ёмкости p-n перехода и наведённые токи.

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

Структура p-n-p планарного транзистора в разрезе по подложке приведена на рис 1.2:


Разрез твердотельного планарного транзистора

Рис 1.2

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

а) Время фронта на вентиле. Логические значения «0» и «1» представляются двумя значениями напряжения, при переключении элемента из одного состояния в другое напряжение не изменяется скачкообразно, а нарастает во времени, приблизительно так, как это показано на рис 1.3. Время фронта определяется такими параметрами твердотельного транзистора, как паразитные емкости переходов и подвижность электронов.


Изменение напряжения на элементе во времени

Рис 1.3

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

б) Характеристики тепловыделения

Тепловыделение элементной базы процессоров принято измерять в пикоджоулях на переключение одного бита (1 ПкДж/Бит =10 -¹² Дж/Бит).

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

в) Фундаментальное ограничение по скорости света

При тактовой частоте в 1 Ггц сигнал на проводе проходит 30 см за 1 такт, а при такте в 10 Ггц - 3 см - это означает, что все соединительные линии между элементами, работающими при таких частотах не должны вносить ощутимую задержку при распространении сигнала.

1.3 Пути совершенствования элементной базы

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

Альтернативных путей развития в рамках твердотельных технологий просматривается не очень много.

Большие исследования проводятся в области использования явления сверхпроводимости и туннельного эффекта - эффекта Джозефсона. Работа микросхем при температурах, близких к абсолютному нулю (-273°С), позволяет достигнуть максимальных тактовых частот с минимальным тепловыделением. Очень интересны результаты по использованию «теплой сверхпроводимости». Оказывается, что для некоторых материалов, в частности для солей бария, явление сверхпроводимости наступает уже при температурах около -150°С. Тематика исследовательских работ и их результаты в этом направлении являются закрытыми. Однако с уверенностью можно сказать, что появление таких элементов знаменовало бы революцию в развитии элементной базы процессоров.

Другой альтернативой, в рамках твердотельной технологии, является использование AsGa (арсенид галия), имеющего более высокую подвижность электронов, чем у кремния. Проблема технологии арсенида галлия связана с созданием защитного слоя на поверхности, необходимого для выделения площадей диффузии.

Внедрение новых технологий производства микросхем связано и с экономическими проблемами. Например, строительство нового завода по производству микросхем с 0,13-микронной технологией обходится от 2 до 4 млрд. долл. Это заставляет искать новые альтернативные пути в элементной базе. Интенсивные поиски идут по многим направлениям. Наиболее перспективными из них следует считать создание молекулярных и биокомпьютеров (нейрокомпьютеров), разработку квантовых компьютеров и разработку оптических компьютеров.

1.3.1 Молекулярные компьютеры.

Во многих странах проводятся опыты по синтезу молекул на основе их стереохимического генетического кода, способных менять ориентацию и реагировать на воздействия током, светом и т.п. Например, ученые фирмы Hewlett - Packard и Калифорнийского университета (UCLA) доказали принципиальную возможность создания молекулярной памяти ЭВМ на основе молекул роксана (http://www.zdnet.ru/prmtreviews.asp?ID=89). Продолжаются работы по созданию логических схем, узлов и блоков. По оценкам ученых, подобный компьютер в 100 млрд. раз будет экономичнее современных микропроцессоров.

1.3.2 Биокомпьютеры или нейрокомпьютеры.

Идея создания подобных компьютеров базируется на основе теории перцептрона — искусственной нейронной сети, способной обучаться. Автором этих идей был Ф. Розенблат. Он указал, что структуры, обладающие свойствами мозга и нервной системы, позволяют получить целый ряд преимуществ:

1) параллельность обработки информационных потоков;

2) способность к обучению и настройке;

3) способность к автоматической классификации;

4) более высокую надежность;

5) ассоциативность.

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

1.3.3 Квантовые компьютеры

Принцип работы элементов квантового компьютера основан на способности электрона в атоме иметь различные уровни энергии: Е0, Е1,...,Еn. Переход электрона с нижнего энергетического уровня на более высокий связан с поглощением кванта электромагнитной энергии - фотона. При излучении фотона осуществляется обратный переход. Всеми подобными переходами можно управлять, используя действие электромагнитного поля от атомного или молекулярного генератора. Этим исключаются спонтанные переходы с одного уровня на другой.

Основным же строительным блоком квантового компьютера служит qubit — Quantum Bit, который может иметь большое число состояний. Для таких блоков определен логически полный набор элементарных функций. Известны эксперименты по созданию RISC-процессора на RSFQ-логике (Rapid Single Flux Quantum) и проекты создания петафлопных (1000 триллионов операций/с) компьютеров (http://www.submarme.ru/prmt.cfm?Id=42).

Особо следует отметить реализацию квантового канала на основе разнесенного интерферометра Маха - Циммерманна.

1.3.4 Оптические компьютеры

Идея построения оптического компьютера давно волнует исследователей. Многие устройства ЭВМ используют оптику в своем составе: сканеры, дисплеи, лазерные принтеры, оптические диски CD-ROM и DVD-ROM. Появились и успешно работают оптоволоконные линии связи. Остается создать устройство обработки информации с использованием световых потоков. Способность света параллельно распространяться в пространстве даёт воз­можность создавать параллельные устройства обработки. Это позволило бы на много порядков ускорить быстродействие ЭВМ.

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

2. ПРОЦЕССОРЫ С КЛАССИЧЕСКОЙ АРХИТЕКТУРОЙ

 

2.1. Основные принципы классической архитектуры:

Большинство вычислительных машин первого, второго и третьего поколений строились на принципах сформулированных Дж. фон - Нейманом в 1949 году. Поэтому термин «фон - Неймановская архитектура» является синонимом термина «классическая архитектура». Эти принципы легли в основу большого количества процессоров, да и в настоящее время влияние классической архитектуры в современных процессорах достаточно велико.

Естественно, что понятие классической архитектуры шире, чем принципы Дж. фон-Неймана, и сегодня под ЭВМ с классической архитектурой понимается вычислительная машина, построенная на следующих принципах:

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

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

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

4. Обработка особых ситуаций по прерываниям. Особые ситуации, возникающие при работе процессора (ввод/вывод, таймер) или при выполнении команды (деление на ноль, переполнение порядка) обрабатываются с использованием особого аппаратно-программного механизма, называемого прерыванием. При возникновении особой ситуации происходит аппаратная смена содержимого регистра адреса команды, посредством чего процессор начинает выполнять специальную программу операционной системы - обработчик прерываний;

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

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

 
 

Общая структура фон - Неймановского процессора

Рис 2.1

2.2 Организация памяти в классической архитектуре

Классическая архитектура предполагает развитую иерархию памяти, связанную с существенно различными временами доступа для разных компонент памяти Эта иерархия включает в себя следующие компоненты:

1. Быстрая регистровая память процессора, включающая программно адресуемые регистры общего назначения процессора, внутренние регистры АЛУ и специальные регистры УУ. В состав специальной памяти процессора может входить и память микропрограмм, как это показано на рис 2.2;


Микропрограммная память в структуре процессора

Рис 2.2

2. Более медленная, но зато имеющая значительно большую емкость оперативная память со своим собственным блоком управления;

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

2.3 Набор команд фон - Неймановского процессора

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

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

Схема формирования исполнительного адреса

 

 
 


[Адрес в ОП] = [Смещение] +[Регистр базы] +[Регистр индекса]

содержимое содержимое

 

Рис 2.3

Универсальный набор команд явно отражал как иерархию, так и адресацию памяти, включая в себя набор функционально одинаковых команд с различным расположением операндов. Существовали команды формата «регистр-регистр», «регистр-память», и «память-память», где для адресации операнда в памяти необходимо было указать явное смещение и номера двух регистров общего назначения. Наличие разноформатных команд существенно увеличивало общий набор команд процессора (150-200 машинных команд).

Управление процессором осуществлялось через регистр адреса команды, который содержал ряд дополнительных полей. Например в процессоре IBM 370/165 этот регистр назывался словом состояния программы (PSW) и имел длину в 64 бита. Регистр содержал следующую информацию:

- адрес следующей команды в оперативной памяти;

- результат последней команды сравнения;

- коды состояний процессора;

- ключ защиты памяти.

2.4 Обработка особых ситуаций и прерывания

Особые ситуации, возникающие при работе процессора, требуют специальной обработки со стороны операционной системы, т.е. некоторым образом выполнение текущей программы должно быть прервано и ресурс процессора должен быть предоставлен специальным программам операционной системы. Для обработки таких ситуаций в классической архитектуре был предложен специальный механизм, который получил название прерываний. Для иллюстрации разделения прерываний по типам и механизма их обработки рассмотрим обработку особых ситуаций, принятую в семействе ЭВМ IBM 360/370.

При разработке этого семейства ЭВМ были выделены следующие типы прерываний:

- программные прерывания - особые ситуации при выполнении команд (деление на ноль, переполнение порядка, потеря значимости и т.д.);

- прерывания ввода/вывода - особые ситуации, возникающие при нормальном или ненормальном завершении операций ввода/вывода;

-прерывания от часов и интервального таймера;

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

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

Механизм обработки прерываний включал в себя загрузку пар PSW для каждого типа прерываний при загрузке операционной системы. Новое PSW прерывания содержало адрес обработчика прерываний данного типа внутри операционной системы. При возникновении прерывания аппаратно производилась смена PSW, как это показано на рис 2.4, что и приводило к запуску обработчика прерываний. Старое PSW было необходимо для возврата из обработчика прерываний в прерванную программу.

Схема обработки прерываний в IBM 360/370


Рис 2.4

3. СТЕКОВЫЕ ПРОЦЕССОРЫ

3.1 Этапы выполнения команды в фон Неймановском процессоре

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

Можно выделить следующие этапы выполнения команды в классической фон - Неймановской архитектуре:

1) выборка устройством управления команды из ОП (или из кэш памяти) в регистр команд;

2) модификация адреса в регистре команд на длину выбранной команды;

3) обработка кода операции - коммутация АЛУ на соответствующую микропрограмму или операционную схему;

4) коммутация регистров и АЛУ в соответствии с информацией команды;

5) вычисление адреса операнда в ОП;

6) выборка операнда из ОП в АЛУ;

7) выполнение команды процессором (АЛУ);

8) обработка результата выполнения команды - запись результата.

Схема взаимодействия регистров процессора и АЛУ представлена на рис 3.1:


Схема взаимодействия регистров процессора и АЛУ

Рис 3.1

3.2 Архитектурные особенности стекового процессора

 
 

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

Упрощенная схема стека

Рис 3.2

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

Структура простого стекового процессора

 
 

Рис 3.3

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

1) выполнение команды, операндами которой всегда являются верхний и непосредственно следующий за ним элементы стека (для бинарных операций);

2) формируемый в АЛУ результат пересылается по месту операнда №2 в стеке;

3) стек продвигается на один элемент вверх - тем самым результат предыдущей команды автоматически становится операндом следующей команды.

Отметим, что в этом случае АЛУ работает не с чисто стековой структурой, так как доступными (коммутированными) являются два элемента стека.

Отметим положительные особенности данной архитектуры:

- отсутствие этапа коммутации АЛУ с операндами приводит к сокращению времени выполнения команды;

- прямая передача результатов операций от одной к другой через верхний элемент стека позволяет упростить подготовку следующей команды;

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

Схема стекового процессора с прямой коммутацией приведена на рис 3.4

 
 

Схема стекового процессора с прямой коммутацией

Рис 3.4

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

3.3 Операции с оперативной памятью

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

Будем обозначать операции «из ОП в стек» и «из стека в ОП» с учетом символических адресов следующим образом:

- А¯ - содержимое по адресу А помещается в стек, все остальные элементы стека проталкиваются вниз;

- Y­ - содержимое верхнего элемента стека помещается в память по адресу Y, стек продвигается на один элемент вверх.


Реализация операций перемещения элементов стека должна быть достаточна быстрой по времени, при этом поэлементная перезапись, как это показано слева на рис 3.5 не обеспечивает временных характеристик. Для реализации быстрого стека применяется идея регистров параллельного переноса, как это показано справа на рис 3.5:

Схема проталкивания элементов стека

Рис 3.5

3.4 Программирование на стековом процессоре

Рассмотрим несколько простых примеров вычисления арифметических выражений с учетом особенностей архитектуры стекового процессора. В дополнение к командам работы с памятью введем обозначение команд арифметических операций в виде знаков операций и унарную операцию 1/a для обозначения операции вычисления обратной величины.

 

1. Выражение C=A+B

Фрагмент программы A¯, B¯,+,C­

2. Выражение D=A+B+C

Фрагмент программы A¯, B¯, +, C¯, +, D­

Или A¯, B¯, D¯, +, +, C­

3. Выражение Y=((A+B)*E)/X

Фрагмент программы A¯, B¯, +, E¯, *, X¯, 1/a, *, Y­

Или X¯, E¯, B¯, A¯, +, *, /, Y­

3.5 Замечания по реализации

Первые реализации стековых процессоров относятся ко второму поколению ЭВМ, т.е. к началу 1960-х годов. Стековую идею впервые широко использовала фирма Burroughs, начиная с машины В 5000 и далее в машинах серии В 6000 и В 6600, из отечественных разработок следует упомянуть машину БЭСМ - 6 с одними из лучших показателей производительности в своем классе.

В настоящее время идеи стековой архитектуры используются для построения сопроцессоров с плавающей точкой (математических сопроцессоров) в процессорах Intel и AMD.

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

 

4. КОНВЕЙЕРНЫЕ ПРОЦЕССОРЫ

4.1 Предпосылки создания конвейера данных

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

Формат хранения действительных чисел - чисел с плавающей точкой (FP) представлен на рис 4.1:

Формат хранения действительных чисел (FP)

Рис 4.1

Этапы выполнения машинной команды умножения:

1) Сложение порядков;

2) Нормализация мантисс (приведение мантисс к виду 0,1хххх);

3) Умножение мантисс;

4) Нормализация результата.

Таким образом, команда умножения может быть разделена на четыре этапа, которые могут быть реализованы аппаратно в виде четырех операционных блоков (сегментов), как это показано на рис 4.2

 
 

Операционные блоки для машинной команды умножения действительных чисел

Рис 4.2

4.2 Структура конвейера данных

Создание конвейера предполагает выполнение следующих действий:

1) Деление машиной команды на этапы;

2) Аппаратная реализация этапов в виде конвейерных блоков (сегментов);

3) Создание входных / выходных регистров блоков для передачи результатов.

Таким образом каждый сегмент конвейера имеет структуру, показанную на рис 4.3, где ОР1 и ОР 2 - входные и выходные операнды блока (регистры), а R - поле результата


Структура конвейерного сегмента

Рис 4.3

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

4.3 Сокращение времени при использовании конвейера данных

Пусть при конвейерной обработке машинная команда, как показано на рис. 4.2, разбивается на несколько (допустим, n) блоков, и каждая пара операндов последовательно обрабатывается в каждом таком блоке, начиная с первого по n -й, причем, как только одна пара операндов заканчивает обрабатываться на некотором операционном блоке, то этот блок начинает обрабатывать пару другую пару операндов, переданных с предыдущего блока. Таким образом, все блоки операционного конвейера работают одновременно и выполняют n разных этапов обработки для n разных пар операндов. Допустим, что конвейер спроектирован таким образом, что время прохождения одной пары операндов в обычном АЛУ и конвейере одинаково и равно Т, а число пар операндов, которые можно последовательно пропускать через конвейер, достаточно велико и равно N. В таком случае в исходном операционном блоке АЛУ на выполнение одной операции потребуется время Т, но если используется n-звенный конвейер, то на обработку N операций потребуется время (n + N) • (Т/n).

При этом на одну операцию потребуется время ((n + N)*T)/(n*N). Если отношение N/n достаточно велико, то это время приближается к Т/n, т. е. скорость вычислений возрастает приблизительно в n раз, где n - количество блоков или сегментов конвейера.

4.4 Конвейер команд

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

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

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

1) выборка команды по адресу из ОП (или из КЭШ памяти);

2) дешифрация и обработка кода операции;

3) выборка первого операнда;

4) выборка второго операнда.

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

4.5 Многооперационные конвейеры

При реализации идеи конвейерной обработки для







Дата добавления: 2015-04-16; просмотров: 530. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.015 сек.) русская версия | украинская версия