Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.
Аннотация к работе
Процессоры Intel Itanium 2 совместимы на уровне двоичного кода c существующим программным обеспечением, созданным для процессора Intel Itanium, что обеспечивает преемственность разработок системного и прикладного ПО. Дополняющие линейку выпускаемой продукции процессоры Intel Itanium 2 с тактовой частотой 1,60 ГГЦ и кэш-памятью 3 уровня объемом 3 МБ и процессоры Intel Itanium 2 с пониженным энергопотреблением оптимизированы для двухпроцессорных систем, используемых для научно-технических вычислений и выполнения корпоративных приложений клиентского уровня. Характеристики Процессор Intel® Itanium® 2 с кэш-памятью 3 уровня объемом 9 МБ для многопроцессорных серверов и рабочих станций Процессор Intel® Itanium® 2 с тактовой частотой 1,60 ГГЦ и кэш-памятью 3 уровня объемом 3 МБ, оптимизированный для двухпроцессорных серверов и рабочих станций Процессор Intel® Itanium® 2 с пониженным энергопотреблением, оптимизированный для двухпроцессорных серверов с высокой плотностью монтажа и рабочих станций Кэш-память Третий уровень: встроенная, объемом 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Контроллер I/O также может включать в себя и другие интерфейсы, такие как игровой (MIDI или джойстик) или инфракрасный порты. Благодаря сочетанию многих функций в одной микросхеме, уменьшилось число контроллеров на материнской плате, и таким образом, уменьшилась и ее стоимость. Изначально контроллеры I/O связывались с процессором (CPU) через ISA шину. Впоследствии вместо ISA шины стала использоваться шина PCI, но часто одной из причин включения ISA шины в материнскую плату был контроллер I/O. Современные контроллеры I/O для связи с CPU используют шину LPC (Low Pin Count) (рисунок 17) вместо шины ISA.Были рассмотрены и изучены типа и структуры памяти, методы повышения быстродействия памяти, основные блоки и архитектура процессора Itanium 2, рассмотрен контроллер для работы с периферийным устройством - принтерном.
Введение
Микропроцессор (МП) представляет собой функционально завершенное универсальное программно-управляемое устройство цифровой обработки данных, выполненное в виде одной или нескольких БИС или СБИС.
Микропроцессорные БИС и СБИС образуют новый класс микросхем, одной из основных особенностей которого является возможность программного управления работой БИС с помощью определенного набора команд. Программно-аппаратный принцип построения МПС является одним из основных принципов их организации и заключается в том, что реализация целевого назначения МПС достигается не только аппаратными средствами, но и с помощью программного обеспечения - организованного набора программ и данных.
При разработке МПС необходимо принимать во внимание большое число особенностей МП и микропроцессорных комплектов БИС: технологических, конструктивных, временных, энергетических, эксплуатационных, функциональных и др. Функциональные особенности характеризуют логическую организацию МП и микропроцессорных БИС, принципы их построения, использования и взаимодействия. Они являются основными, так как определяют прибор как функциональный элемент МПС, раскрывают его потенциальные возможности логической и арифметической обработки информации.
В данном проекте рассматривается процесс проектирования микропроцессорной системы на базе микропроцессора 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 с пониженным энергопотреблением, оптимизированный для двухпроцессорных серверов с высокой плотностью монтажа и рабочих станций
Кэш-память Третий уровень: встроенная, объемом 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
Набор микросхем Набор микросхем Intel® Е8870 и наборы микросхем от OEM-поставщиков Набор микросхем Intel® Е8870 и наборы микросхем от OEM-поставщиков Набор микросхем Intel® Е8870 и наборы микросхем от ОЕМ-поставщиков
3.3 Сигналы управления МП Itanium 2
Сигналы управления процессором Itanium 2 представлены в таблицах 3 и 4.
Таблица 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 Сигналы, указывающие на используемые байты шины данных в данном цикле шины
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) Сигналы приводят в действие отсрочку агента.
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 Гарантированное право собственности на линию КЭША.
REQ[5:0]# - request Линии по которым абоненты шины определяют тип активной транзакции (memory reference, I/O, write-back, burst R/W и т.д.), вводится владельцем шины.
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.
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.
Для ПЗУ2 = 4 Кб = 212 нужны адреса А11-А0 - адрес байта;
Для ОЗУ1 = 256 Мб = 228 нужны адреса А27-А0 - адрес байта;
Для ОЗУ2 = 1 Мб = 220 нужны адреса А19-А0 - адрес байта;
Для ПЗУ1 = 2 Кб = 211 нужны адреса А10-А0 - адрес байта;
Эти данные необходимы для распределения адресов ОЗУ и ПЗУ, которые сводятся в таблицу: Таблица 5 - Данные, необходимые для распределения адресов ОЗУ и ПЗУ
На основании данной таблицы переходим к выбору селекции (частичной или полной).
5.6 Селекция адресов памяти
Частичная селекция представляет собой выбор модулей частью разрядов адреса. Количество этих разрядов будет определяться количеством модулей, подлежащих селекции.
Частичная селекция имеет следующие достоинства: малые аппаратные средства для реализации селекции. Существуют и недостатки: неэффективное
Вывод
В результате выполнения данного курсового проекта была разработана структура МПС на базе процессора Itanium 2. Были рассмотрены и изучены типа и структуры памяти, методы повышения быстродействия памяти, основные блоки и архитектура процессора Itanium 2, рассмотрен контроллер для работы с периферийным устройством - принтерном.
В ходе проектирования были получены теоретические сведения о структуре МПС, современных микропроцессорах и типах памяти и, а также приобретены практические навыки по проектированию подсистемы памяти и МПС в целом.
В ходе выполнения была разработана МПС, удовлетворяющая указанным требованиям.
Список литературы
1. Микропроцессорные системы: Учебное пособие/ Костров Б. В., Локтюхин В. Н., Ручкин В. Н.; Москва, 2005г, 208стр.