Разработка микропроцессорной системы

Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.12.2012
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

Микропроцессор (МП) представляет собой функционально завершенное универсальное программно-управляемое устройство цифровой обработки данных, выполненное в виде одной или нескольких БИС или СБИС.

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

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

В данном проекте рассматривается процесс проектирования микропроцессорной системы на базе микропроцессора Itanium2.

1. Техническое задание и его анализ

Разработать МПС с датчиками и органами управления устройством ввода-вывода (принтер) на базе микропроцессора Itanium 2.

Таблица 1 - Параметры используемых датчиков и УВВ

№ варианта

Количество датчиков

Частота

Внешнее устройство

7

11

100 КГц

Принтер

14

400 КГц

12

1 МГц

9

1,5 МГц

Анализируя поставленные задачи, можно сделать следующие выводы:

1. В проектируемой МПС требуется организовать обмен данными с внешним устройством вывода, в качестве которого используется принтер.

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

2. Основные этапы проектирования МПС

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

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

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

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

3. Выбор элементной базы МПК. Выбор элементной базы является одним из главных вопросов проектирования МПС, так как она определяет основные тактико-технические характеристики проектируемой МПС.

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

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

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

7. Разработка документации и руководств пользователя.

3. Выбор микропроцессора и разработка архитектуры МПС

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

Рисунок 1 - Структура МПС

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

Основные действия микропроцессора:

1. Управляет выполнением команд;

2. Осуществляет обмен информацией с внешними устройствами;

3. Управляет внешними устройствами в комплексе.

Архитектура типового микропроцессора представлена на рисунке 2

Рисунок 2 - Архитектура типового микропроцессора

Основные узлы микропроцессора:

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

2. Устройство управления координирует взаимодействие различных частей компьютера. Выполняет следующие основные функции.

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

4. Интерфейсная система микропроцессора предназначена для связи с другими устройствами компьютера. Включает в себя:

- внутренний интерфейс микропроцессора;

- буферные запоминающие регистры;

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

Все микропроцессоры можно разделить на группы:

· Микропроцессоры типа CISC (Complex Instruction Set Computer) с полным набором системы команд. Эту архитектуру характеризует большое количество сложных инструкций, и как следствие сложное устройство управления.

· Микропроцессоры типа RISC (Reduced Instruction Set Computer) с усеченным набором системы команд. В этой архитектуре значительно более простое устройство управления. Большинство инструкций RISC-процессора содержат одинаково малое число операций (1, иногда 2-3), а сами командные слова в подавляющем числе случаев имеют одинаковую ширину.

· Микропроцессор с явным параллелизмом EPIC (Explicitly Parallel Instruction Computer). Отличается от прочих прежде всего тем, что последовательность и параллельность исполнения операций и их распределение по функциональным устройствам явно определены программой. Такие процессоры могут обладать большим количеством функциональных устройств без особого усложнения устройства управления и потерь эффективности. Обычно такие процессоры используют широкое командное слово, состоящее из нескольких слогов, определяющих поведение каждого функционального устройства в течение такта.

· Микропроцессор с минимальным набором инструкций MISC (Minimal Instruction Set Computer). Эта архитектура определяется прежде всего свехмалым количеством инструкций (несколько десятков. Такой подход даёт возможность очень плотно упаковать код, выделив под одну инструкцию от 5 до 8 бит. Промежуточные данные в таком процессоре обычно хранятся на внутреннем стеке, и операции производятся над значениям на вершине стека.

· Микропроцессор с изменяемым набором инструкций WISC (Writable Instruction Set Computer). Архитектура, позволяющая перепрограммировать себя, изменяя набор инструкций, подстраивая его под решаемую задачу.

Важнейшими характеристиками микропроцессора являются:

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

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

Для проектирования МПС, согласно варианту задания, был выбран микропроцессор Itanium 2.

Семейство процессоров Itanium разрабатывалось совместно Intel и HP. Впервые представлен 8 июля 2002 года. В ноябре 2007 года Intel переименовала эту серию процессоров обратно в Itanium. В отличие от первого Itanium, процессор Intel Itanium 2 поддержали сразу такие крупные компании как HP, NEC, Hitachi, Bull. Следует отметить обратную совместимость процессоров Itanium с процессорами Intel x86 и HP PA-RISC.

В процессорах Itanium 2 применяются 64-разрядные инструкции непосредственно на аппаратном уровне, чего не было на процессорах Itanium.

Процессоры Intel Itanium 2 совместимы на уровне двоичного кода c существующим программным обеспечением, созданным для процессора Intel Itanium, что обеспечивает преемственность разработок системного и прикладного ПО.

Микроархитектура процессора Intel Itanium 2 обеспечивает быстрый доступ к интегрированной кэш-памяти, высокую пропускную способность при обмене информацией между центральным процессором и системной памятью и обладает значительными вычислительными ресурсами, ускоряющими выполнение команд и повышающими общую производительность системы. В архитектуре Intel Itanium 2 использована 124-разрядная шина (ранее -- 64 бит), обеспечивающая передачу данных на частоте 400 МГц (ранее -- 256 МГц), что обеспечило втрое большую пропускную способность шины процессора, чем в случае предшественника.

Выпущены несколько моделей процессора Intel Itanium 2 вариантов MP (Multi-Processor) и DP (DualProcessor) с тактовыми частотами 1,5, 1,4, 1,3, 1,0 ГГц. Трехуровневая кэш-память данных моделей характеризуется следующими значениями информационного объема: L1 -- 32 Кбайт (команды и данные), L2 -- 256 Кбайт и L3, соответственно, -- 6, 4, 3, 1,5 Мбайт. При этом модель с тактовой частотой 1,4 ГГц существует в двух вариантах объема кэш-памяти L3: 4 и 1,5 Мбайт.

Верхняя модель процессора Intel Itanium 2 с объемом кэш-памяти третьего уровня 6 Мбайт (ядро Madison, техпроцесс 0,13 мкм) аппаратно и программно совместима с первой версией процессора Intel Itanium 2 (ядро McKinley, 0,18 мкм). Это обеспечивает защиту инвестиций OEM-производителей и конечных пользователей. Кроме того, эта модель совместима на уровне двоичного кода с существующими программами для архитектуры Intel Itanium (Merced, 0,18 мкм) и может обеспечить повышение производительности до 30%-50% и более по сравнению с предшественником.

3.1 Общее устройство микропроцессора

Рисунок 3 - Внутренняя архитектура Itanium 2

Конвейер в Itanium 2 состоит из 8 этапов, способен за один такт обрабатывать до 6 инструкций и реализует концепцию EPIC (Explicitly Parallel Instruction Computing - явное параллельное выполнение команд).

Основными особенностями EPIC являются:

- большое количество регистров;

- масштабируемость по количеству функциональных устройств (возможность увеличения числа функциональных устройств в последующих моделях микропроцессора);

- явное задание параллелизма в машинном коде;

- предикатное исполнение инструкций;

- упреждающая загрузка данных по предположению.

Основные функциональные компоненты МП:

· 6 целочисленных АЛУ;

· 6 мультимедийных АЛУ;

· 2 вещественные арифметические устройства увеличенной точности;

· 2 дополнительных вещественных арифметических устройств обычной точности;

· 2 устройства чтения;

· 2 устройства записи;

· 3 устройства ветвления.

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

Количество соответствующих модулей оптимально подобрано с учетом потребности в вычислительных ресурсах приложений, характерных для корпоративных СУБД, сложных инженерных расчетов и др. При этом команды практически не «задерживаются» в ожидании, пока освободится нужный исполняющий модуль. Ширина системной шины, по которой осуществляется взаимодействие нескольких процессоров друг с другом и доступ к памяти, увеличена до 128 бит, что также кардинально сказывается на скорости работы.

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

Регистры Intel Itanium 2:

• 128 регистров общего назначения;

• 128 регистров с плавающей запятой;

• 64 регистра предикатов;

• 8 регистров перехода.

Кэш - быстродействующая внутренняя память процессора - используется для динамического хранения кода и данных, задействованных в вычислениях в текущий момент. Загрузка часто используемых данных и фрагментов кода в кэш позволяет существенно поднять производительность. Доступ к кэшу в несколько раз быстрее, чем к «медленной» оперативной памяти, и составляет 48 Гб/с.

Процессор Intel Itanium 2 с объемом кэш-памяти 3 уровня 9 МБ оптимизирован для выполнения требовательных корпоративных и научно-технических приложений. Платформы на базе процессоров Intel Itanium 2 позволяют компаниям и организациям получить максимальную отдачу от своих инвестиций, обеспечивая передовые показатели производительности при снижении затрат и предоставляя более широкий выбор конфигураций, по сравнению с закрытыми RISC-технологиями. Процессор Intel Itanium 2 с кэш-памятью объемом 9 МБ предназначен для работы с ответственными приложениями корпоративной среды, включающих обработку больших баз данных, высокопроизводительные вычисления и анализ значительных объемов информации. Дополняющие линейку выпускаемой продукции процессоры Intel Itanium 2 с тактовой частотой 1,60 ГГц и кэш-памятью 3 уровня объемом 3 МБ и процессоры Intel Itanium 2 с пониженным энергопотреблением оптимизированы для двухпроцессорных систем, используемых для научно-технических вычислений и выполнения корпоративных приложений клиентского уровня.

3.2 Структурные особенности МП Itanium 2

Архитектура IA-64, лежащая в основе процессоров Itanium и Itanium 2, разрабатывалась совместно компаниями Intel и Hewlett Packard. Основана на VLIWили, в терминах Intel, EPIC (сокр. от англ. Explicity Parallel Instruction Computing, вычисления с явной параллельностью инструкций).

Несовместима с архитектурой x86. Изначально предлагалась и в качестве платформы для домашних компьютеров, но после выпуска фирмой AMD 64-битной архитектуры AMD 64, сохранившей совместимость с x86, актуальность использования платформы IA-64 где-либо, кроме серверов, пропала, несмотря на то, что в конце 2001 года для IA-64 была выпущена специальная версия Windows XP 64-bit for IA-64.

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

Несомненно, что между технологиями EPIC и VLIW (Very Long Instruction Word) много общего. VLIW обычно рассматривают как статическую суперскалярную архитектуру. Имеется в виду, что распараллеливание кода происходит на этапе компиляции, а не динамически во время исполнения. Иными словами, в машинном коде VLIW присутствует явный параллелизм. В свою очередь, к основным особенностям EPIC относят:

• большое количество регистров;

• масштабируемость архитектуры до большого количества исполнительных функциональных устройств;

• параллелизм в машинном коде;

• предсказание ветвлений (предикацию);

• спекулятивное выполнение (загрузку по предположению).

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

В архитектуре Itanium насчитывается по 128 64-разрядных целочисленных регистров общего назначения и 80-разрядных регистров вещественной арифметики, а также 64 одноразрядных предикатных регистра. Все они доступны для программирования; кроме того, имеется множество недоступных внутренних служебных регистров, используемых самим процессором. 64 одноразрядных регистра используются для организации логики предсказания ветвления и выполнения команд в порядке, отличном от последовательного.

Для достижения явного параллелизма в формат команд IA-64 введены дополнительные разряды маски, которые явно указывают на зависимости между командами. До сих пор задача определения таких зависимостей полностью ложилась на аппаратуру процессора. Здесь же вводится понятие групп команд. Все они независимы, и их следует выдавать на выполнение в разные исполнительные устройства. Разряды маски указывают на зависимости не только внутри нескольких команд, но и между группами команд. По три команды IA-64 объединяются в так называемую связку, имеющую емкость 128 разрядов. Связка содержит три команды и шаблон, в котором указано, какие есть зависимости между командами (например, можно ли с первой командой запустить параллельно вторую или же она должна выполниться только после первой и т. п.).

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

Другое дело Itanium. Если в исходной программе встречается условное ветвление, то команды из разных ветвей помечаются разными предикатными регистрами (команды имеют для этого предикатные поля); далее они выполняются совместно, но их результаты не записываются, пока значения предикатных регистров не определены. Когда, наконец, вычисляется условие ветвления, предикатный регистр, соответствующий правильной ветви, устанавливается в 1, а другой - в 0. Перед записью результатов процессор проверяет предикатное поле и записывает результаты только тех команд, предикатное поле которых содержит предикатный разряд, установленный в единицу.

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

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

Таблица 2 Основные технические характеристики процессора Itanium 2

Характеристики

Процессор Intel® Itanium® 2 с кэш-памятью 3 уровня объемом 9 МБ для многопроцессорных серверов и рабочих станций

Процессор Intel® Itanium® 2 с тактовой частотой 1,60 ГГц и кэш-памятью 3 уровня объемом 3 МБ, оптимизирован-ный для двухпроцессорных серверов и рабочих станций

Процессор Intel® Itanium® 2 с пониженным энергопотребле-нием, оптимизированный для двухпроцессорных серверов с высокой плотностью монтажа и рабочих станций

Тактовые частоты

1,60 ГГц, 1,50 ГГц, и 1,40 ГГц

1,60 ГГЦ

1,3 ГГЦ

Кэш-память

Третий уровень: встроенная, объемом

9 МБ, 6 МБ и 4 МБ

Второй уровень: объем 256 КБ

Первый уровень: объем 32 КБ (команды и данные)

Третий уровень: встроенная, объемом 3 МБ

Второй уровень: объем 256 КБ

Первый уровень: объем 32 КБ (команды и данные)

Третий уровень: встроенная, объемом 3 МБ

Второй уровень: объем 256 КБ

Первый уровень: объем 32 КБ (команды и данные)

Характеристики

На основе архитектуры EPIC Усовершенствованная архитектура машинной проверки (MCA) с расширенными возможностями кода коррекции ошибок (ЕСС)

Поддержка операционных систем: HP-UX*, Linux*, Windows* Server 2003

На основе архитектуры EPIC Оптимизация для двухпроцессорных систем Совместимость на уровне двоичного кода с существующим ПО для процессора Itanium® Совместимость по разъему и системной шине с предыдущей версией процессора Itanium® 2 Поддержка операционных систем: HP-UX*, Linux*, Windows* Server 2003

На основе архитектуры EPIC Оптимизация для двухпроцессорных систем Максимальная потребляемая мощность: 62 Вт Совместимость на уровне двоичного кода с существующим ПО для процессора Itanium® Совместимость по разъему и системной шине с предыдущей версией процессора Itanium® 2 Усовершенствованная архитектура машинной проверки (MCA) с расширенными возможностями кода коррекции ошибок (ЕСС)

Поддержка операционных систем: HP-UX*, Linux*, Windows* Server 2003

Системная шина

400 МГц, 128-разрядная Пропускная способность: 6,4 ГБ/с

533-МГц, 128-разрядная 400-МГц, 128-разрядная Пропускная способность: 8,5 ГБ/с Пропускная способность: 6,4 ГБ/с

400-МГц, 128-разрядная Пропускная способность: 6,4 ГБ/с

Набор микросхем

Набор микросхем Intel® Е8870 и наборы микросхем от OEM-поставщиков

Набор микросхем Intel® Е8870 и наборы микросхем от OEM-поставщиков

Набор микросхем Intel® Е8870 и наборы микросхем от ОЕМ-поставщиков

3.3 Сигналы управления МП Itanium 2

Сигналы управления процессором Itanium 2 представлены в таблицах 3 и 4.

Таблица 3 - Сигналы процессора Itanium 2

Группы сигналов

Сигналы

AGTL+ Input Signals

BPRI#, BR[3:1]#, DEFER#, GSEQ#, ID[9:0]#, IDS#, RESET#, RS[2:0]#,

RSP#, TRDY#

AGTL+ I/O Signals

A[49:3]#, ADS#, AP[1:0]#, BERR#, BINIT#, BNR#, BPM[5:0]#, BR0#,

D[127:0]#, DBSY#, DEP[15:0]#, DRDY#, HIT#, HITM#, LOCK#, REQ[5:0]#, RP#, SBSY#, STBN[7:0]#, STBP[7:0]#, TND#

AGTL+ Output Signals

FERR#, THRMTRIP#, DBSY[1:0]#, DRDY[1:0]#, SBSY[1:0]#

Special AGTL+ Asynchronous

Interrupt Input Signals

A20M#, IGNNE#, INIT#, LINT[1,0], PMI#

Power Good Signal

PWRGOOD

HSTL Clock Signals

BCLKn, BCLKp

TAP Input Signals

TCK, TDI, TMS, TRST#

TAP Output Signals

TDO

System Management Signals

3.3V, SMA[2:0], SMSC, SMSD, SMWP, THRMALERT#

Power Signals

GND, VCTERM

LVTTL Power Pod Signals

CPUPRES#, OUTEN, PPODGD#

Прочие

TERMA, TERMB, TUNER1, TUNER2, VCCMON, VSSMON

Таблица 4 - Сигналы процессора Itanium 2 и их описание

Сигнал

Описание

A[49:3]# - Address

50-битный физический адрес

A20M# - 20th address line mask

Данный сигнал игнорируется процессорной системой Itanium 2

ADS# - Address strobe

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

AP[1:0]# - Address parity

Биты паритета адреса.

ASZ[1:0]# (I/O)

Сигналы памяти адресного пространства размерности сигналов, инициализируются инициатором в течение первой фазы синхронизации на запрос REQA [4:3] #.

ATTR[3:0]# (I/O)

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

BCLKp/BCLKn

Общая синхронизация шины.

BE[7:0]# (I/O) - ByteEnable

Cигналы, указывающие на используемые байты шины данных в данном цикле шины

BERR# (I/O)

Сигнал ошибки на шине

BINIT# - Bus initialization

Инициализация шины, перевод всех сигналов в начальное состояние.

BNR# - Block next request

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

BPM[5:0]# - Break point / Performance monitoring

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

BPRI# - Bus request priority

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

BR[0]# (I/O) and BR[3:1]# (I)

Запрос на владение шиной.

BREQ[3:0]# (I/O)

Запрос шины.

CCL# (I/O)

Сигнал очистки КЭШа.

CPUPRES# (O)

Сигнал для обнаружения присутствия процессора в socket.

D[127:0]# - Data bus

Шина данных.

D/C# (I/O)

Сигнал данные/код.

DBSY# - Data bus busy

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

DBSY_C1# (O)

Копии сигнала DBSY#

DBSY_C2# (O)

DEFER# - Deferred

Сигнал указывающий процессору что исходный порядок транзакций не гарантируется. В ряде чипсетов сигнал не используется.

DEN# (I/O)

Сигнал указывает, что транзакция может быть отложена до ответа агента.

DEP[15:0]# (I/O)

Сигналы обеспечивают дополнительную защиту ECC (error-correcting code, код коррекции ошибок) для шины данных.

DHIT# (I)

Сигнал возвращает окончательный статус КЭШа.

DPS# (I/O) - Deferred Phase Enable

Сигнализирует, что запрашивающий агент поддерживает завершение транзакции с использованием Deferred Phase.

DRDY# - Data ready

Устанавливается источником данных для указания на достоверность данных на шине.

DRDY_C1# (O)

Копии сигнала DRDY.

DRDY_C2# (O)

DSZ[1:0]# (I/O) - Data Size

Сигнал размера данных. Для процессоров Itanium 2 всегда

DSZ # = 01.

EXF[4:0]# (I/O) - Extended Function

Сигналы указывают любое специальное функциональное

требование, связанное с операцией в зависимости от режима запроса или возможностями.

FCL# (I/O) - Flush Cache Line

Сигналы указывающие, что память транзакции инициирует глобальные Flush Cache (FC) инструкции.

FERR# - FPU error

Ошибка FPU

GSEQ# (I) - Assertion of the Guaranteed Sequentiality

Сигнал показывает, что платформа нарантирует завершение транзакции без повторов при сохранении секвенциальности.

HIT# - Cache hit

Указывает на кэш-попадание для текущего адреса, формируется как результат цикла слежения

HITM# - Cache hit “Modified”

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

ID[9:0]# (I)

Сигналы приводят в действие отсрочку агента.

IDS# (I)

Сигнал строба для сигнала ID[9:0]#.

IGNNE# - Ignore numeric errors

Игнорировать ошибки сопроцессора, исключения не вырабатываются.

INIT# - Initialization

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

INT (I)

Сигнал запроса прерывания (прерывание внешнее, маскируемое).

LEN[2:0]# (I/O) - Data Length

Сигнал длины данных.

LINT[1:0] - Local Interrupt

Шина APIC, если APIC запрещен - сигналы превращаются в стандартные INTR и NMI.

LOCK#

Блокировка шины на время транзакции, сигнал устанавливается на время выполнения команды вызывающей транзакцию с префиксом LOCK.

NMI (I)

Входной сигнал NMI (non-maskable interrupt) предназначен для запроса немаскируемого прерывания, как и на предыдущих версиях микропроцессоров.

OWN# (I/O) - Guaranteed Cache Line Ownership

Гарантированное право собственности на линию КЭШа.

PMI# (I) - Platform Management Interrupt

Сигнал устанавливает высокий приоритет прерывания процессора.

PWRGOOD (I) - Power Good

Сигнал энергии.

REQ[5:0]# - request

Линии по которым абоненты шины определяют тип активной транзакции (memory reference, I/O, write-back, burst R/W и т.д.), вводится владельцем шины.

RESET# (I)

Сигнал сброса.

RP# (I/O) - Request Parity

Сигнал запроса паритета.

RS[2:0]# - Response status

Состояние ответчика, линия управляется устройством ответственным за завершение транзакции.

RSP# - Response status parity

Паритет для линий RS[2:0]#

SBSY# (I/O) - Strobe Bus Busy

Сигнал посылается инициатором, когда он владеет стробом шины.

SBSY_C1# (O)

Копии сигнала SBSY# (I/O)

SBSY_C2# (O)

SPLCK# (I/O) - Split Lock

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

STBn[7:0]# and STBp[7:0]# (I/O)

Используются для передачи данных на двух скоростях вместо BCLKp.

TCK (I)

Входной сигнал, поступающий на вывод ТСК (test clock), является сигналом синхронизации при тестировании по стандарту IEEE 1149.1 Boundary Scan или, иначе, интерфейсу JTAG (joint test automation group).

TDI (I)

Входной вывод TDI (test data input) используется для подачи на него входных данных, синхронизируемых сигналом ТСК, при тестировании микропроцессора по интерфейсу JTAG.

TDO (O)

Выходной вывод TDO (test data output) используется для получения тестовых данных и команд интерфейса JTAG, выдвигающихся из микропроцессора по синхронизирующему сигналу ТСК.

THRMTRIP# (O) - Thermal Trip

Сигнал защищает процессор от перегрева с использованием внутреннего датчика температуры.

THRMALERT# (O)

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

TMS (I)

Входной сигнал, поступающий на вывод TMS (test mode select) предназначен для выбора режима тестирования JTAG.

TND# (I/O) - TLB Purge Not Done

Сигнал утверждает отложенное завершение TLB Purge инструкций.

TRDY# - Target unit ready

Сигнал, указывающий на готовность целевого устройства.

TRST# (I)

Входной сигнал, поступающий на одноименный вывод TRST (test reset), предназначен для сброса логики тестового порта ТАР (test access port).

WSNP# (I/O) - Write Snoop

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

4. Разработка структуры МПС

В данном курсовом проекте используются 46 датчиков:

· 11 с частотой 100 КГц;

· 14 с частотой 400 КГц;

· 12 с частотой 1 МГц;

· 9 с частотой 1,5 МГц.

Все датчики можно разбить на 4 класса. Каждому классу будет соответствовать свой класс однотипных адаптеров. Структура МПС в этом случае имеет вид, представленный на рисунке 4.

Рисунок 4 -- Структура МПС

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

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

4.1 Выбор элементной базы памяти

В качестве элементной базы памяти была выбрана DDR200 SDRAM.

Одной из основных причин выгодности использования двухканальной DDR200 SDRAM в паре с Itanium 2 с 400-мегагерцовой шиной является соответствие пропускных способностей. 128-битная шина Itanium 2, работающая с частотой 400 МГц, обеспечивает пропускную способность 6,4 Гбайта в секунду. Два канала DDR200 SDRAM дают в сумме такую же пропускную способность. Именно поэтому можно утверждать, что двухканальная DDR200 является оптимальной подсистемой памяти для новых Itanium 2 с 400-мегагерцовой шиной.

DDR SDRAM (от англ. Double Data Rate Synchronous Dynamic Random Access Memory -- синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных) -- тип компьютерной памяти используемой в вычислительной технике в качестве оперативной и видеопамяти. Пришла на смену памяти типа SDRAM.

При использовании DDR SDRAM достигается удвоенная скорость работы, нежели в SDRAM, за счёт считывания команд и данных не только по фронту, как в SDRAM, но и по спаду тактового сигнала. За счёт этого удваивается скорость передачи данных без увеличения частоты тактового сигнала шины памяти. Таким образом, при работе DDR на частоте 100 МГц мы получим эффективную частоту 200 МГц (при сравнении с аналогом SDR SDRAM).

Ширина шины памяти составляет 64 бита, то есть по шине за один такт одновременно передаётся 8 байт. В результате можно получить следующую формулу для расчёта максимальной скорости передачи для заданного типа памяти: тактовая частота шины памяти x2 (передача данных дважды за такт) x8 (число байтов передающихся за один такт). Например, чтобы обеспечить передачу данных дважды за такт, используется специальная архитектура «2n Prefetch». Внутренняя шина данных имеет ширину в два раза больше внешней. При передаче данных сначала передаётся первая половина шины данных по фронту тактового сигнала, а затем вторая половина шины данных по спаду.

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

5. Проектирование подсистемы памяти на базе Itanium 2

5.1 Общие сведения

64-х разрядные МП поддерживают обработку и передачу данных в трех вариантах: 8-, 16-, 32-разрядные.

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

5.2 Структура 64-битной подсистемы памяти

Шина Itanium 2 ориентирована на достижение максимальной производительности. Шина данных стала 128-битовой для повышения производительности обмена с памятью. Возможность динамического управления разрядностью шины изъята, согласование по разрядности с интерфейсными шинами возложено на микросхемы чипсета.

Выборка байта банка осуществляется при помощи сигналов #BE0 -BE7.

При этом 64-х битное содержание 8-ми битной секции S0-S7, подключенной к шине данных D127-D0 через линии D15-D0, D31-D16, D47-D32, D63-D48, D79-D64, D95-D80, D111-D96, D127-D112 показано соответственно на рисунке 5.

Рисунок 5 -- Структура 64-х битной подсистемы памяти емкостью 16 Мбайт

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

Рисунок 6 -- Представление данных в подпрограмме памяти-64

5.3 Повышение быстродействия памяти

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

1. Страничная организация или странично-столбцевая организация памяти.

2. Расслоение памяти (интерливинг).

3. Одновременное использование 1-го и 2-го метода в определенном сочетании.

4. Кэширование памяти.

5. Многоуровневое кэширование.

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

микропроцессор интерфейс itanium

Рисунок 7 -- Временные диаграммы для странично-столбцевой организации памяти

5.5 Расчёт информативности и необходимых объёмов ЗУ

Информативность определяется по формуле:

где Fi - частота i-го датчика, Ni - количество датчиков i-го типа, 64 - разрядность шины данных для процессора Itanium 2.

Отсюда:

I = (11*100000 + 14*400000 + 12*1000000 + 9*1500000 ) * 64 = 20608* 105 (бит) = 246 (Мбайт).

Тогда карта памяти будет иметь вид

Рисунок 8 - Карта памяти

Определим число старших разрядов.

Для ПЗУ2 = 4 Кб = 212 нужны адреса А11-А0 - адрес байта;

Для ОЗУ1 = 256 Мб = 228 нужны адреса А27-А0 - адрес байта;

Для ОЗУ2 = 1 Мб = 220 нужны адреса А19-А0 - адрес байта;

Для ПЗУ1 = 2 Кб = 211 нужны адреса А10-А0 - адрес байта;

Эти данные необходимы для распределения адресов ОЗУ и ПЗУ, которые сводятся в таблицу:

Таблица 5 - Данные, необходимые для распределения адресов ОЗУ и ПЗУ

На основании данной таблицы переходим к выбору селекции (частичной или полной).

5.6 Селекция адресов памяти

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

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

Частичная селекция осуществляется 2-мя разрядами 29 и 28, а для полной селекции модулей памяти используются все биты адреса А49-А11, поэтому реализуем частичную селекцию на базе И-НЕ (NAND), тогда принципиальная схема с учетом таблицы будет иметь вид (рисунок 9).

Рисунок 9 - Схема частичной селекции адреса

6. Проектирование подсистемы ввода/вывода

6.1 Особенности интерфейса микропроцессорных систем

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

· модемы;

· принтеры;

· датчики;

· дисплеи;

· устройства управления и др.

Для подключения периферийных устройств к МПС используются специализированые и универсальные устройства ввода/вывода (АЦП, ЦАП, специальные пульты управления, индикаторы и преобразователи различных форм информации). В качестве специализированных устройств, как правило, используются контроллеры и интерфейсы.

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

Рисунок 10 - Общая схема подключения УВВ к МПС

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

Для управления аппаратными средствами существуют программные средства (драйверы). Все внешние устройства комплектуются как аппаратными средствами, так и драйверами.

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

В нашем случае для сопряжения внешних устройств и памяти с процессором будем использовать набор микросхем Intel® Е8870. К основным характеристикам чипсета Intel 8870 относятся:

· 400 МГц, 128-разрядная системная шина, что обеспечивает высокую скорость передачи данных - до 6,4 Гбайт/с,

· Очень большой объем оперативной памяти - концентратор DMH предоставляет в сумме 32 разъема для установки памяти на каждый процессорный узел, максимальный объем - 128 Гбайт (с 4 DDR Memory Hubs),

· Два высокопропускных масштабируемых порта,

· Четыре соединения интерфейса Hub Interface 2.0 с пропускной способностью 1 Гбайт/с на каждое соединение, что позволяет использовать до четырех 64-разрядных контроллера PCI/PCI-X (P64H2) с интерфейсом HI 2.0,

· Механизм предзагрузки данных и встроенная кэш-память системы ввода/вывода,

· Поддержка высокопроизводительного моста PCI/PCI-X - поддержка всех устройств ввода/вывода PCI/PCI-X I/O, начиная от устаревших PCI и заканчивая высокопроизводительными PCI-X на частоте 133 МГц (каждый контроллер P64H2 содержит два независимых 64-разрядных канала PCI-X с максимальной частотой 133 МГц).

Кроме того, комбинация таких характеристик, как модули "hot-plug" для процессора и памяти, обнаружение и коррекция ошибок, восстановление сбоев устройств памяти (MDFR), резервные пути ввода/вывода и ведение журнала записи ошибок, предоставляет более надежную платформу, уменьшает время простоев для ремонта и обеспечивает целостность передачи данных по всем соединениям и шинам.

Набор серверной логики E8870 представляет собой модульную многоуровневую архитектуру, которая может состоять из следующих компонентов: Intel E8870IO (SIOH), Intel E8870 (SNC), Intel E8870DH (DMH), Intel 82870P2 PCI/PCI-X (P64H2), Intel 82801DB (ICH4).

E8870 - Scalable Node Controller (SNC) - основной компонент набора, отвечающийза формирование процессорных шин и связь со всеми остальными модулями чипсета. Процессорная шина имеет ширину 128-bit при частоте 400 MHz, что позволяет, учитывая ее двунаправленность, оценивать пиковую теоретическую пропускную способность весьма внушительной цифрой - 6,4 GBps.

E8870DH - DDR Memory Hub (DMH) -- четырехканальный (256-битный) контроллерпамяти, поддерживающий только регистровые модули DDR200 с коррекцией ошибок (на практике это означает, что необходимое для работоспособности системы количество модулей памяти кратно двум).

Пропускная способность соответственно составляет все те же 6,4 GBps.

E8870IO Server Input/Output Hub (SIOH) - главный чип, отвечающий за взаимодействие четырех интерфейсных хабов с основным контроллером SNC с помощью портов Scalability Ports (SP). Теоретическая пропускная способность этого соединения также составляет 6,4 GBps. Кроме того, посредством данного модуля осуществляется взаимодействие с хабом вспомогательных интерфейсов ICH4, хорошо знакомым нам по десктопным решениям. Сделано это для получения возможности подключения к системе обычных IDE/PCI-устройств и различной периферии с помощью шины USB.

82870P2 - 64-bit PCI/PCI-X Controller Hub 2 (P64H2). Число таких контроллеров может доходить до четырех. Каждый из них содержит две независимые 64-битные шины PCI-X с тактовой частотой вплоть до 133 MHz. В случае применения четырех P64H2 теоретически в систему допустимо установить восемь PCI-X устройств, каждому из которых будет выделена полоса пропускания, равная 1066 MBps. P64H2 соединяется с E8870IO шиной с пропускной способностью 1 GBps.

Рисунок 11 - Типичная структура сервера, созданного на основе чипсета Intel 8870

Принтер подключается через параллельный порт LPT к контролеру ввода/вывода (англ. Super I/O или SIO). Сам контроллер подключается к E8870IO Server Input/Output Hub (SIOH) через интерфейс LPC. Типичное подключение контроллера ввода/вывода показано на рисунке 12.

Рисунок 12 - Типичное подключение устройств к шине LPC

В качестве порта LTP используется 25-контактный разъём DB-25 (IEEE 1284-A) на материнской плате (рисунок 13).

Рисунок 16 - 25-контактный разъём DB-25

На периферийных устройствах обычно используется 36-контактный разъём Centronics (IEEE 1284-B) (рисунок 14), поэтому кабели для подключения периферийных устройств по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель).

