Главная Случайная страница


Полезное:

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


Категории:

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






Архитектура микропроцессорных систем





До сих пор мы рассматривали только один тип архитектуры микропроцессорных систем — архитектуру с общей, единой шиной для данных и команд (одношинную, или принстонскую, фон-неймановскую архитектуру). Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 1.15).


Рис. 1.15. Архитектура с общей шиной данных и команд.

Но существует также и альтернативный тип архитектуры микропроцессорной системы — это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 1.16). Обмен процессора с каждым из двух типов памяти происходит по своей шине.

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

Рассмотрим некоторые достоинства и недостатки обоих архитектурных решений.

Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает никаких проблем, главное — чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи.


Рис. 1.16. Архитектура с раздельными шинами данных и команд.

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

В чем же преимущество архитектуры с двумя шинами (гарвардской)? В первую очередь, в быстродействии.

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

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

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

24. Какие основные функциональные блоки содержит процессор?

25. Каково назначение программного счетчика, регистров общего назначения, регистра ука-

зателя стэка и флагового регистра?

26. Какие варианты архитектура микропроцессора возможны в зависимости от расположения

операндов арифметико-логического устройства?

27. Программная модель микропроцессорной системы – совокупность всех доступных программисту регистров и ячеек памяти.

28. В чем особенности фон-Неймановской и Гарвардской архитектур микропроцессорных си-

стем?

29. Программа – это некоторая последовательность команд, реализующая какой-то заданный алгоритм. Команда – это часть программы выполняющая строго определенную операцию. Под командой следует понимать задание на выполнение микропроцессором определенного действия. Система команд МП – это набор функций, определенных для микропроцессора. Наиболее существенными для ознакомления с особенностями системы команд являются три признака: длина команды, функциональный признак и способ адресации. По длине (или по величине занимаемых байтов) команды подразделяют

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

нятся в памяти.

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

 

30. Команда микропроцессора включает в себя: код команды, операнды, метку перехода. Существуют команды без операндов, например – nop.

31. ОПЕРАНД, величина, представляющая собой объект операции, реализуемой ЭВМ в ходе выполнения программы вычислений. Напр., операндами арифметических операций обычно являются числа: при сложении - слагаемые, при умножении - сомножители.

Непосредственная адресация (рис. 3.1) предполагает, что операнд (входной) находится в памяти

непосредственно за кодом команды. Операнд обычно представляет собой константу, которую надо

куда-то переслать, к чему-то прибавить и т.д. Например, команда может состоять в том, чтобы прибавить число 6 к содержимому какого-то внутреннего регистра процессора. Это число 6 будет распо-

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

 

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

Регистровая адресация (рис. 3.3) предполагает, что операнд (входной или выходной) находится во внутреннем регистре процессора. Например, команда может состоять в том, чтобы переслать число из нулевого регистра в первый. Номера обоих регистров (0 и 1) будут определяться кодом команды пересылки.

Косвенно-регистровая (она же косвенная) адресация предполагает, что во внутреннем регистре процессора находится не сам операнд, а его адрес в памяти (рис. 3.4). Например, команда может состоять в том, чтобы очистить ячейку памяти с адресом, находящимся в нулевом регистре. Номер этого регистра (0) будет определяться кодом команды очистки.

32. Регистр сдвига, таймер, триггер, счетчик и так можно продолжать бесконечно.

33. Что такое мнемокод команды?

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

35. Доступ к данным в памяти осуществляется при помощи команд MOVC и MOVX.

MOVCA,@A+DPTR – сложить содержимое аккумулятора и DPTR, найти ячейку памяти программ с адресом, равным полученной сумме, извлечь из неё информацию и записать её в аккумулятор.

MOVXA,@R1 – переслать в аккумулятор байт из внешнего ОЗУ.

