Что такое система команд компьютера
(HardWare)- Составляет основу компьютеров, образует аппаратуру? построенную в основном с использованием электронных и электромеханических элементов и устройств. Принцип действия компьютеров состроит в выполнении программ (SoftWare)- заранее заданных операций. Т.е HardWare- это “железо” внутренности компьютера, а SoftWare- это программное обеспечение, которое заставляет все внутренности компьютера выполнять различные операции.
Какие основные классы компьютеров Вам известны?
Существует два основных класса компьютеров:
• цифровые компьютеры, обрабатывающие данные в виде двоичных кодов;
• аналоговые компьютеры, обрабатывающие непрерывно меняющиеся физические
величины (электрическое напряжение, время и т.д.), которые являются аналогами
В чём состоит принцип действия компьютеров?
Компьютер (англ. computer — вычислитель) представляет собой программируемоеэлектронное устройство, способное обрабатывать данные и производить вычисления, атакже выполнять другие задачи манипулирования символами.
Из каких простейших элементов состоит программа?
Программа - состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Что такое система команд компьютера?
Команда — это описание элементарной операции, которую должен выполнитькомпьютер. В общем случае, команда содержит следующую информацию: • код выполняемой операции; • указания по определению операндов (или их адресов); • указания по размещению получаемого результата.В зависимости от количества операндов, команды бывают: • одноадресные; • двухадресные; • трехадресные; • переменноадресные.
Перечислите главные устройства компьютера.
• память (запоминающее устройство, ЗУ), состоящую из перенумерованных ячеек; • процессор, включающий в себя устройство управления (УУ) и арифметико- логическое устройство (АЛУ); • устройство ввода; • устройство вывода.
Опишите функции памяти и функции процессора.
Функции памяти: • приём информации из других устройств; • запоминание информации; • выдача информации по запросу в другие устройства машины. Функции процессора: • обработка данных по заданной программе путем выполнения арифметических и логических операций; • программное управление работой устройств компьютера.
Назовите две основные части процессора. Каково их назначение?
Первая часть процессора, которая выполняет команды, называется арифметико-логическим устройством (АЛУ), а вторая его часть, выполняющая функции управленияустройствами, называется устройством управления (УУ).
Что такое регистры? Назовите некоторые важные регистры и опишите их функции.
Существует несколько типов регистров, отличающихся видом выполняемыхопераций. Некоторые важные регистры имеют свои названия, например: • сумматор — регистр АЛУ, участвующий в выполнении каждой операции; • счетчик команд — регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти; • регистр команд — регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные — для хранения кодов адресов операндов.
Сформулируйте общие принципы построения компьютеров.
В чём заключается принцип программного управления? Как выполняются команды условных и безусловных переходов?
В чём суть принципа однородности памяти? Какие возможности он открывает?
В чём заключается принцип адресности?
2.14. Какие архитектуры называются "фон-неймановскими"?
В основу построения подавляющего большинства компьютеров положеныследующие общие принципы, сформулированные в 1945 г. американским ученымДжоном фон Нейманом.1. Принцип программного управления. Из него следует, что программа состоитиз набора команд, которые выполняются процессором автоматически друг за другомв определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд. Этотрегистр процессора последовательно увеличивает хранимый в нем адрес очереднойкоманды на длину команды.А так как команды программы расположены в памяти друг за другом, то тем самыморганизуется выборка цепочки команд из последовательно расположенных ячеек памяти.Если же нужно после выполнения команды перейти не к следующей, а к какой-тодругой, используются команды условного или безусловного переходов, которые заносятв счетчик команд номер ячейки памяти, содержащей следующую команду. Выборкакоманд из памяти прекращается после достижения и выполнения команды “стоп”.Таким образом, процессор исполняет программу автоматически, безвмешательства человека. 2. Принцип однородности памяти. Программы и данные хранятся в одной и той жепамяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число,текст или команда. Над командами можно выполнять такие же действия, как и надданными. Это открывает целый ряд возможностей. Например, программа в процессесвоего выполнения также может подвергаться переработке, что позволяет задавать всамой программе правила получения некоторых ее частей (так в программе организуетсявыполнение циклов и подпрограмм). Более того, команды одной программы могутбыть получены как результаты исполнения другой программы. На этом принципеоснованы методы трансляции — перевода текста программы с языкапрограммирования высокого уровня на язык конкретной машины. 3. Принцип адресности. Структурно основная память состоит изперенумерованных ячеек; процессору в произвольный момент времени доступналюбая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы кзапомненным в них значениям можно было впоследствии обращаться или менять их впроцессе выполнения программ с использованием присвоенных имен. Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских.Но существуют компьютеры, принципиально отличающиеся от фон-неймановских. Дляних, например, может не выполняться принцип программного управления, т.е. онимогут работать без “счетчика команд”, указывающего текущую выполняемую командупрограммы. Для обращения к какой-либо переменной, хранящейся в памяти, этимкомпьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.
Что такое команда? Что описывает команда?
Команда — это описание элементарной операции, которую должен выполнитькомпьютер.В общем случае, команда содержит следующую информацию: • код выполняемой операции; • указания по определению операндов (или их адресов); • указания по размещению получаемого результата.В зависимости от количества операндов, команды бывают: • одноадресные; • двухадресные; • трехадресные; • переменноадресные.
Каким образом процессор при выполнении программы осуществляет выбор очередной команды?
Что понимается под структурой компьютера? Какой уровень детализации описания компьютера может она обеспечить?
Структура компьютера — это совокупность его функциональных элементов и связеймежду ними. Элементами могут быть самые различные устройства — от основныхлогических узлов компьютера до простейших схем. Структура компьютера графическипредставляется в виде структурных схем, с помощью которых можно дать описаниекомпьютера на любом уровне детализации.
Каковы отличительные особенности классической архитектуры?
К этому типу архитектуры относится и архитектура персонального компьютера с общей шиной, подробно рассмотренная в разделе. Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью.
Перечислите основные и производные единицы измерения количества памяти.
Тактовая частота, Гигагерцы.
Опишите работу стримера.
Стример (англ. tape streamer) — устройство для резервного копирования больших объёмов информации. В качестве носителя здесь применяются кассеты с магнитной лентой ёмкостью 1 — 2 Гбайта и больше. |
Стримеры позволяют записать на небольшую кассету с магнитной лентой огромное количество информации. Встроенные в стример средства аппаратного сжатия позволяют автоматически уплотнять информацию перед её записью и восстанавливать после считывания, что увеличивает объём сохраняемой информации.
Недостатком стримеров является их сравнительно низкая скорость записи, поиска и считывания информации.
В последнее время всё шире используются накопители на сменных дисках, которые позволяют не только увеличивать объём хранимой информации, но и переносить информацию между компьютерами. Объём сменных дисков — от сотен Мбайт до нескольких Гигабайт.
Что такое IP-адрес?
IP (Internet Protocol) — протокол межсетевого взаимодействия, отвечающий за адресацию и позволяющий пакету на пути к конечному пункту назначения проходить по нескольким сетям.
Какие основные услуги предоставляет пользователям система WWW?
World Wide Web (WWW, "Всемирная паутина") — гипертекстовая, а точнее,гипермедийная информационная система поиска ресурсов Интернет и доступа к ним.Гипертекст — информационная структура, позволяющая устанавливать смысловыесвязи между элементами текста на экране компьютера таким образом, чтобы можно былолегко осуществлять переходы от одного элемента к другому. На практике в гипертекстенекоторые слова выделяют путем подчёркивания или окрашивания в другой цвет.Выделение слова говорит о наличии связи этого слова с некоторым документом, вкотором тема, связанная с выделенным словом, рассматривается более подробно. Гипермедиа — это то, что получится, если в определении гипертекста заменитьслово "текст" на "любые виды информации": звук, графику, видео. Такие гипермедийныессылки возможны, поскольку наряду с текстовой информацией можно связывать и любую другую двоичную информацию, например, закодированный звук или графику, Так, если программа отображает карту мира и если пользователь выбирает на этой карте с помощью мыши какой-либо континент, программа может тут же дать о нём графическую, звуковую и текстовую информацию.
Какова роль аппаратуры (HardWare) и программного обеспечения (SoftWare) компьютера?
(HardWare)- Составляет основу компьютеров, образует аппаратуру? построенную в основном с использованием электронных и электромеханических элементов и устройств. Принцип действия компьютеров состроит в выполнении программ (SoftWare)- заранее заданных операций. Т.е HardWare- это “железо” внутренности компьютера, а SoftWare- это программное обеспечение, которое заставляет все внутренности компьютера выполнять различные операции.
Систе́ма кома́нд (также набо́р команд) — соглашение о предоставляемых архитектурой средствах программирования, а именно: определённых типах данных, инструкций, системы регистров, методов адресации, моделей памяти, способов обработки прерываний и исключений, методов ввода и вывода.
Система команд представляется спецификацией соответствия (микро)команд наборам кодов (микро)операций, выполняемых при вызове команды, определяемых (микро)архитектурой системы. (При этом, на системах с различной (микро)архитектурой может быть реализована одна и та же система команд. Например, Intel Pentium и AMD Athlon имеют почти идентичные версии системы команд x86, но имеют радикально различный внутренний дизайн.)
Базовыми командами являются, как правило, следующие:
-
, например «сложения» и «вычитания»; , например «логическое и», «логическое или» и «логическое не»; , например «переместить», «загрузить», «выгрузить»; , для обмена данными с внешними устройствами;
- управляющие инструкции, например «переход», «условный переход», «вызов подпрограммы», «возврат из подпрограммы».
Оптимальными в различных ситуациях являются разные способы построения системы команд.
- Если объединить наиболее часто используемую последовательность микроопераций под одной микрокомандой, то надо будет обеспечивать меньше микрокоманд. Такое построение системы команд носит название CISC (Complex Instruction Set Computer), в распоряжении имеется небольшое число составных команд.
- С другой стороны, это объединение уменьшает гибкость системы команд. Вариант с наибольшей гибкостью — наличие множества близких к элементарным операциям команд. Это RISC (Reduced Instruction Set Computer), в распоряжении имеются усечённые, простые команды.
- Еще большую гибкость системы команд можно получить используя MISC подход, построенный на уменьшении количества команд до минимального и упрощении вычислительного устройства обработки этих команд.
Архитектура системы команд
Архитектура системы команд является интерфейсом, связывающим программное и аппаратное обеспечение, как показано на рисунке ниже:
Рисунок 1. Архитектура системы команд. Автор24 — интернет-биржа студенческих работ
В результирующем итоге, целью программного и аппаратного обеспечения является обеспечение наиболее эффективной реализации вычислительного процесса. То есть минимизация времени вычислений, и, с этой точки зрения, очень важным является правильный выбор архитектуры системы команд.
Проще говоря, время исполнения программы, то есть время вычислений Tвыч, может быть определено через количество команд в программном приложении Nком, усреднённое число тактов процессора, отводимых на выполнение одной команды CPI, и размер тактового периода τпр:
Tвыч = Nком • CPI • τпр.
Все составляющие этой формулы имеют зависимость от определённых аспектов архитектуры системы команд, и, при этом, могут влиять на другие, как показано на рисунке ниже:
Полезное
Введение
Система команд электронной вычислительной машины — это весь список команд, которые может исполнить данное вычислительное устройство. При этом, архитектурой системы команд является набор тех средств компьютерного оборудования, которые видимы и могут быть доступными программисту. Архитектуру системы команд следует воспринимать в качестве линии, согласующей нужды проектировщиков программ с возможностями разработчиков модулей вычислительной техники.
Готовые работы на аналогичную тему
Рисунок 2. Система команд. Автор24 — интернет-биржа студенческих работ
Следовательно, нужно очень внимательно подходить к подбору архитектуры системы команд.
- Какой тип данных будет использован в компьютере, и в каком формате?
- В каких ещё местах, кроме главной памяти, могут быть сохранены информационные данные?
- Как может быть осуществлён доступ к информации?
- Какой перечень операций может осуществляться над информационными данными?
- Какое количество операндов допускается в команде?
- Каким образом может быть определён адрес следующей команды?
- Как будет выполняться кодирование команд?
История прогресса в сфере вычислительного оборудования, будто зеркало, отображает все изменения, которые происходят в отношениях проектировщиков к перспективам различных архитектур системы команд.
Мотивация, которая предопределяет обращение к новому типу архитектуры системы команд, заключается в следующих аспектах:
- Набор операций, которые может выполнить вычислительная техника, и их уровень сложности.
- Место расположения операндов, влияющее на число и размер адресов, которые указываются в адресном участке команд работы с данными.
Сегодняшние технологии программирования базируются на языках высокого уровня, основной целью которых является облегчение процесса программирования. Однако ориентация на высокоуровневые языки порождает существенную проблему, а именно, сложные операторы, типичные для языков высокого уровня, имеют существенные отличия от обычных машинных процедур, выполняемых практически во всех компьютерах. Как следствие, выполнение программ на компьютере может оказаться низкоэффективным. Данная проблема именуется семантическим разрывом, и для её решения проектировщики вычислительного оборудования сегодня могут выбрать следующие подходы и соответствующие им типы архитектуры системы команд:
- Архитектура, имеющая полный командный набор, то есть CISC(Complex Instruction Set Computer).
- Архитектура, имеющая сокращённый командный набор, то есть RISC (Reduced Instruction Set Computer).
- Архитектура, имеющая командные слова сверхбольшого размера, то есть VLIW (Very Long Instruction Word).
Архитектура CISC способна преодолеть семантический разрыв путём расширения системы команд, а также дополнением её усложнёнными командами, которые по семантике аналогичны операторам высокоуровневых языков. Основы архитектуры CISC были заложены корпорацией IBM, начавшей использовать этот подход в семействе ЭВМ IBM 360, и продолжает его использовать в нынешних самых производительных универсальных компьютерах, класса мэйнфрейм. Такой же подход использовала и фирма Intel при разработке микропроцессоров серии x86. Архитектура системы команд CISC характеризуется следующими моментами:
- Присутствие в процессоре относительно малого количества регистров общего назначения.
- Значительное число машинных команд, некоторые из которых способны аппаратно реализовать сложные операторы высокоуровневых языков.
- Наличие разнообразных методов адресации операндов.
- Большое количество форматов команд, имеющих разную разрядность.
- Имеются команды, в которых обработка совмещена с обращением к памяти.
К типу архитектуры CISC относятся фактически все ЭВМ, которые выпускались до середины восьмидесятых годов прошлого века, и очень много ЭВМ, выпускающихся сегодня.
Однако, подробный анализ, проведённый специалистами, привёл к существенному пересмотру стандартных решений, что и привело к разработке архитектуры RISC. Её основной идеей было ограничение перечня команд вычислительного устройства наиболее часто применяемыми самыми простыми командами, работающими с данными, находящимися лишь в регистрах процессоров. Обращение к памяти возможно только при помощи специализированных команд чтения и записи. Сильно сократилось число форматов и методов задания адресов операндов. Данные меры дали возможность сильно упростить аппаратное обеспечение ЭВМ и повысить уровень быстродействия.
Основой архитектуры VLIW является также архитектура RISC. В VLIW набор несложных команд RISC соединён в единую сверхбольшую команду, и они исполняются параллельно. В остальном архитектура системы команд VLIW аналогична RISC, а отличие состоит только в добавочном уровне параллельных вычислений.
2.1. Процессор.
Самый основной элемент компьютера, это, конечно, процессор. Давайте подробней его рассмотрим. Упрощённая структура процессора (рис. 4):
Рис. 4. Упрощённая структура процессора
Основные элементы процессора:
· Регистры – это специальные ячейки памяти, физически расположенные внутри процессора. В отличие от ОЗУ, где для обращения к данным требуется использовать шину адреса, к регистрам процессор может обращаться напрямую. Это существенно ускорят работу с данными.
· Арифметико-логическое устройство выполняет арифметические операции, такие как сложение, вычитание, а также логические операции.
· Блок управления определяет последовательность микрокоманд, выполняемых при обработке машинных кодов (команд).
· Тактовый генератор , или генератор тактовых импульсов, задаёт рабочую частоту процессора.
2.2. Режимы работы процессора.
Процессор архитектуры x86 может работать в одном из пяти режимов и переключаться между ними очень быстро:
1. Реальный (незащищенный) режим (real address mode) — режим, в котором работал процессор 8086. В современных процессорах этот режим поддерживается в основном для совместимости с древним программным обеспечением (DOS-программами).
2. Защищенный режим (protected mode) — режим, который впервые был реализован в 80286 процессоре. Все современные операционные системы (Windows, Linux и пр.) работают в защищенном режиме. Программы реального режима не могут функционировать в защищенном режиме.
3. Режим виртуального процессора 8086 (virtual-8086 mode, V86) — в этот режим можно перейти только из защищенного режима. Служит для обеспечения функционирования программ реального режима, причем дает возможность одновременной работы нескольких таких программ, что в реальном режиме невозможно. Режим V86 предоставляет аппаратные средства для формирования виртуальной машины, эмулирующей процессор8086. Виртуальная машина формируется программными средствами операционной системы. В Windows такая виртуальная машина называется VDM (Virtual DOS Machine — виртуальная машина DOS). VDM перехватывает и обрабатывает системные вызовы от работающих DOS-приложений.
4. Нереальный режим (unreal mode, он же big real mode) — аналогичен реальному режиму, только позволяет получать доступ ко всей физической памяти, что невозможно в реальном режиме.
5. Режим системного управления System Management Mode (SMM) используется в служебных и отладочных целях.
При загрузке компьютера процессор всегда находится в реальном режиме, в этом режиме работали первые операционные системы, например MS-DOS, однако современные операционные системы, такие как Windows и Linux переводят процессор в защищенный режим. Вам, наверное, интересно, что защищает процессор в защищенном режиме? В защищенном режиме процессор защищает выполняемые программы в памяти от взаимного влияния (умышленно или по ошибке) друг на друга, что легко может произойти в реальном режиме. Поэтому защищенный режим и назвали защищенным.
2.3. Регистры процессора (программная модель процессора).
Для понимания работы команд ассемблера необходимо четко представлять, как выполняется адресация данных, какие регистры процессора и как могут использоваться при выполнении инструкций. Рассмотрим базовую программную модель процессоров Intel 80386, в которую входят:
· 8 регистров общего назначения, служащих для хранения данных и указателей;
· регистры сегментов — они хранят 6 селекторов сегментов;
· регистр управления и контроля EFLAGS, который позволяет управлять состоянием выполнения программы и состоянием (на уровне приложения) процессора;
· регистр-указатель EIP выполняемой следующей инструкции процессора;
· система команд (инструкций) процессора;
· режимы адресации данных в командах процессора.
Начнем с описания базовых регистров процессора Intel 80386.
Базовые регистры процессора Intel 80386 являются основой для разработки программ и позволяют решать основные задачи по обработке данных. Все они показаны на рис. 5.
Рис. 5. Базовые регистры процессора Intel 80386
Среди базового набора регистров выделим отдельные группы и рассмотрим их назначение.
2.4. Регистры общего назначения.
Остальные четыре регистра – ESI (индекс источника), EDI (индекс приемника), ЕВР (указатель базы), ESP (указатель стека) – имеют более конкретное назначение и применяются для хранения всевозможных временных переменных. Регистры ESI и EDI необходимы в строковых операциях, ЕВР и ESP – при работе со стеком. Так же как и в случае с регистрами ЕАХ - EDX, младшие половины этих четырех регистров называются SI, DI, BP и SP соответственно, и в процессорах до 80386 только они и присутствовали.
2.5. Сегментные регистры.
При использовании сегментированных моделей памяти для формирования любого адреса нужны два числа – адрес начала сегмента и смещение искомого байта относительно этого начала (в бессегментной модели памяти flat адреса начал всех сегментов равны). Операционные системы (кроме DOS) могут размещать сегменты, с которыми работает программа пользователя, в разных местах памяти и даже временно записывать их на диск, если памяти не хватает. Так как сегменты способны оказаться где угодно, программа обращается к ним, применяя вместо настоящего адреса начала сегмента 16-битное число, называемое селектором. В процессорах Intel предусмотрено шесть 16-битных регистров - CS, DS, ES, FS, GS, SS , где хранятся селекторы. (Регистры FS и GS отсутствовали в 8086, но появились уже в 80286.) Это означает, что в любой момент можно изменить параметры, записанные в этих регистрах.
В отличие от DS, ES, GS, FS, которые называются регистрами сегментов данных, CS и SS отвечают за сегменты двух особенных типов – сегмент кода и сегмент стека. Первый содержит программу, исполняющуюся в данный момент, следовательно, запись нового селектора в этот регистр приводит к тому, что далее будет исполнена не следующая по тексту программы команда, а команда из кода, находящегося в другом сегменте, с тем же смещением. Смещение очередной выполняемой команды всегда хранится в специальном регистре EIP (указатель инструкции, 16-битная форма IP), запись в который так же приведет к тому, что далее будет исполнена какая-нибудь другая команда. На самом деле все команды передачи управления – перехода, условного перехода, цикла, вызова подпрограммы и т.п. – и осуществляют эту самую запись в CS и EIP.
2.6. Регистр флагов.
Еще один важный регистр, использующийся при выполнении большинства команд, - регистр флагов. Как и раньше, его младшие 16 бит, представлявшие собой весь этот регистр до процессора 80386, называются FLAGS. В EFLAGS каждый бит является флагом, то есть устанавливается в 1 при определенных условиях или установка его в 1 изменяет поведение процессора. Все флаги, расположенные в старшем слове регистра, имеют отношение к управлению защищенным режимом, поэтому здесь рассмотрен только регистр FLAGS (см. рис. 6):
Рис. 6. Регистр флагов FLAGS.
CF – флаг переноса. Устанавливается в 1, если результат предыдущей операции не уместился в приемнике и произошел перенос из старшего бита или если требуется заем (при вычитании), в противном случае – в 0. Например, после сложения слова 0 FFFFh и 1, если регистр, в который надо поместить результат, – слово, в него будет записано 0000 h и флаг CF = 1.
PF – флаг четности. Устанавливается в 1, если младший байт результата предыдущей команды содержит четное число битов, равных 1, и в 0, если нечетное. Это не то же самое, что делимость на два. Число делится на два без остатка, если его самый младший бит равен нулю, и не делится, когда он равен 1.
AF – флаг полупереноса или вспомогательного переноса. Устанавливается в 1, если в результате предыдущей операции произошел перенос (или заем) из третьего бита в четвертый. Этот флаг используется автоматически командами двоично-десятичной коррекции.
ZF – флаг нуля. Устанавливается в 1, если результат предыдущей команды – ноль.
SF – флаг знака. Он всегда равен старшему биту результата.
TF – флаг ловушки. Он был предусмотрен для работы отладчиков, не использующих защищенный режим. Установка его в 1 приводит к тому, что после выполнения каждой программной команды управление временно передается отладчику.
IF – флаг прерываний. Сброс этого флага в 0 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств. Обычно его сбрасывают на короткое время для выполнения критических участков кода.
DF – флаг направления. Он контролирует поведение команд обработки строк: когда он установлен в 1, строки обрабатываются в сторону уменьшения адресов, когда DF =0 – наоборот.
OF – флаг переполнения. Он устанавливается в 1, если результат предыдущей арифметической операции над числами со знаком выходит за допустимые для них пределы. Например, если при сложении двух положительных чисел получается число со старшим битом, равным единице, то есть отрицательное, и наоборот.
Флаги IOPL (уровень привилегий ввода-вывода) и NT (вложенная задача) применяются в защищенном режиме.
2.7. Цикл выполнения команды
Программа состоит из машинных команд. Программа загружается в оперативную память компьютера. Затем программа начинает выполняться, то есть процессор выполняет машинные команды в той последовательности, в какой они записаны в программе.
Для того чтобы процессор знал, какую команду нужно выполнять в определённый момент, существует счётчик команд – специальный регистр, в котором хранится адрес команды, которая должна быть выполнена после выполнения текущей команды. То есть при запуске программы в этом регистре хранится адрес первой команды. В процессорах Intel в качестве счётчика команд (его ещё называют указатель команды) используется регистр EIP (или IP в 16-разрядных программах).
Счётчик команд работает со сверхоперативной памятью, которая находится внутри процессора. Эта память носит название очередь команд, куда помещается одна или несколько команд непосредственно перед их выполнением. То есть в счётчике команд хранится адрес команды в очереди команд, а не адрес оперативной памяти.
Цикл выполнения команды – это последовательность действий, которая совершается процессором при выполнении одной машинной команды. При выполнении каждой машинной команды процессор должен выполнить как минимум три действия: выборку, декодирование и выполнение. Если в команде используется операнд, расположенный в оперативной памяти, то процессору придётся выполнить ещё две операции: выборку операнда из памяти и запись результата в память. Ниже описаны эти пять операций.
- Выборка команды . Блок управления извлекает команду из памяти (из очереди команд), копирует её во внутреннюю память процессора и увеличивает значение счётчика команд на длину этой команды (разные команды могут иметь разный размер).
- Декодирование команды . Блок управления определяет тип выполняемой команды, пересылает указанные в ней операнды в АЛУ и генерирует электрические сигналы управления АЛУ, которые соответствуют типу выполняемой операции.
- Выборка операндов . Если в команде используется операнд, расположенный в оперативной памяти, то блок управления начинает операцию по его выборке из памяти.
- Выполнение команды . АЛУ выполняет указанную в команде операцию, сохраняет полученный результат в заданном месте и обновляет состояние флагов, по значению которых программа может судить о результате выполнения команды.
- Запись результата в память . Если результат выполнения команды должен быть сохранён в памяти, блок управления начинает операцию сохранения данных в памяти.
Суммируем полученные знания и составим цикл выполнения команды:
- Выбрать из очереди команд команду, на которую указывает счётчик команд.
- Определить адрес следующей команды в очереди команд и записать адрес следующей команды в счётчик команд.
- Декодировать команду.
- Если в команде есть операнды, находящиеся в памяти, то выбрать операнды.
- Выполнить команду и установить флаги.
- Записать результат в память (по необходимости).
- Начать выполнение следующей команды с п.1.
Это упрощённый цикл выполнения команды. К тому же действия могут отличаться в зависимости от процессора. Однако это даёт общее представление о том, как процессор выполняет одну машинную команду, а значит и программу в целом.
См. также
- Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Технологии процессоров
- Обработка команд
Wikimedia Foundation . 2010 .
Смотреть что такое "Система команд" в других словарях:
система команд сверхбольшой разрядности — Архитектура процессора с командными словами сверхбольшой длины. Метод управления вычислениями, обеспечивающий высокопроизводительную работу за счет использования команд длиной в несколько сотен битов, вместо параллельного выполнения коротких… … Справочник технического переводчика
Команд система — Система команд соглашение о предоставляемых архитектурой средствах программирования, а именно: определённых типах данных, инструкций, системы регистров, методов адресации, моделей памяти, способов обработки прерываний и исключений, методов ввода … Википедия
Система передачи — Совокупность технических средств, обеспечивающая образование линейного тракта, типовых групповых трактов и каналов первичной сети электросвязи, состоящая из станций системы передачи и среды распространения сигналов электросвязи (ГОСТ 22348 77)… … Словарь-справочник терминов нормативно-технической документации
система передачи извещений — система передачи извещений: Система, используемая для передачи информации о состоянии одной или нескольких СТС между охраняемыми зонами и одним или несколькими центрами приема извещений о тревоге. [ГОСТ Р 50775 95, пункт 4.29] Источник … Словарь-справочник терминов нормативно-технической документации
Система футбольных лиг Франции — система связанных между собой структурированных футбольных лиг, управляемых Французской Федерацией Футбола. Включает в себя около 6000 футбольных клубов (без учета команд дублёров). Структура чемпионата Уровень Чемпионат 1 Лига 1 20 … Википедия
Система футбольных лиг Белоруссии — Система футбольных лиг Беларуси состоит из четырёх уровней и управляется Белорусской федерацией футбола, а также местными федерациями. Содержание 1 Структура 1.1 Уровень 1: Высшая лига … Википедия
Система управления версиями — (от англ. Version Control System, VCS или Revision Control System) программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при … Википедия
система передачи извещений (СПИ) — система передачи извещений (СПИ): Составная часть системы охранной или охранно пожарной сигнализации, состоящая из совместно действующих технических средств, предназначенных для передачи по каналам связи и приема в пункте централизованной охраны… … Словарь-справочник терминов нормативно-технической документации
Система фальстарта — (лёгкая атлетика) – программно –аппаратный комплекс используемый судьями по лёгкой атлетике для определения фальстарта посредством автоматической регистрации времени реакции спортсменов в спринте, барьерном беге и первых этапах эстафет до 4х 400… … Википедия
Система команд - это набор допустимых для данного процессора управляющих кодов и способов адресации данных. Система команд жестко связана с конкретным типом процессора, поскольку определяется аппаратной структурой блока дешифрации команд, и обычно не обладает переносимостью на другие типы процессоров (хотя может иметь место совместимость “снизу-вверх” в рамках серии процессоров, как, например, в серии i 80 x 86 ).
Типовая структура формата команды:
1.КОП - код операции - двоичный код, однозначно указывающий процессору на выполнение конкретных действий (пересылка, сложение и т.п.), и определяющий при этом форму задания адресов операндов; 1 или 2 байта;
2.АЧ - адресная часть - двоичное число, которое может представлять собой адрес (адреса) операндов, значение операнда, адрес следующей команды (адрес перехода, передачи управления). 1 до 4 байт.
Индексная (автоинкрементная и автодекрементная ) адресация. Её назначение.
При обработке больших массивов данных, выбираемых последовательно друг за другом, нет смысла каждый раз обращаться в память за новым адресом. Для этого достаточно автоматически менять содержимое специального регистра, называемого индексным, чтобы выбирать последовательно размещенные данные. Индексный регистр является косвенным. Его загружают начальным адресом массива(специальной командой). Дальнейшая адресация осуществляется путем автоматического добавления или вычитания единицы или шага адреса из его содержимого.
Рисунок. Формирование адреса операнда при индексной адресации.
Три вида индексных операции:
а) засылка в индексный регистр начального значения
б) изменение индекса
в) проверка окончания циклических вычислений.
Часто в команду с индексной адресацией включают признак, определяющий шаг индексации Т (Т=1,2,4 и т.д.), что позволяет осуществлять адресацию массивов через байт, слово, двойное слово и т.д.
В современных процессорах (например в Intel 80386 и выше) применяют все возможные сочетания из базового адреса, индексного адреса, относительного адреса и шага.
В систему команд традиционно входят такие группы:
· пересылка данных (регистр-регистр, регистр-память, память-регистр, специфические команды типа память-память);все команды пересылки выполняют, по сути, копирование данных из ячейки-источника в ячейку-приемник;
· логические операции ( and , or , xor , not ) и операции сдвига;
· ввод-вывод – специфические команды для передачи данных между процессором и устройствами ввода-вывода, размещенными в адресном пространстве ввода-вывода;
· передача управления – при выполнении такой команды процессор записывает в счетчик команд PC адрес следующей команды, взятый из адресной части текущей команды;
· специальные – останов, сброс, управление прерываниями, управление режимом пониженного энергопотребления и т.п.
Основные группы команд МП.
По характеру операций различают следующие группы команд:
a) команда арифметических операций для чисел с ПТ и ФТ.
b) команда десятичной арифметики.
c) команда логических операций.
d) команда передачи кодов.
e) команда операций ввода/вывода.
f) команда управления порядком исполнения команд (передача управления).
g) команда управления режимом работы.
Рассмотрим особенности некоторых групп команд.
Команды передачи управления
Для определения адреса текущей команды МП имеет в своем составе специальный регистр указатель адреса команды или счетчик команд PC , IP .
Модификация РС происходит сразу после выборки команды (или ее байта). Поскольку чаще всего используется естественная адресация команд, то возникает необходимость в командах передачи управления для реализации ветвления алгоритмов. Для этого используются специальные команды :
n команды перехода
n команды замещения
n команды смены состояния процессора
n команды запроса прерывания
1. команды перехода.
Адресная часть команды непосредственно или после суммирования с содержимым базового регистра передается в счетчик команд , т.е. адрес следующей команды задается командой перехода.
Используются команды безусловного и условного переходов.
1.1 Команды безусловного перехода
Переход может осуществляться и переход по косвенному адресу
На косвенную адресацию указывает либо КОП , либо специальный бит в поле команды
1.2 Команды условного перехода
Адрес следующей команды зависит от выполнения некоторого условия :
М- код признака ( маска условия )
Команды могут быть с относительной и косвенной адресацией.
Отличие от команд перехода заключается в том, чтобы по окончании подпрограммы реализовать возврат в прежнюю точку программы. Для этого необходимо сохранить адрес возврата.
Перед выполнением передачи управления содержимое РС, указывающее на следующую команду программы запоминается по адресу, указываемого в команде (обычно регистр или стек). При этом организуется дополнительная команда возврата из подпрограммы, которая восстанавливает содержимое счетчика команд.
Команда замещения - вместо очередной команды используется замещающая команда, находящаяся по адресу, указанному в команде “выполнить”. Выполнение этой замещающей команды не должно приводить к изменению РС. После исполнения этой команды продолжается естественный ход программы (это не JMP).
Команда “выполнение” - аналог подпрограммы, состоящей из одной команды без сохранения адреса возврата.
Архитектура системы команд — это совокупность формальных правил отображения программных приложений в машинных кодах модулем процессора или его эмулятором.
Читайте также: