Иформационно-логические основы вычислительных машин их функциональная и структурная организация 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Иформационно-логические основы вычислительных машин их функциональная и структурная организация



Любая вычислительная система включает следующие узлы:

· Арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции.

· Устройство управления (УУ), которое организует процесс выполнения программ.

· Запоминающее устройство (память) для хранения программ и данных.

· Внешние устройства для ввода–вывода информации (ВУ).

Рис. 2. Логическая организация ЭВМ Одинарные линии называют управляющие связи, двойные – информационные.

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

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

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

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

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

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

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

Использование рассмотренных принципов и объединение в одном устройстве, названом центральный процессор (ЦП), АЛУ и УУ, привели к видоизмененной структуре современной ЭВМ, изображенной на рис. 3.

Рис. 3 Модульная структура современной ЭВМ

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

Рис. 4. Трехмагистральная организация ЭВМ

В приведенной на рис. 4 схеме, обработку информации осуществляет ЦП, синхронизируемый тактовыми импульсами устройства синхронизации. Обмен информацией между МП и остальными блоками ВС осуществляется по трем магистралям (шинам): адресной, данных и управляющей. Магистраль адреса (МА, ША) служит для передачи кода адреса, по которому производится обращение к устройствам памяти ввода-вывода и прочим внешним устройствам. Обрабатываемая информация и результаты вычислений передаются по магистрали данных (МД, ШД). Магистраль управления (МУ) передает управляющие сигналы на все блоки ВС, настраивая устройства, участвующие в выполняемой команде, на нужный режим работы.

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

Процессоры

CISC-процессоры

Процессоры Intel 8086

Родоначальником архитектуры процессоров Intel x86 является процессор Intel 8086 (1978 год). Intel 8086 представляет собой 16-битовую архитектуру со всеми внутренними регистрами, имеющими 16-битовую разрядность. К процессорам этого класса относятся микропроцессоры: Intel 80286 (24 битная архитектура), 80386 (32 битная архитектура), 80486 (32-битовые процессоры с внутренней кэш-памятью и встроенным сопроцессором (только DX)), Pentium, Pentium II и т.д.

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

Структуру центрального процессора Intel 8086 можно разделить на два логических блока (рис.5):

· блок исполнения (EU:Execution Unit);

· блок интерфейса шин (BIU:Bus Interface Unit).

В состав EU входят: арифметическо-логическое устройство ALU, устройство управления CU и десять регистров. Устройства блока EU обеспечивают обработку команд, выполнение арифметических и логических операций.

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

· управление обменом данными с EU, памятью и внешними устройствами ввода/вывода;

· адресация памяти;

· выборка команд (осуществляется с помощью блока очереди команд Queue, который позволяет выбирать команды с упреждением).

Рис. 5. Структура микропроцессора Intel 8086

Регистры микропроцессора имеют следующее назначение:

Регистры общего назначения – это 16-разрядные регистры АХ, ВХ, СХ, DX, каждый из которых состоит из двух 8-разрядных регистров, например, АХ состоит из АН (старшая часть) и AL (младшая часть).

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

· регистр АХ служит для временного хранения данных (регистр аккумулятор), часто используется при выполнении операций сло­жения, вычитания, сравнения и других арифметических и логиче­ских операций;

· регистр ВХ служит для хранения адреса некоторой области па­мяти (базовый регистр), а также используется как вычислитель­ный регистр;

· регистр СХ иногда используется для временного хранения дан­ных, но в основном служит счетчиком, в нем хранится число повто­рений одной команды или фрагмента программы;

· регистр DX используется главным образом для временного хра­нения данных, часто служит средством пересылки данных между разными программными системами, а также используется в качестве расширителя акку­мулятора для вычислений повышенной точности и при умножении и делении.

Регистры указатели – это 16-разрядные регистры ВР (указатель базы), SI (индекс источника), DI (индекс результата), SP (указатель стека), IP (указатель команд).

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

Регистр SP определяет смещение текущей вершины стека. Указатель стека SP вместе с сегментным регистром стека SS используется для формирования физического адреса стека.

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

Регистры сегментов – это 16-разрядные регистры, которые позволяют организовать память в виде совокупности четырех различных сегментов.

· CS – регистр программного сегмента (сегмента кода) определяет местоположение части памяти, содержащей программу, то есть выполняемые процессором команды;

· DS – регистр информационного сегмента (сегмента данных) идентифицирует часть памяти, предназначенной для хранения данных;

· SS – регистр стекового сегмента (сегмента стека) определяет часть памяти, используемой как системный стек;

· ES – регистр расширенного сегмента (дополнительного сегмента) указывает дополнительную область памяти, используемую для хранения данных.

Регистр флагов – это 16-разрядный регистр, содержащий биты, определяющие код условия, установленный последней выполненной командой или состояние микропроцессора. Эти биты называются флагами.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
X X X X OF DF IF TF SF ZF X AF X PF X CF

Биты регистра флагов имеют следующее назначение:

OF (признак переполнения) – равен единице, если возникает арифметическое переполнение, то есть когда объем результата превышает размер ячейки назначения;

DF (признак направления) – устанавливается в единицу для автоматического декремента в командах обработки строк, и в ноль – для инкремента;

IF (признак разрешения прерывания) – прерывания разрешены, если IF=1. Если IF=0, то распознаются лишь немаскированные прерывания;

TF (признаков трассировки) – если TF=1, то процессор переходит в состояние прерывания INT 3 после выполнения каждой команды;

SF (признак знака) – SF=1, когда старший бит результата равен единице. Иными словами, SF=0 для положительных чисел, и SF=1 для отрицательных чисел;

ZF (признак нулевого результата) – ZF=1, если результат равен нулю;

AF (признак дополнительного переноса) – этот флаг устанавливается в единицу во время выполнения команд десятичного сложения и вычитания при возникновении переноса или заема между полубайтами;

PF (признак четности) – этот признак устанавливается в единицу, если результат имеет четное число единиц;

CF (признак переноса) – этот флаг устанавливается в единицу, если имеет место перенос или заем из старшего бита результата, он полезен для произведения операций над числами длиной в несколько слов, которые сопряжены с переносами и заемами из слова в слово;

X – зарезервированные биты.

Процессоры Pentium

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

· двухпотоковая суперскалярная организация, допускающая параллельное выполнение пары простых команд;

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

· динамическое прогнозирование переходов;

· конвейерная организация устройства плавающей точки с 8 ступенями;

· двоичная совместимость с существующими процессорами семейства 80x86.

Упрощенная структура процессора Pentium представлена на рис. 2.5. Прежде всего, новая микроархитектура этого процессора базируется на идее суперскалярной обработки. Основные команды распределяются по двум независимым исполнительным устройствам (конвейерам U и V). Конвейер U может выполнять любые команды семейства x86, включая целочисленные команды и команды с плавающей точкой. Конвейер V предназначен для выполнения простых целочисленных команд и некоторых команд с плавающей точкой. Команды могут направляться в каждое из этих устройств одновременно, причем при выдаче устройством управления в одном такте пары команд более сложная команда поступает в конвейер U, а менее сложная - в конвейер V (при этом, однако, не все команды совместимы). Остальные устройства процессора предназначены для снабжения конвейеров необходимыми командами и данными.

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

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

Рис. 6. Упрощенная структура процессора Pentium Лекция 4

Процессоры Pentium 4

Intel Pentium 4 — это первый процессор в семействе 32-битных процессоров седьмого поколения от Intel. Несмотря на то что Intel Pentium 4 является процессором с архитектурой IA-32, последняя сильно отличается от архитектуры процессоров семейства P6 (в него входят процессоры Intel Pentium Pro, Intel Pentium II, Intel Pentium III, Intel Celeron и Intel Xeon) и даже получила специальное название — NetBurst. К основным новшествам архитектуры NetBurst являются:

· Hyper-Pipelined Technology,

· Execution Trace Cache,

· Rapid Execution Engine,

· 400 MHz System Bus,

· Advanced Dynamic Execution,

· Advanced Transfer Cache,

· Streaming SIMD Extensions 2 (SSE2).

Hyper - Pipelined Technology. Суть технологии гиперконвеерной технологии заключается в том, что Intel Pentium 4 имеет очень длинный конвейер, состоящий из 20 стадий. Для сравнения: конвейер у процессоров семейства P6 состоит всего из 10 стадий. Преимущества от использования такого новшества далеко не очевидны.

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

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