Рисунок 14 - Кабельный 36-контактный разъём Centronics для подключения внешнего устройства.

Схема подключения принтера показана на рисунке 15.

Рисунок 15 - Схема подключения принтера

В качестве периферийного устройства (принтера) был выбран принтер Cannon LBP 1760. Блок схема которого представлена на рисунке 16.

Рисунок 16 - Блок схема принтера Cannon LBP 1760

С точки зрения программиста интерфейсная БИС, а следовательно и контроллер УВВ, представляет собой набор 8-ми, 16-ти и 32-х битных регистров ВВ, т.е. портов ВВ. Через эти порты УВВ контактирует с МП и памятью. По своему функциональному назначению в каждой интерфейсной БИС выделяют 3 вида портов:

· порты для буферирования данных;

· порты для хранения слов состояния УВВ, которые может проверять МП в соответствии с программой работы данного устройства;

· порты для хранения управляющих слов, поступающих с УВВ на МП.

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

Упрощённая (без указания неиспользуемых выводов) электрическая принципиальная схема подключения компонентов МПС приведена в приложении.

Контролер ввода/вывода.

Super I/O (дословно: контроллер ввода/вывода; в технической литературе обозначают как «контроллер I/O») это название было дано классу контроллеров, которые начали использоваться на материнских платах персональных компьютеров позже 1980 года. Контроллер I/O объединяет интерфейсы различных низкочастотных устройств. Как правило, включает в себя следующие функции:

