Понятие системы команд - 36 Понятие о системе команд. Команды с постоянной длиной формата.

Лекция 2 Функциональная и структурная организация процессора. Процессор - устройство, предназначенное для выполнения команд: Вычислительный процесс должен быть предварительно представлен для ЭВМ в виде программы, последовательности инструкций команд записанных в порядке выполнения.

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

В настоящее время существует большое число разновидностей процессоров, различающихся назначением, функциональными возможностями, структурой, исполнением. Чаще всего наиболее существенным, классификационным различием между ними является количество разрядов в обрабатываемой информационной единице: Наибольшее распространение среди разрядных процессоров получили процессоры Inteli и i Этот тип процессоров является базовым для IBM совместимых машин. Все последующие типы процессоров основываются на нем и лишь развивают его архитектуру.

В следующей модификации микопроцессоров фирмы Intel - реализована расширенная система команд. Расширение системы команд продолжается во всех новых моделях, но кроме этого в каждой новой модели вводятся дополнительные архитектурные решения. В введены встроенный блок управления оперативной памятью, работающий в виртуальном режиме что позволило увеличить предельно допустимый объем виртуальной памяти до 4 Гбайт при 16 Мбайт физической , и блоки, позволяющие реализовать мультизадачность: Кроме того, во всех последующих моделях вводятся и совершенствуются средства, позволяющие повысить производительность микропроцессора.

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

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

Например, разработкой процессоров с системой команд х86, помимо корпорацииIntel—изобретателя данного типа микросхем, в настоящее время занимаютсяAMDиVIA, а количество фирм, которые выпускают видеоадаптеры, звуковые карты, принтеры, сканеры и различные вспомогательные и игровые устройства, настолько велико, что трудно поддается учету.

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

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

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

Что же происходит на рынке современных персональных компьютеров в последнее время. Корпорация Intel"похоронила" семейство процессоровPentium4, и агрессивно стала внедрять новые технологии, начав выпускать процессоры линейкиIntelCore2.

УсилияIntelподдержала корпорацияMicrosoft, которая выпустила операционную системуWindowsVista, и этим поставила пользователей перед необходимостью срочного обновления своего "железа". Глядя на лидеров, остальные компании не остались в стороне, например, винчестеры взяли барьер в Гбайт, видеокарты стали соперничать с центральными процессорами в производительности и универсальности, серийные модули памяти отлично работают за барьером в МГц и т. Современный этап процессоростроения — это многоядерные процессоры, разрядные систем и мультимедийный контекст.

Сегодня львиная доля компьютерного рынка — это персональные компьютеры на базе процессоров семейства х86 — IntelCore2Duoи различных версийAMD Но у такой мировой унификации персональных компьютеров есть и отрицательные черты — современным процессорам приходится подстраиваться под своего предка —Intel Так, в процессорах быстрое внутреннеRISC-ядро вынуждено имитировать в ряде режимов работу старых процессоров со всеми слабыми сторонами.

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

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

Если не считать разрядные операционные системы, например Linuxbit, то дляWindowsXPиVista вариантов bit перекомптлировано совсем мало программ, которые, причем, относятся к профессиональной категории. Первой ласточкой среди разрядных процессоров для линейки х86 стал процессор IntelItanium, но, к сожалению, он может только эмулировать работу разрядного процессора, что ведет к снижению производительности для большинства пользовательских программ, поэтому используются такие процессоры только в серверах.

Более удачным решеним для перехода от разрядных процессоров к разрядным стала инициатива корпорации AMD, которая сначала запустила в производство процессоры семействаOpteron, а потом —Athlon Эти процессоры могут полноценно работать с разрядным кодом, что позволяет использовать старое программное обеспечение, правда, наилучшие показатели они демонстрируют при использовании перационной системы и программ нового поколения. Фактически практический выигрыш в разрядных процессорахAMDидет только за счет удвоения количества оперативных регистров, а сама разрядная арифметика используется чрезвычайно редко.

Корпорация Intelразрядную технологию для персональных компьютеров, как не раз заявляла, внедрять не будет, разве что используя некоторые технологии для работы с разрядной памятью. Но в линейкеIntelCore2 и новых версиях других процессоров используется точно такая же разрядная система, как и в процессорахAMD64, но названнаяEMT64T.

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

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

Кроме корпораций IntelиAMDеще несколько компаний занимаются процессорами, которые относятся к семейству х86, но особых успехов они не добились. Лишь изредка встречаются в продаже ноутбуки и настольные компьютеры на базе процессоров С3 и С7 компанииVIA, а также иногда встречаются ноутбуки с процессорами от корпорацииTransmeta. Сегодня хорошо видно, что требуется переход от старых технологий к новым, но мировая индустрия персональных компьютеров обладает огромной инерцией, и мы, как пользователи, постоянно ощущаем это на себе.