Execution Trace Cache – это название и способ реализации L1-кэша инструкций в архитектуре NetBurst. Смысловое содержание этого термина можно перевести как «кэш трассировки выполняемых микроопераций».

В Execution Trace Cache хранятся микрооперации, полученные в результате декодирования входного потока инструкций исполняемого кода и готовые для передачи на выполнение конвейеру. Емкость Execution Trace Cache составляет 12 Кбайт.

Execution Trace Cache устроен таким образом, что вместе с кодом каждой микрооперации в нем хранятся результаты выполнения ветвей кода для этой микрооперации — в той же строке кэша (cache line), что и сама микрооперация. Это позволяет легко и своевременно выявлять микрооперации, которые никогда не будут выполнены, и быстро удалять их из L1-кэша инструкций, а также оперативно «вычищать» Execution Trace Cache от «лишних» микроопераций в случае обнаружения ошибочно предсказанного перехода. Последнее обстоятельство особенно важно, так как позволяет сократить общее время реинициализации конвейера после его остановки в результате выполнения перехода, который был предсказан неправильно.

Rapid Execution Engine. Так, в архитектуре NetBurst назван блок выполнения арифметико-логических операций. Rapid Execution Engine, во-первых, состоит из двух ALU-модулей, работающих параллельно, во-вторых, рабочая тактовая частота этих ALU-модулей в два раза выше тактовой частоты процессора — это достигается за счет регистрации как переднего, так и заднего фронта задающего тактового сигнала. Таким образом, каждый ALU-модуль способен выполнить до двух целочисленных операций за один рабочий такт процессора, а весь Rapid Execution Engine в целом — до четырех таких операций.

400 MHz System Bus. Физически системная шина у Intel Pentium 4 тактируется частотой в 100 МГц, однако благодаря использованию технологии Quad Pumping по этой шине передается четыре блока данных за один такт (аналогично тому, как это делается при передаче данных в режиме AGP 4X по AGP-шине). Так что эффективная рабочая частота системной шины у Intel Pentium 4 (которую также называют Quad Pumped Bus) составляет 400 МГц, а пропускная способность — 3,2 Гбайт/с.

Advanced Dynamic Execution — это обобщенное название механизма динамического выполнения команд (dynamic execution), используемого в NetBurst, построенного на трех базовых концепциях: предсказание переходов (branch prediction), динамический анализ потока данных (dynamic data flow analysis) и спекулятивное выполнение инструкций (out-of-order execution). Аналогичный механизм, названный Dynamic Execution, используется в процессорах семейства P6, однако в Intel Pentium 4 он улучшен.

Так, например, емкость пула, в котором хранятся готовые для обработки инструкции (out-of-order instruction window), у Intel Pentium 4 увеличена до 126 инструкций — против 42 у процессоров семейства P6.

Кроме того, в Intel Pentium 4 интегрирован более совершенный механизм предсказания переходов и количество ошибочно предсказанных переходов у него в среднем на 33% меньше, чем у процессоров с архитектурой P6.

Advanced Transfer Cache –  это, в архитектуре NetBurst, L2-кэш процессора емкостью 256 Кбайт. Ширина шины, по которой идет обмен данными между Advanced Transfer Cache и процессором, составляет 256 бит (32 байта), а ее тактовая частота совпадает с тактовой частотой ядра процессора.

Streaming SIMD Extensions 2 (SSE2). В Intel Pentium 4 также интегрирован набор из 144 новых SIMD-инструкций, получивший название Streaming SIMD Extensions 2 (сокращенно — SSE2), который добавлен к базовому набору SSE-инструкций, реализованному ранее в процессоре Intel Pentium III.

Из этих 144 инструкций 68 — расширяют возможности старых SIMD-инструкций по работе с целыми числами, а 76 — являются совершенно новыми. Среди последних — инструкции, позволяющие оперировать со 128-разрядными числами (как целыми, так и вещественными с двойной точностью).

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

Рис. 7. Блок схема процессора Pentium 4 Retirement – отставка (отсрочка) Branch – переход Fetch – выборка

 

Совместимые с Intel процессоры выпускают следующие производители Advanced Micro Devices (AMD), Cyrix Corp и NexGen.

RISC-процессоры



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.147.190 (0.058 с.)