Основные технические характеристики процессора

Термин "архитектура системы" часто употребляется как в узком, так и в широком смысле этого слова. В узком смысле под архитектурой понимается архитектура набора команд. Архитектура набора команд служит границей между аппаратурой и программным обеспечением и представляет ту часть системы, которая видна программисту или разработчику компиляторов. Следует отметить, что это наиболее частое употребление этого термина. Двумя основными архитектурами набора команд, используемыми компьютерной промышленностью на современном этапе развития вычислительной техники являются архитектуры CISC и RISC. Лидером в основные технические характеристики процессора микропроцессоров c полным набором команд CISC - Complete Instruction Set Computer считается компания Intel со своей серией основные технические характеристики процессора и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров. Для CISC-процессоров характерно: сравнительно небольшое число регистров общего назначения; большое количество машинных команд, некоторые из которых основные технические характеристики процессора семантически аналогично операторам высокоуровневых языков программирования и выполняются за много тактов; основные технические характеристики процессора количество методов адресации; большое количество форматов команд различной разрядности; преобладание двухадресного формата команд; наличие команд обработки типа регистр-память. Основой архитектуры современных рабочих станций и серверов является архитектура компьютера с сокращенным набором команд RISC - Reduced Instruction Set Computer. Зачатки этой архитектуры уходят своими корнями к компьютерам CDC6600, разработчики которых Торнтон, Крэй и др. Эту традицию упрощения архитектуры Крэй с успехом основные технические характеристики процессора при создании широко известной серии суперкомпьютеров компании Cray Research. Однако окончательно понятие RISC в современном его понимании сформировалось на базе трех исследовательских проектов компьютеров: процессора основные технические характеристики процессора компании IBM, процессора RISC университета Беркли и процессора MIPS Стенфордского университета. Разработка экспериментального проекта компании IBM началась еще в конце 70-х годов, но его результаты никогда не публиковались и компьютер на его основе в промышленных масштабах не изготавливался. В 1980 году Основные технические характеристики процессора. Паттерсон со своими коллегами из Беркли начали свой проект изготовили две машины, основные технические характеристики процессора получили названия RISC-I и RISC-II. Главными идеями этих машин было отделение медленной основные технические характеристики процессора от высокоскоростных регистров использование регистровых окон. Хеннесси со своими коллегами опубликовал описание стенфордской машины MIPS, основным аспектом разработки которой была эффективная реализация конвейерной обработки посредством тщательного планирования компилятором его загрузки. Эти три машины имели много общего. Все основные технические характеристики процессора придерживались архитектуры, отделяющей команды обработки от команд работы с памятью, и делали упор на эффективную конвейерную обработку. Система команд разрабатывалась таким образом, чтобы выполнение любой команды занимало небольшое количество машинных тактов предпочтительно один машинный такт. Сама логика выполнения команд с целью повышения производительности ориентировалась на аппаратную, а не на микропрограммную реализацию. Чтобы упростить логику декодирования команд использовались команды фиксированной длины и фиксированного формата. Среди других особенностей RISC-архитектур следует отметить наличие достаточно большого регистрового файла в типовых RISC-процессорах реализуются 32 или большее число регистров по основные технические характеристики процессора с 8 - 16 регистрами в CISC-архитектурахчто позволяет большему объему данных храниться в регистрах на процессорном кристалле основные технические характеристики процессора время и упрощает работу компилятора по распределению регистров под переменные. Для обработки, как правило, используются трехадресные команды, что помимо упрощения дешифрации дает возможность сохранять большее число переменных в регистрах без их последующей перезагрузки. Ко времени завершения университетских проектов 1983-1984 гг. Простота архитектуры и ее эффективность, подтвержденная этими проектами, вызвали большой интерес в компьютерной индустрии и с 1986 года началась активная промышленная реализация архитектуры RISC. К настоящему времени эта архитектура прочно занимает лидирующие позиции на мировом компьютерном рынке рабочих станций и серверов. Развитие архитектуры RISC в значительной степени определялось прогрессом в области создания оптимизирующих основные технические характеристики процессора. Именно современная техника компиляции позволяет эффективно использовать преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд. Современные компиляторы используют также преимущества другой оптимизационной техники для основные технические характеристики процессора производительности, обычно применяемой в процессорах RISC: реализацию задержанных переходов и суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько команд. Следует отметить, что в последних разработках компании Intel имеется в виду Pentium P54C и процессор следующего поколения P6а также ее последователей-конкурентов AMD R5, Cyrix M1, NexGen Nx586 и др. Однако сложность архитектуры и системы команд x86 остается и является главным фактором, ограничивающим производительность процессоров на ее основе. Методы адресации В машинах к регистрами общего назначения метод или режим адресации объектов, с которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор прежде основные технические характеристики процессора должен вычислить действительный или эффективный адрес памяти, который определяется заданным в команде методом адресации. Адресация непосредственных данных и литеральных констант обычно рассматривается как один из методов адресации памяти хотя значения данных, к которым в этом случае производятся обращения, являются основные технические характеристики процессора самой команды и обрабатываются в общем потоке команд. Адресация регистров, как правило, рассматривается отдельно. В данном разделе методы адресации, связанные со счетчиком команд адресация относительно счетчика команд рассматриваются отдельно. Этот вид адресации используется главным образом для определения программных адресов в командах передачи управления. На этом рисунке знак " " используется для обозначения оператора присваивания, а буква М обозначает память Memory. Методы адресации Использование сложных методов адресации позволяет существенно сократить количество команд в программе, но при этом значительно увеличивается сложность аппаратуры. Возникает вопрос, а как часто эти методы адресации используются в реальных программах? Из этого рисунка видно, что непосредственная адресация и базовая со смещением доминируют. При этом основной вопрос, который возникает для метода базовой адресации со смещением, связан с длиной разрядностью смещения. Выбор длины смещения в конечном счете определяет длину команды. Результаты измерений показали, что в подавляющем большинстве случаев длина смещения не превышает 16 разрядов. Частота использования различных методов адресации на программах TeX, Spice, GCC Этот же вопрос важен и для непосредственной адресации. Непосредственная адресация используется при выполнении арифметических операций, операций сравнения, а также для загрузки констант в регистры. Результаты анализа статистики показывают, что в подавляющем числе случаев 16 разрядов оказывается вполне достаточно хотя для вычисления адресов намного реже используются и более длинные константы. Важным вопросом построения любой системы команд является оптимальное кодирование команд. Оно определяется количеством регистров и применяемых методов адресации, а также сложностью аппаратуры, необходимой для декодирования. Именно поэтому в современных RISC-архитектурах используются достаточно простые методы адресации, позволяющие резко упростить декодирование команд. Более сложные и редко встречающиеся в реальных программах методы адресации реализуются с помощью дополнительных команд, что вообще говоря приводит к увеличению размера программного кода. Однако такое увеличение длины программы с лихвой окупается возможностью простого увеличения тактовой частоты RISC-процессоров. Типы команд Команды традиционного машинного уровня можно разделить на несколько типов, которые показаны на рисунке 5. Тип операции Примеры Арифметические и логические Целочисленные арифметические и логические операции: сложение, вычитание, логическое сложение, логическое умножение и т. Операции с плавающей точкой Операции основные технические характеристики процессора, вычитания, умножения и деления над вещественными числами Десятичные операции Десятичное сложение, умножение, преобразование форматов и т. Операции над строками Пересылки, сравнения и поиск строк Рис. Основные типы команд Команды управления потоком команд В английском языке для указания команд безусловного перехода, как правило, используется термин jump, а для команд условного перехода - основные технические характеристики процессора branch, хотя разные поставщики необязательно придерживаются этой терминологии. Например компания Intel использует термин jump и для условных, и для безусловных переходов. Можно выделить четыре основных типа команд для управления потоком команд: условные переходы, безусловные переходы, вызовы процедур и возвраты из процедур. Частота использования этих команд по статистике примерно следующая. В программах доминируют команды условного перехода. Среди указанных команд управления на разных программах частота их использования колеблется от 66 до 78%. Следующие по частоте использования - команды безусловного перехода от 12 до 18%. Частота переходов на выполнение процедур и возврата из них составляет от основные технические характеристики процессора до 16%. При этом примерно 90% команд безусловного перехода выполняются относительно счетчика команд. Для команд перехода адрес перехода должен быть всегда заранее известным. Это не относится к адресам возврата, которые не известны во время компиляции программы и должны определяться во время ее работы. Наиболее простой способ определения адреса перехода заключается в указании его положения относительно текущего значения счетчика команд с помощью смещения в командеи такие переходы называются переходами относительно счетчика команд. Преимуществом такого метода адресации является то, что адреса переходов, как правило, расположены недалеко от текущего адреса выполняемой команды и указание относительно текущего значения счетчика команд требует небольшого количества бит в смещении. Кроме того, использование адресации относительно счетчика команд позволяет программе выполняться в любом месте памяти, независимо от того, куда она была загружена. То есть этот метод адресации позволяет автоматически создавать перемещаемые программы. Реализация возвратов и переходов по косвенному адресу, в которых адрес не известен во время компиляции программы, требует методов адресации, отличных от адресации относительно счетчика команд. В этом случае адрес перехода должен определяться динамически во время работы программы. Наиболее простой способ основные технические характеристики процессора в указании регистра для хранения адреса возврата, либо для перехода может разрешаться любой метод адресации для вычисления адреса перехода. Одним из ключевых вопросов реализации команд перехода состоит в том, насколько далеко целевой адрес перехода находится от самой команды перехода? И на этот вопрос статистика использования команд дает ответ: в подавляющем большинстве случаев переход идет в основные технические характеристики процессора 3 - 7 команд относительно команды перехода, причем в 75% случаев выполняются переходы в направлении увеличения адреса, т. Поскольку большинство команд управления потоком команд составляют команды условного перехода, важным вопросом реализации архитектуры является определение условий перехода. Для этого используются три различных подхода. При первом из них в архитектуре процессора предусматривается специальный регистр, разряды которого соответствуют определенным кодам условий. Команды условного перехода проверяют эти условия в процессе своего выполнения. Преимуществом такого основные технические характеристики процессора является то, что иногда установка кода условия и переход по нему могут быть выполнены без дополнительных потерь времени, что, впрочем, бывает достаточно редко. А недостатками такого подхода является то, что, во-первых, появляются новые состояния машины, за которыми необходимо следить упрятывать при прерывании основные технические характеристики процессора восстанавливать при возврате из него. Во-вторых, и что очень важно для современных высокоскоростных конвейерных архитектур, коды условий ограничивают порядок выполнения команд в потоке, поскольку их основное основные технические характеристики процессора заключается в передаче кода условия команде условного основные технические характеристики процессора. Второй метод заключается в простом использовании произвольного регистра возможно одного выделенного общего назначения. В этом случае выполняется проверка состояния этого регистра, в который предварительно помещается результат операции сравнения. Недостатком этого подхода является необходимость выделения в программе для анализа кодов условий специального регистра. Третий метод предполагает объединение команды сравнения и перехода в одной команде. Недостатком такого подхода является то, что эта объединенная команда основные технические характеристики процессора сложна для реализации в одной команде надо указать и тип условия, и константу для сравнения и адрес основные технические характеристики процессора. Поэтому в таких машинах часто используется компромиссный вариант, когда для некоторых кодов условий используются такие команды, например, для сравнения с нулем, а для более сложных условий используется регистр условий. Часто для анализа результатов команд сравнения для целочисленных операций и для операций с плавающей точкой используется разная техника, хотя это можно объяснить и тем, что в программах количество переходов по условиям выполнения операций с плавающей точкой значительно меньше общего количества переходов, определяемых результатами работы целочисленной арифметики. Поэтому в ряде архитектур такие команды выделяются в отдельный поднабор, особенно при использовании команд типа "сравнить и перейти". Говорят, что переход выполняется, если истинным является условие, которое проверяет команда условного перехода. В этом случае выполняется переход на адрес, заданный командой перехода. Поэтому все команды безусловного перехода всегда выполняемые. По статистике оказывается, что переходы назад по программе в большинстве случаев используются для организации циклов, причем примерно 60% из них составляют выполняемые переходы. В общем случае поведение команд условного перехода зависит от конкретной прикладной программы, однако иногда сказывается и зависимость от компилятора. Такие зависимости от компилятора возникают вследствие изменений потока управления, выполняемого оптимизирующими компиляторами для ускорения выполнения циклов. Вызовы процедур и возвраты предполагают передачу управления и возможно сохранение некоторого состояния. Как минимум, необходимо уметь где-то сохранять адрес возврата. Некоторые архитектуры предлагают аппаратные механизмы для сохранения состояния регистров, в других случаях предполагается вставка в программу команд самим компилятором. Имеются два основных вида соглашений относительно сохранения состояния регистров. Сохранение вызывающей caller saving программой означает, что вызывающая процедура должна сохранять свои регистры, которые она хочет использовать после возврата в нее. Сохранение вызванной процедурой предполагает, что вызванная процедура должна сохранить регистры, которые она собирается использовать. Имеются случаи, когда должно использоваться сохранение вызывающей процедурой для обеспечения доступа к глобальным переменным, которые должны быть доступны для обеих процедур. Типы и размеры операндов Имеется два альтернативных основные технические характеристики процессора определения типа операнда. В первом из них тип операнда может задаваться кодом операции в команде. Это наиболее употребительный способ задания типа операнда. Второй метод предполагает указание типа операнда с помощью тега, который хранится вместе с данными интерпретируется аппаратурой во основные технические характеристики процессора выполнения операций над данными. Этот метод использовался, например, в машинах фирмы Burroughs, основные технические характеристики процессора в настоящее время он практически не применяется и все современные процессоры пользуются первым методом. Обычно тип операнда например, основные технические характеристики процессора, вещественный с одинарной точностью или символ определяет и его размер. Однако часто процессоры работают с целыми числами длиною 8, 16, 32 или 64 бит. Как правило целые числа представляются в дополнительном коде. Еще до сравнительно недавнего времени каждый производитель процессоров пользовался своим собственным представлением вещественных чисел чисел с плавающей точкой. Однако за последние несколько лет ситуация изменилась. Большинство поставщиков процессоров в настоящее время для представления вещественных чисел с одинарной и двойной точностью придерживаются стандарта IEEE 754. В некоторых процессорах используются двоично кодированные десятичные числа, которые представляются в в упакованном и неупакованном форматах. Упакованный формат предполагает, что для кодирования цифр 0-9 используются 4 разряда и что две десятичные цифры упаковываются в каждый байт. В неупакованном формате байт содержит одну десятичную цифру, которая обычно изображается в символьном коде ASCII. В большинстве процессоров, кроме того, реализуются операции над цепочками строками бит, байт, слов и двойных слов. Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.

Официальный сайт электронной библиотеки
salone-effekt.ru © 1999—2016 Электронаая библиотека