Глава3.СистемакомандIa32 Функциональная классификациямашинныхкоманд
Вначалеглавычтосистемакомандпоследнегонасегодняшнийдень
процессораPentiumIVархитектурыIA-32содержитболее300машинныхкоманд.Весьнабормашинныхкомандможноразбитьначетырегруппы(рис.3.2).
КомандыPentiumIV
Рис.3.2.МашинныекомандыпроцессораIntel(PentiumIV)
Впределахкаждойизэтихбольшихгрупп,исходяизфункциональногоназна-ченияотдельныхкоманд,можнопровестидальнейшееразбиениенаболеемелкиеподгруппы.Такойподходпозволяетдостичьнесколькихцелей:
оценитьвозможностипроцессорапообработкеданных;
рассмотретьсовокупностькомандпроцессораархитектурыIA-32какиерархи-ческуюисамодостаточнуюсистему;
№осмысленноизучатьотдельныемашинныекомандывконтекстеостальных.
Вглавах7-10и12будутрассмотреныкомандыосновногопроцессора(цело-численные),поэтомуздесьприведемихклассификациюпофункциональномупризнаку(рис.3.3).
Команды
Пересылкиданных
Арифметические
Логические Передачи Цепочечные
Управления
Управления
сЦП
Общегоназначения
Работысостеком
Преобразованияданных
Двоичнойарифметики
Десятичнойарифметики
,Манипуляции-битами
Сдвига
Условные
Работысфлагами
Работыс
-системнымирегистрами
Рис.3.3.Функциональнаяклассификацияцелочисленныхмашинныхкоманд
Функциональнаяклассификациякомандостальныхгруппбудет
навматериалесоответствующихглав.Информациюокаждойкомандепро-цессораархитектурыIA-32(вплотьдоPentiumIV)можнонайтивприложе-нии,котороеудобноиспользоватьвходеработынадпрограммнымипроектами.Стоитобратитьвниманиенато,чтоприложениесостоитизчетырех—
этосоответствуетразбиениюкомандпроцессоранафункциональныегруппы
(рис.3.2).
Итоги
Итоги 73
Системамашинныхкоманд—важнейшаячастьархитектурыкомпьютера,опре-деляющаявозможностиегопрограммирования.
Дляработыпроцессорадостаточнопрограммывдвоичныхкодах,нотакоепря-моепрограммированиенапрактикенеиспользуется.Языкассемблера—сим-волическийаналогмашинногоязыка.Преобразованиекомандассемблеравсоответствующиемашинныекомандыпроизводитпрограмма-транслятор—ассемблер.Дальнейшаяинтерпретациямашинныхкомандвконкретныесиг-налыэлектронныхсхемосуществляетсяспомощьюблокамикропрограммногоуправления,входящеговсоставпроцессора.
Существуетвзаимнооднозначноесоответствиемашинныхкомандикомандассемблера.
№Кодированиемашинныхкомандпроизводитсявсоответствиисоднимизвоз-можныхформатов.Командыпроцессоровархитектурысчитаютсяслож-ными,таккаквосновуконцепциипроцессоровположенпринципсовмес-тимости—программы,разработанныедляболеераннихмоделейпроцессоров,должнывыполнятьсянавсехпоследующих.
Структуракомандпроцессорапозволяетобеспечитьбольшуюгибкостьобработкеоперандовиразнообразиережимовадресации.
Большинствокомандассемблераимеютнескольковозможныхвариантовсо-четанияоперандов.Длякаждоговозможногосочетанияоперандовимеетсясвоямашиннаякомандасосвоимзначениемполякодаоперации.
Машиннуюкомандуформируютнесколькополей,изкоторыхобязательнымявляетсятолькоодно—полекодаоперации.
Системакомандархитектурыявляетсяиерархическойисамодостаточ-
ной.Всекомандыделятсяначетырегруппы,впределахкаждойизкоторыхвыделяетсядовольнобольшоеколичествофункциональныхподгрупп.