Вот самый яркий пример — время начальной загрузки компьютера, несмотря на кратное возрастание частоты процессоров, так и не уменьшилось, а даже стало иногда еще дольше из-за более громоздкого программного обеспечения. Не следует забывать, что хотя IBMPC— совместимые компьютеры и являются наиболее популярными, занимая львиную долю рынка, существуют и динамично развиваются коспьютеры, в которых нет процессоров линейки х В частности, компьютеры, не совместимые сIBMPC— ноутбуки и карманные персональные компьютеры КПК с процессорами разработки компанийMotorolaиIBM, игровые приставки маркиPlaystation, обладают совсем другой внутренней архитектурой и собираются на чипах, которые разрабатываются специально для них.

Хотя внешне, например, отличить ноутбук на процессоре корпорацииIntelот фирменного ноутбукаApple, в котором использован процессор корпорацииMotorola, практически невозможно.

Кроме того, следует упомянуть об игровой приставке Playstation3, которая осенью года появилась в массовых количествах. В ее конструкции используется 9-ядерный процессорCellразработки корпорацииIBM. При скромной цене и габаритах ее возможности создавать на экране монитора или телевизора виртуальный мир значительно выше, чем у самых навороченных персональных компьютеров с процессорами линейки х Условно микропроцессор можно разделить на две части: В исполнительном блоке находятся: Арифметический блок включает арифметико-логическое устройство, вспомогательные регистры для хранения операндов и регистр флагов.

Восемь регистров исполнительного блока МП АХ, ВХ, СХ, DX, SP, ВР, SI, DI , имеющих длину, равную машинному слову, делятся на две группы. Первую группу составляют регистры общего назначения: АХ, ВХ, СХ и DX, каждый из которых представляет собой регистровую пару, составленную из двух регистров длиной в 0.

Аккумулятор, или регистр АХ, состоит из регистров АН и AL. Регистр базы Base Register ВХ состоит из регистров ВН и BL. Счетчик Count Register СХ включает регистры СН и CL.

Регистр данных Data Register DX содержит регистры DH и DL. Каждый из коротких регистров может использоваться самостоятельно или в составе регистровой пары. Условные названия аккумулятор, регистр базы, счетчик, регистр данных не ограничивают применения этих регистров - эти названия говорят о наиболее частом использовании их или об особенности использования того или иного регистра в той или иной команде.

Вторую группу составляют адресные регистры SP, BP, SI и DI в старших моделях количество адресных регистров увеличено. Эти регистры активно используются по функциональному назначению и в других целях их применятъ не рекомендуется. Основное их назначение - хранить числовые значения, реализуемые при формировании адресов операндов. Устройство сопряжения с системной магистралью содержит управляющие регистры, конвейер команд, АЛУ команд, устройство управления исполнительным блоком МП и интерфейс памяти соединяющий внутреннюю магистраль МП с системной магистралью ЭВМ.

CS указатель командного сегмента , DS указатель сегмента данных , SS указатель сегмента стека , ES указатель дополнительного сегмента и др. Регистр IP Instruction Pointer является указателем адреса команды, которая будет выбираться в конвейер команд в качестве очередной команды в отечественной литературе такое устройство называется счетчик команд. Конвейер команд МП хранит несколько команд, что позволяет при выполнении линейных программ совместить подготовку очередной команды с выполнением текущей.

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

Работой МП управляет программа, записанная в оперативной памяти ЭВМ. Адрес очередной команды хранится в счетчике команд IP Instruction Pointer и в одном из сегментных регистров, чаще всего в CS. Адрес очередной команды через внутреннюю магистраль МП и интерфейс памяти поступает на шину адреса системной магистрали. Одновременно из устройства управления УУ исполнительного блока на шину управления выдается команда управляющий сигнал в ОП, предписывающая выбрать число, находящееся по адресу, указанному в системной магистрали.

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

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

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

С появлениемRISCпроцессоров произошел возврат к расширенной адресности системы команд. Говоря о базовом уровне, речь идет оCISCпроцессорах.

Первоначально система команд имела следующий Формат:. В каждой команде задается адрес следующей команды это самый универсальный вариант , но длина такой команды велика. При такой системе команд их можно располагать в любом порядке, но обычно стараются расположить последовательно. Такой порядок называется естественным, но при естественном расположении необходимость в поле А4 отпадает. Следовательно формат приобрел вид:. Даже переход к такому формату слабо уменьшает длину команды.

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

Таким образом, если использовать аккумуляторный принцип, то для системы команд достаточно использовать один адрес:. Основная масса команд CISCпроцессора является одно- и двухадресная. В некоторых случаях команды можно не адресовать, если команда задает операцию над фиксированными адресами например, действие над аккумуляторами , в формате таких команд адресное поле отсутствует команда называется безадресной. Короткие команды предпочтительнее длинных, так как занимают меньше памяти.

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

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

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

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

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

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

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

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

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

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

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

Понятие о системе команд микропроцессоров. Основные группы команд.

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

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

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

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

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

Понятие о системе команд микропроцессоров. Основные группы команд.

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

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

Обычно, неявная адресация используется для фиксированных причин прерывания. FAQ Обратная связь Вопросы и предложения. Upload Опубликованный материал нарушает ваши авторские права?

Соседние файлы в папке arxitektyra



Авторизация
Вход