§ контроллер дисковода флоппи;

§ параллельный порт (LPT) (обычно используется для принтеров);

§ один или более последовательных (COM) портов;

§ интерфейс мыши;

§ интерфейс клавиатуры.

Контроллер I/O также может включать в себя и другие интерфейсы, такие как игровой (MIDI или джойстик) или инфракрасный порты. Благодаря сочетанию многих функций в одной микросхеме, уменьшилось число контроллеров на материнской плате, и таким образом, уменьшилась и её стоимость.

Изначально контроллеры I/O связывались с процессором (CPU) через ISA шину. Впоследствии вместо ISA шины стала использоваться шина PCI, но часто одной из причин включения ISA шины в материнскую плату был контроллер I/O. Современные контроллеры I/O для связи с CPU используют шину LPC (Low Pin Count) (рисунок 17) вместо шины ISA. Интерфейс шины LPC предоставляет южный мост материнской платы.

Рисунок 17 - схема интерфейса LPC

6.2 Селекция портов ввода/вывода

Сигналы селекции портов или интерфейсных БИС могут осуществляться несколькими способами:

· С помощью селектора адреса;

· С помощью дешифратора;

· Селекция портов или интерфейсных БИС, содержащих встроенный дешифратор;

6.3 Стробируемый вывод данных