стек (Stack) — это часть оперативной памяти, предназначенная для временного хранения Особенность стека по сравнению с другой оперативной памятью — это заданный и неизменяемый способ адресации. При записи любого числа (кода) в стек число записывается по адресу, определяемому как содержимое регистра указателя стека, предварительно уменьшенное (декрементированное) на единицу (или на два, если 16-разрядные слова расположены в памяти по четным адресам). При чтении из стека число читается из адреса, определяемого содержимым указателя стека, после чего это содержимое указателя стека увеличивается (инкрементируется) на единицу (или на два). В результате получается, что число, записанное последним, будет прочитано первым, а число, записанное первым, будет прочитано последним. Такая память называется LIFO или памятью магазинного типа (например, в магазине автомата патрон, установленный последним, будет извлечен первым).

Необходимость такой адресации становится очевидной в случае многократно вложенных подпрограмм. Пусть, например, выполняется основная программа, и из нее вызывается подпрограмма 1. Если нам надо сохранить значения данных и внутренних регистров основной программы на время выполнения подпрограммы, мы перед вызовом подпрограммы сохраним их в стеке (запишем в стек), а после ее окончания извлечем (прочитаем) их из стека. Если же из подпрограммы 1 вызывается подпрограмма 2, то ту же самую операцию мы проделаем с данными и содержимым внутренних регистров подпрограммы 1. Понятно, что внутри подпрограммы 2 крайними в стеке (читаемыми в первую очередь) будут данные из подпрограммы 1, а данные из основной программы будут глубже. При этом в случае чтения из стека автоматически будет соблюдаться нужный порядок читаемой информации. То же самое будет и в случае, когда таких уровней вложения подпрограмм гораздо больше. То есть то, что надо хранить подольше, прячется поглубже, а то, что скоро может потребоваться — с краю.

36. Подпрограмма – это часть кода, которая многократно выполняется с разными параметрами. Команды переходов с дальнейшим возвратом в точку, из которой был произведен переход, применяются для выполнения подпрограмм, то есть вспомогательных программ. Эти команды называются также командами вызова подпрограмм (распространенное название — CALL). Использование подпрограмм позволяет упростить структуру основной программы, сделать ее более логичной, гибкой, легкой для написания и отладки. В то же время надо учитывать, что широкое использование подпрограмм, как правило, увеличивает время выполнения программы.Для обратного возврата в точку вызова подпрограммы (точку перехода) используется специальная команда возврата (RET или RTS). Эта команда извлекает из стека значение адреса команды перехода и записывает его в регистр-счетчик команд.

37. Флаг – триггер, в который записывается признак выполнения операции как арифметической так и логической.

Регистр FLAGS — это регистр состояния процессора (PSW). Из его 16 разрядов используются только девять (рис. 3.11): CF (CarryFlag) — флаг переноса при арифметических операциях, PF (ParityFlag) — флаг четности результата, AF (AuxiliaryFlag) — флаг дополнительного переноса, ZF (ZeroFlag) — флаг нулевого результата, SF (SignFlag) — флаг знака (совпадает со старшим битом результата), TF (TrapFlag) — флаг пошагового режима (используется при отладке), IF (InterruptenableFlag) — флаг разрешения аппаратных прерываний, DF (DirectionFlag) — флаг направления при строковых операциях, OF (OverflowFlag) — флаг переполнения.

38. Для управления внешними устройствами в МП системах используется практически весь объем существующих команд за некоторым исключением. Например широко используются команды операций над битами, команды пересылки, команды передачи управления микроконтроллера.

39,40 Объединение модулей микропроцессорного устройства в единую систему производится посредством единой системы сопряжения, называемой интерфейсом- (от английского interface - сопрягать, согласовывать).

Интерфейс должен обеспечивать

· Простое и быстрое соединение данного устройства с любым другим, имеющим такой же интерфейс;

· Совместную работу устройств без ухудшения их технических характеристик;

· Высокую надежность.

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

Основными элементами интерфейса являются

· Совокупность правил обмена информации (временные диаграммы и диаграммы состояний сигналов интерфейса)

· Аппаратная реализация (физическая реализация) (контроллеры)

· Программное обеспечение интерфейса (драйверы)

Date: 2015-07-27; view: 1142; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию