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

Гарвардская и Принстонская

Читайте также:
  1. Буферизация команд
  2. ВВЕДЕНИЕ 11 страница
  3. ВТОРОЙ ЭТАП: СТАНОВЛЕНИЕ НОВОЙ НАУЧНОЙ ДИСЦИПЛИНЫ
  4. Глава 10
  5. Звуковой вектор
  6. История любви
  7. История развития теории и практики менеджмента
  8. Микропроцессоры
  9. Оливер Барретт IV
  10. Опыт подготовки менеджеров в развитых рыночных странах
  11. Особенности архитектуры

Много лет назад правительство Соединенных Штатов дало задание Гарвардскому и Принстонскому университетам разработать архитектуру компьютера для военно-морской артиллерии. Принстонский университет разработал компьютер, который имел общую память для хранения программ и данных. Такая архитектура компьютеров больше известна как архитектура Фон-Неймана по имени научного руководителя этой разработки. Структура компьютера с Принстонской архитектурой представлена на рисунке 3.1.

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

Рис. 3.1- Структура компьютера с Принстонской архитектурой

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

Рис. 3.2 - Структура компьютера с Гарвардской архитектурой

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

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

Основным преимуществом архитектуры Фон Неймана является то, что она упрощает устройство микропроцессора, так как реализует обращение только к одной общей памяти. Для микропроцессоров самым важным является то, что содержимое ОЗУ (RAM — Random Access Memory) может быть использовано как для хранения данных, так и для хранения программ. В некоторых приложениях программе необходимо иметь доступ к содержимому стека. Все это предоставляет большую гибкость для разработчика программного обеспечения.

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

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

Рис. 3.3 - Выполнение команды mov Асс, Reg в Принстонской архитектуре

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

Рис. 3.4 - Выполнение команды mov Асс, Reg в Гарвардской архитектуре

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

Например, микроконтроллер PIC фирмы Microchip выполняет любую команду, кроме тех, которые модифицируют содержимое программного счетчика, за четыре такта (один цикл). Это упрощает реализацию критических ко времени процедур по сравнению с микроконтроллером Intel 8051, где для выполнения команд может потребоваться от 16 до 64 тактов. Из-за этого часто не удается подсчитать точное время выполнения программы вручную и приходится применять симуляторы или аппаратные эмуляторы.

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

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

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)