Структура стробируемого ввода представлена на рисунке 18.

Рисунок 18 - Адаптер стробируемого вывода

МП читает состояние по линии D7. Если =1 установлен перед началом обмена, то МП с помощью команды OUT передает из МП данные в буферный регистр. При этом сигнал #Зп ВУ сбросит в 0. Сигнал =0 как сигнал «подтверждения записи» передается в УВВ. Получив его, УВВ считывает данные с буферного регистра во внутренние регистры УВВ. При этом «строб записи» устанавливает в 1, которая сообщает МП, что он может передавать следующую порцию данных.

7. Практическая часть

В качестве проверки работы МПС разработаем программу на ассемблере, которая выполняет распечатку на принтере введённой строки.

.MODEL SMALL

.STACK 100h

.DATA

MAXIMUM_STRING_LENGTH EQU 1000

StringToR DB MAXIMUM_STRING_LENGTH DUP (?)

RString DB MAXIMUM_STRING_LENGTH DUP (?)

.CODE

mov ax,@Data

mov ds,ax

mov ah,3fh ; функция чтения ввода

mov bx,0 ; описатель стандартного ввода

mov cx,MAXIMUM_STRING_LENGTH ; считать до максимального числа символов

mov dx,OFFSET StringToR ; сохранить строку

int 21h получить строку

and ax,ax ; были считаны символы?

jz Done ; нет, конец

mov cx,ax ; поместить длину строки в регистр СХ, который можно

; использовать, как счетчик

push cx ; сохранить в стеке длину

; строки

mov bx,OFFSET StringToR

mov si,OFFSET RString

add si,cx

dec si ; указывает на конец буфера строки

RLoop:

mov al,[bx] ; получить следующий символ

mov [si],al ; сохранить символы в обратном порядке

inc bx ; указатель на следующий символ

dec si ; указатель на предыдущую ячейку buffer

loop RLoop ; переместить следующий символ, если он имеется

pop cx ; извлечь длину строки

mov ax,40h ; функция записи

mov bx,4 ; описатель принтера

mov dx,OFFSET RString ; напечатать строку

Done:

mov ah,4ch ; функция завершения программы

int 21h ; завершить программу

END

Заключение

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

В ходе проектирования были получены теоретические сведения о структуре МПС, современных микропроцессорах и типах памяти и, а также приобретены практические навыки по проектированию подсистемы памяти и МПС в целом.

В ходе выполнения была разработана МПС, удовлетворяющая указанным требованиям.

Библиографический список

1. Микропроцессорные системы: Учебное пособие/ Костров Б. В., Локтюхин В. Н., Ручкин В. Н.; Москва, 2005г, 208стр.

2. Микропроцессорные системы: Методическое указание к курсовому проекту/ В.Н. Ручкин, Рязань, 2009.-24с.

3. Микропроцессоры Intel. Архитектура, программирование, интерфейсы. / Б. Брей - С-П «Бхв-Перербург», 2005 г. - 1328с.

4. Ассемблер на примерах. Базовый курс: Практическое руководство/ Рудольф Марек; СПб: Наука и Техника, 2005. -- 240 с: ил.

5. Микропроцессорные системы: Учебное пособие для вузов\Е.К. Александров, Р.И. Грушвицкий, М.С.Куприянов; Под общ. Ред. Д.В. Пузанкова. - СПб.: Политехника, 2002 - 935с.

Приложение А

Рисунок А1 - Принципиальная схема разработанной в ходе выполнения работы МПС

Рисунок А2 - Электрическая принципиальная схема принтера Canon LBP 1760

Размещено на Allbest.ru


Подобные документы

  • Характеристика, разновидности, архитектура процессоров. Понятие интерфейса, описание видов шин, внешних запоминающих устройств, особенности конструкции. Специфика файловой системы устройства подсистемы ввода/вывода, достоинства, недостатки, база данных.

    курс лекций [747,0 K], добавлен 24.06.2009

  • Понятие системных ресурсов, конфликты, связанные с ресурсами IRQ и DMA. Использование портов ввода-вывода. Разновидности памяти и особенности ее распределения в рамках операционной системы. Назначение адресов памяти средствами Windows 9x/NT/2000.

    презентация [45,9 K], добавлен 27.08.2013

  • Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.

    курсовая работа [3,7 M], добавлен 24.06.2013

  • Инициализация переменных архитектурным элементам микропроцессора КР580ВМ80А и портам ввода-вывода в общем алгоритме. Составление карты памяти микропроцессорной системы для реализации программы. Анализ соответствия временных и точностных характеристик.

    курсовая работа [217,6 K], добавлен 27.11.2012

  • Анализ возможности разработки системы автоматизированного контроля на базе микроконтроллера МК51. Анализ структурной схемы МК51, портов ввода/вывода данных, возможности организации доступа к внешней памяти. Обзор системы команд МК51. Резидентная память.

    курсовая работа [108,7 K], добавлен 15.01.2012

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

    реферат [34,4 K], добавлен 25.03.2010

  • Изучение подсистемы ввода-вывода и файловой системы ОС семейства Windows NT. Анализ особенностей работы приложения TotalCommander и его взаимодействия с файловой системой и подсистемой ввода-вывода. Взаимодействие TotalCommander с сетевыми адаптерами.

    лабораторная работа [1,1 M], добавлен 12.06.2012

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

    курсовая работа [756,6 K], добавлен 19.11.2010

  • Блок-схема, отражающая основные функциональные компоненты компьютерной системы в их взаимосвязи. Устройства ввода-вывода информации. Определение объема оперативной памяти. Применение карт памяти и flash-дисков для долговременного хранения информации.

    презентация [5,3 M], добавлен 28.01.2015

  • Архитектура и функционирование компьютерных систем. Основные функции и обработка прерываний. Синхронный и асинхронный методы ввода-вывода. Структура и иерархия памяти. Устройство жесткого диска. Сущность кеширования. Режимы исполнения аппаратной защиты.

    презентация [2,3 M], добавлен 24.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.