Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ лекции

.pdf
Скачиваний:
59
Добавлен:
08.05.2015
Размер:
2.95 Mб
Скачать

конфигурацию технических средств, и ввели CMOS-память (Complementary Metal Oxyde Semicondactor), позволяющую хранить эту информацию и при отключении питания. Все оборудование, подключаемое к системной магистрали, содержит специальные регистры POS (Programmable Option Select), позволяющие конфигурировать систему программным путем. При тактовой частоте 10 МГц скорость передачи данных составляла 20 Мбайт/с.

Для IBM PC XT был разработан стандарт ISA (Industry Standart Architecture), который имеет две модификации - для XT и для АТ. В ISA XT шина данных - 8 бит, шина адресов - 20 бит, шина управления - 8 линий. В ISA АТ шина данных увеличена до 16 бит. Встречаются и 32-битовые ISA, но это - нестандартизированное расширение. Тактовая частота для работы СМ в стандарте ISA составляет 8 МГц. Производительность ISA XT - 4 Мбайт/с, ISA АТ - от 8 до 16 Мбайт/с.

Стандарт EISA (Extended ISA) - это жестко стандартизованное расширение ISA до 32 бит. Конструктивно совместима с ISA-адаптерами внешних устройств. Предназначена для многозадачных систем, файл-серверов и систем, в которых требуется высокоэффективное расширение ввода-вывода. При тактовой частоте 8.33 МГц скорость передачи данных составляла 33 Мбайт/с.

Стандарт VESA (VESA Lokal Bas или VLB) разработан Ассоциацией стандартов видеоданных (Video Electronics Standart Association) как расширение стандарта ISA для обмена видеоданными с адаптером SVGA. Обмен данными по этому стандарту ведется под управлением микросхем, расположенных на карте, устанавливаемой в специальный слот (разъем) расширения VLB и соединяемой с СМ через стандартный слот расширения. В отличие от стандартных слотов расширения слот VLB связан с микропроцессором напрямую, минуя системную магистраль. Карта VLB, работая совместно с системной магистралью, реализующей стандарт ISA, обеспечивает 32-разрядную передачу данных с тактовой частотой микропроцессора (но не более 40 - 50 МГц). В стандартные слоты материнской платы с интерфейсом VLB устанавливаются карты расширения с интерфейсом ISA. Производительность стандарта VLB достигает 132 Мбайт/с.

221

Стандарт PCI (Peripheral Component mterconnect) разработан фирмой Intel

для ЭВМ с МП Pentium. Это не развитие предыдущих стандартов, а совершенно новая разработка. Системная магистраль в соответствии с этим стандартом

работает синхронно с тактом МП и осуществляет связь между локальной шиной МП и интерфейсом ISA, EISA или МСА. Но поскольку для этого интерфейса используются микросхемы, выпускаемые другими фирмами (Satum - для 486, Mercury, Neptune, Triton - для Pentium), скорость работы СМ реально'составляет 30 - 40 Мбайт/с при теоретически возможной 132/ 264 Мбайт/с. Стандарт PCI разрабатывался как процессорно-независимый интерфейс. Помимо Pentium с этим интерфейсом могут работать и МП других фирм (Alpha корпорации DEC, MIPS R4400 и Power PC фирм Motorola, Apple и IBM). Стандарт PCI позволяет реализовать дополнительные функции: автоматическую конфигурацию периферийных устройств (которая позволяет пользователю устанавливать дополнительные платы, не задумываясь над распределением прерываний, каналов ПДП и адресного пространства); работу при пониженном напряжении питания; возможность работы с 64-разрядным интерфейсом. "Слоевая" структура интерфейса PCI снижает электрическую нагрузку на МП и позволяет одновременно управлять шестью периферийными устройствами, подключенными к СМ. Стандарт PCI позволяет использовать "мосты" (Bridges) для организации связи с другими стандартами (например, PCI to ISA Bridge).

Стандарт USB (Universal Serial Bus) - универсальный последовательный интерфейс, обеспечивающий обмен со скоростью 12 Мбайт/с и подключение до 127 устройств.

Стандарт PCMCIA (Personal Computer Memory Card International Association) - интерфейс блокнотных ПЭВМ для подключения расширителей памяти, модемов, контроллеров дисков и стриммеров, сетевых адаптеров и др. Системная магистраль, выполненная по этому стандарту, имеет минимальное энергопотребление, ШД - на 16 линий, ША - на 24 линии.

222

25. Микропроцессоры и микроконтроллеры

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

Совокупность БИС/СБИС, пригодных для совместного использования в составе микроЭВМ, называется микропроцессорным комплектом. Понятие микропроцессорного комплекта (МПК) задает номенклатуру микросхем с точки зрения возможности их совместного использования (совместимость по архитектуре, электрическим параметрам, конструктивным признакам и др.).

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

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

Впроцессе функционирования микропроцессорной системы реализуются следующие основные режимы ее работы:

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

223

Рис. 25. 1 Структура микропроцессорной системы

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

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

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

ПЗУ (ROM) хранит фиксированные программы и данные, оно является энергонезависимым и при выключении питания информацию не теряет.

ОЗУ (RAM) хранит оперативные данные (изменяемые программы, промежуточные результаты вычислений и др.), является энергозависимым и теряет информацию при выключении питания. Для приведения системы в

работоспособное состояние после включения питания ОЗУ следует загрузить необходимой информацией.

Устройства ввода-вывода (УПВ) или внешние устройства (ВУ) —

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

224

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

Архитектурой микропроцессора называется комплекс его аппаратных и программных средств, предоставляемых пользователю. В это понятие входит набор программно-доступных регистров и исполнительных (операционных) устройств, система основных команд и способов адресации, объем и структура адресуемой памяти, виды и способы обработки прерываний. Например, все модификации процессоров Pentium, Celeron, i486 и i386 имеют архитектуру IA-32 (Intel Architecture – 32 bit), которая характеризуется стандартным набором регистров, предоставляемых пользователю, общей системой основных команд и способов организации и адресации памяти, одинаковой реализацией защиты памяти и обслуживания прерываний.

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

Принстонская архитектура, которая часто называется архитектурой Фон-

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

Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд, данных и реализации стека в зависимости от решаемых задач. Таким образом, обеспечивается возможность более

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

225

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

Однако ей присущи и существенные недостатки. Основным из них является

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

микропроцессорных систем вызвали в последние годы все более широкое применение Гарвардской архитектуры при создании многих типов современных микропроцессоров.

Гарвардская архитектура характеризуется физическим разделением памяти команд (программ) и памяти данных. В ее оригинальном варианте

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

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

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

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

226

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

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

-выборка очередной команды (ВК),

-декодирование выбранной команды (ДК),

-формирование адреса операнда (ФА),

-прием операнда из памяти (ПО),

-выполнение операции (ВО),

-размещение результата в памяти (РР).

Тактовые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

импульсы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команда 1

 

 

 

 

 

 

 

 

 

 

 

 

Результат 1

 

 

 

 

ВК

 

ДК

 

ФА

 

ПО

 

ВО

 

РР

 

 

 

 

 

Команда 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат 2

 

 

 

 

 

 

 

ВК

 

ДК

 

ФА

 

ПО

 

ВО

 

РР

 

 

 

 

Команда 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат 3

 

 

 

 

 

 

ВК

 

ДК

 

ФА

 

ПО

 

ВО

 

РР

б)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INC R2

 

 

 

 

 

 

 

 

 

 

 

 

Результат 1

 

 

 

 

ВК

 

ДК

 

ФА

 

ПО

 

ВО

 

РР

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат 2

MOV (R2),R3

 

ВК

 

ДК

 

ОЖ

 

ОЖ

 

ФА

 

ПО

 

ВО

 

ПР

 

ADD R3,(R2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результат 3

 

 

 

 

ВК

 

ДК

 

ФА

 

ПО

 

ОЖ

ОЖ

 

ВО

 

ПР

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

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

227

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

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

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

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

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

228

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

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

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

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

фиксирует результат выполнения предыдущих команд ветвления по данному адресу, и считает, что следующая команда с обращением по этому адресу даст аналогичный результат. Данный способ предсказания предполагает более высокую вероятность повторного обращения к определенной команде, задаваемой данным условием ветвления. Для реализации этого способа предсказания ветвления используется специальная память BTB (Branch Target Buffer), где хранятся адреса ранее выполненных условных переходов. При поступлении аналогичной команды ветвления предсказывается переход к ветви, которая была выбрана в предыдущем случае, и производится загрузка в конвейер команд из соответствующей ветви. При правильном предсказании не требуется перезагрузка конвейера, и эффективность его использования не снижается. Эффективность такого способа предсказания зависит от емкости BTB и оказывается достаточно высокой: вероятность правильного предсказания составляет 80% и более. Повышение точности предсказания достигается при использовании более сложных способов, когда хранится и анализируется предыстория переходов результаты нескольких предыдущих команд ветвления по данному адресу. В этом случае возможно определение чаще всего реализуемого направления ветвления, а также выявление чередующихся переходов. Реализация таких алгоритмов требует использования более сложных

229

блоков предсказания, но при этом вероятность правильного предсказания повышается до 90-95 %.

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

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

практике эффективность использования суперскалярной структуры оказывается несколько ниже.

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

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

230

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]