Перечислите функции памяти и процессора
Память микропроцессорной системы выполняет функцию временного или постоянного хранения данных и команд. Объем памяти определяет допустимую сложность выполняемых системой алгоритмов, а также в некоторой степени и скорость работы системы в целом. Модули памяти выполняются на микросхемах памяти (оперативной или постоянной). Все чаще в составе микропроцессорных систем используется флэш-память (англ. — flash memory ), которая представляет собой энергонезависимую память с возможностью многократной перезаписи содержимого.
Информация в памяти хранится в ячейках, количество разрядов которых равно количеству разрядов шины данных процессора. Обычно оно кратно восьми (например, 8, 16, 32, 64). Допустимое количество ячеек памяти определяется количеством разрядов шины адреса как 2 N , где N — количество разрядов шины адреса . Чаще всего объем памяти измеряется в байтах независимо от разрядности ячейки памяти. Используются также следующие более крупные единицы объема памяти: килобайт — 2 10 или 1024 байта (обозначается Кбайт), мегабайт — 2 20 или 1 048 576 байт (обозначается Мбайт), гигабайт — 2 30 байт (обозначается Гбайт), терабайт — 2 40 (обозначается Тбайт) Например, если память имеет 65 536 ячеек, каждая из которых 16-разрядная, то говорят, что память имеет объем 128 Кбайт. Совокупность ячеек памяти называется обычно пространством памяти системы.
Для подключения модуля памяти к системной магистрали используются блоки сопряжения, которые включают в себя дешифратор (селектор) адреса , схему обработки управляющих сигналов магистрали и буферы данных (рис. 2.18).
Оперативная память общается с системной магистралью в циклах чтения и записи, постоянная память — только в циклах чтения. Обычно в составе системы имеется несколько модулей памяти, каждый из которых работает в своей области пространства памяти. Селектор адреса как раз и определяет, какая область адресов пространства памяти отведена данному модулю памяти. Схема управления вырабатывает в нужные моменты сигналы разрешения работы памяти (CS) и сигналы разрешения записи в память (WR). Буферы данных передают данные от памяти к магистрали или от магистрали к памяти.
В пространстве памяти микропроцессорной системы обычно выделяются несколько особых областей, которые выполняют специальные функции.
Память программы начального запуска всегда выполняется на ПЗУ или флэш-памяти. Именно с этой области процессор начинает работу после включения питания и после сброса его с помощью сигнала RESET.
Память для стека или стек (Stack) — это часть оперативной памяти, предназначенная для временного хранения данных в режиме LIFO (Last In — First Out).
Особенность стека по сравнению с другой оперативной памятью — это заданный и неизменяемый способ адресации . При записи любого числа (кода) в стек число записывается по адресу, определяемому как содержимое регистра указателя стека , предварительно уменьшенное (декрементированное) на единицу (или на два, если 16-разрядные слова расположены в памяти по четным адресам). При чтении из стека число читается из адреса, определяемого содержимым указателя стека , после чего это содержимое указателя стека увеличивается (инкрементируется) на единицу (или на два). В результате получается, что число, записанное последним, будет прочитано первым, а число, записанное первым, будет прочитано последним. Такая память называется LIFO или памятью магазинного типа (например, в магазине автомата патрон, установленный последним, будет извлечен первым).
Принцип действия стека показан на рис. 2.19 (адреса ячеек памяти выбраны условно).
Пусть, например, текущее состояние указателя стека 1000008, и в него надо записать два числа (слова). Первое слово будет записано по адресу 1000006 (перед записью указатель стека уменьшится на два). Второе — по адресу 1000004. После записи содержимое указателя стека — 1000004. Если затем прочитать из стека два слова, то первым будет прочитано слово из адреса 1000004, а после чтения указатель стека станет равным 1000006. Вторым будет прочитано слово из адреса 1000006, а указатель стека станет равным 1000008. Все вернулось к исходному состоянию. Первое записанное слово читается вторым, а второе — первым.
Необходимость такой адресации становится очевидной в случае многократно вложенных подпрограмм. Пусть, например, выполняется основная программа, и из нее вызывается подпрограмма 1. Если нам надо сохранить значения данных и внутренних регистров основной программы на время выполнения подпрограммы, мы перед вызовом подпрограммы сохраним их в стеке (запишем в стек ), а после ее окончания извлечем (прочитаем) их из стека . Если же из подпрограммы 1 вызывается подпрограмма 2, то ту же самую операцию мы проделаем с данными и содержимым внутренних регистров подпрограммы 1. Понятно, что внутри подпрограммы 2 крайними в стеке (читаемыми в первую очередь) будут данные из подпрограммы 1, а данные из основной программы будут глубже. При этом в случае чтения из стека автоматически будет соблюдаться нужный порядок читаемой информации. То же самое будет и в случае, когда таких уровней вложения подпрограмм гораздо больше. То есть то, что надо хранить подольше, прячется поглубже, а то, что скоро может потребоваться — с краю.
В системе команд любого процессора для обмена информацией со стеком предусмотрены специальные команды записи в стек (PUSH) и чтения из стека (POP). В стеке можно прятать не только содержимое всех внутренних регистров процессоров, но и содержимое регистра признаков (слово состояния процессора, PSW ). Это позволяет, например, при возвращении из подпрограммы контролировать результат последней команды, выполненной непосредственно перед вызовом этой подпрограммы. Можно также хранить в стеке и данные, для того чтобы удобнее было передавать их между программами и подпрограммами. В общем случае, чем больше область памяти, отведенная под стек , тем больше свободы у программиста и тем более сложные программы могут выполняться.
Следующая специальная область памяти — это таблица векторов прерываний.
Вообще, понятие прерывания довольно многозначно. Под прерыванием в общем случае понимается не только обслуживание запроса внешнего устройства, но и любое нарушение последовательной работы процессора. Например, может быть предусмотрено прерывание по факту некорректного выполнения арифметической операции типа деления на ноль. Или же прерывание может быть программным, когда в программе используется команда перехода на какую-то подпрограмму, из которой затем последует возврат в основную программу. В последнем случае общее с истинным прерыванием только то, как осуществляется переход на подпрограмму и возврат из нее.
Любое прерывание обрабатывается через таблицу векторов (указателей) прерываний. В этой таблице в простейшем случае находятся адреса начала программ обработки прерываний, которые и называются векторами. Длина таблицы может быть довольно большой (до нескольких сот элементов). Обычно таблица векторов прерываний располагается в начале пространства памяти (в ячейках памяти с малыми адресами). Адрес каждого вектора (или адрес начального элемента каждого вектора) представляет собой номер прерывания.
В случае аппаратных прерываний номер прерывания или задается устройством, запросившим прерывание (при векторных прерываниях), или же задается номером линии запроса прерываний (при радиальных прерываниях). Процессор, получив аппаратное прерывание, заканчивает выполнение текущей команды и обращается к памяти в область таблицы векторов прерываний, в ту ее строку, которая определяется номером запрошенного прерывания. Затем процессор читает содержимое этой строки (код вектора прерывания) и переходит в адрес памяти, задаваемый этим вектором. Начиная с этого адреса в памяти должна располагаться программа обработки прерывания с данным номером. В конце программы обработки прерываний обязательно должна располагаться команда выхода из прерывания, выполнив которую, процессор возвращается к выполнению прерванной основной программы. Параметры процессора на время выполнения программы обработки прерывания сохраняются в стеке .
Пусть, например, процессор (рис.2.20) выполнял основную программу и команду, находящуюся в адресе памяти 5000 (условно). В этот момент он получил запрос прерывания с номером (адресом вектора) 4. Процессор заканчивает выполнение команды из адреса 5000. Затем он сохраняет в стеке текущее значение счетчика команд (5001) и текущее значение PSW . После этого процессор читает из адреса 4 памяти код вектора прерывания. Пусть этот код равен 6000. Процессор переходит в адрес памяти 6000 и приступает к выполнению программы обработки прерывания, начинающейся с этого адреса. Пусть эта программа заканчивается в адресе 6100. Дойдя до этого адреса, процессор возвращается к выполнению прерванной программы. Для этого он извлекает из стека значение адреса (5001), на котором его прервали, и бывшее в тот момент PSW . Затем процессор читает команду из адреса 5001 и дальше последовательно выполняет команды основной программы.
Прерывание в случае аварийной ситуации обрабатывается точно так же, только адрес вектора прерывания (номер строки в таблице векторов) жестко привязан к данному типу аварийной ситуации.
Программное прерывание тоже обслуживается через таблицу векторов прерываний, но номер прерывания указывается в составе команды, вызывающей прерывание.
Такая сложная, на первый взгляд, организация прерываний позволяет программисту легко менять программы обработки прерываний, располагать их в любой области памяти, делать их любого размера и любой сложности.
Во время выполнения программы обработки прерывания может поступить новый запрос на прерывание. В этом случае он обрабатывается точно так же, как описано, но основной программой считается прерванная программа обработки предыдущего прерывания. Это называется многократным вложением прерываний. Механизм стека позволяет без проблем обслуживать это многократное вложение, так как первым из стека извлекается тот код, который был сохранен последним, то есть возврат из обработки данного прерывания происходит в программу обработки предыдущего прерывания.
Отметим, что в более сложных случаях в таблице векторов прерываний могут находиться не адреса начала программ обработки прерываний, а так называемые дескрипторы (описатели) прерываний. Но конечным результатом обработки этого дескриптора все равно будет адрес начала программы обработки прерываний.
Наконец, еще одна специальная область памяти микропроцессорной системы — это память устройств, подключенных к системной шине. Такое решение встречается нечасто, но иногда оно очень удобно. То есть процессор получает возможность обращаться к внутренней памяти устройств ввода/вывода или каких-то еще подключенных к системной шине устройств, как к своей собственной системной памяти. Обычно окно в пространстве памяти, выделяемое для этого, не слишком большое.
Все остальные части пространства памяти, как правило, имеют универсальное назначение. В них могут располагаться как данные, так и программы (конечно, в случае одношинной архитектуры). Иногда это пространство памяти используется как единое целое, без всяких границ. А иногда пространство памяти делится на сегменты с программно изменяемым адресом начала сегмента и с установленным размером сегмента. Оба подхода имеют свои плюсы и минусы. Например, использование сегментов позволяет защитить область программ или данных, но зато границы сегментов могут затруднять размещение больших программ и массивов данных.
В заключение остановимся на проблеме разделения адресов памяти и адресов устройств ввода/вывода. Существует два основных подхода к решению этой проблемы:
- выделение в общем адресном пространстве системы специальной области адресов для устройств ввода/вывода;
- полное разделение адресных пространств памяти и устройств ввода/вывода.
Первый подход хорош тем, что при обращении к устройствам ввода/вывода процессор может использовать те же команды, которые служат для взаимодействия с памятью. Но адресное пространство памяти должно быть уменьшено на величину адресного пространства устройств ввода/вывода. Например, при 16-разрядной шине адреса всего может быть 64К адресов. Из них 56К адресов отводится под адресное пространство памяти, а 8К адресов — под адресное пространство устройств ввода/вывода.
Преимущество второго подхода состоит в том, что память занимает все адресное пространство микропроцессорной системы . Для общения с устройствами ввода/вывода применяются специальные команды и специальные стробы обмена на магистрали. Именно так сделано, например, в персональных компьютерах. Но возможности взаимодействия с устройствами ввода/вывода в данном случае существенно ограничены по сравнению с возможностями общения с памятью.
(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- это программное обеспечение, которое заставляет все внутренности компьютера выполнять различные операции.
Процессор - основная часть компьютера, осуществляющая управление (эти возможности реализуются при помощи логических операций) и обработку данных.
Функции процессоров:
• Функции управления обработкой
• Функции хранения и передачи данных
• Функции управления передачей данных
• Функции поддержки интерфейса и операций ввода-вывода
Структура процессора, позволяющая реализовать его функции, включает в себя:
·устройство управления (УУ), дешифрирующее команды и вырабатывающее сигналы управления для блоков, выполняющих эти команды;
·арифметико - логическое устройство (АЛУ), выполняющее арифметические и логические операции;
·блок регистров общего назначения (РОН), позволяющий выполнять операции с предельно высокой скоростью;
·блоки сверхоперативной памяти (Кэш 1-го уровня) для хранения команд и данных. Введение Кэш позволяет уменьшить количество обращений к оперативному запоминающему устройству компьютера для чтения последовательности команд и данных;
·блоки, осуществляющие интерфейс с памятью компьютера. Они обеспечивают связь с внешним оперативным запоминающим устройством или блоком быстрой памяти (Кэш 2-го уровня), устанавливаемым между процессором и оперативной памятью;
·системный интерфейс, который обеспечивает связь процессора с системными блоками компьютера и внешними устройствами (ВУ).
Структурная схема простейшего процессора.
Основные характеристики процессоров
Процессоры можно классифицировать по двум основным параметрам: разрядности и быстродействию. Быстродействие процессора -- Тактовая частота -- задает ритм жизни компьютера. Чем выше тактовая частота, тем меньше длительность выполнения одной операции и тем выше производительность компьютера. Она измеряется в мегагерцах (МГц); 1 МГц равен миллиону тактов в секунду.
Разрядность процессора -- параметр более сложный. В процессор входит три важных устройства, основной характеристикой которых является разрядность:
шина ввода и вывода данных; внутренние регистры; шина адреса памяти.
Производительность процессора является интегральной характеристикой , которая зависит от частоты процессора, его разрядности, а так же особенностей архитектуры (наличие кэш-памяти и др.). Производительность процессора нельзя вычислить, она определяется в процессе тестирования, т.е. определения скорости выполнения процессором определенных операций в какой-либо программной среде.
Организация и структура памяти ЭВМ.
Адресная памятьВ памяти с адресной организацией размещение и поиск информации в ЗМ основаны на использовании адреса хранения единицы информации, которую в дальнейшем для краткости будем называть словом. Адресом служит номер ячейки ЗМ, в которой это слово размещается. При записи (считывании) слова в ЗМ инициирующая эту операцию команда должна указывать адрес (номер) ячейки, по которому надо произвести запись (считывание).
Ассоциативная память
В памяти этого типа поиск информации происходит не по адресу, а по ее содержанию. Под содержанием информации в данном случае понимается не смысловая нагрузка лежащего на хранении в ячейке памяти слова, а содержание ЗЭ ячейки
памяти, т.е. побитовый состав записанного двоичного слова.
В регистр маски записывается слово, разрешающее запрос по всем или только некоторым разрядам ассоциативного признака, применение маски позволяет сократить или расширить область поиска.
Поиск информации производится параллельно по всем ячейкам путем сравнения запроса с ассоциативным признаком каждой ячейки.
Результат поиска формирует специальная комбинационная схема, вырабатывающая сигналы, оповещающие об отсутствии слов, удовлетворяющих условиям поиска, о наличии только одного слова, о наличии нескольких слов, имеющих такой ассоциативный признак.
После формирования и обработки оповещающих сигналов схемой управления производится считывание необходимой информации. При записи отыскивается свободная ячейка по значению разряда занятости, в первую найденную свободную ячейку записывается информация.
Ассоциативная память наиболее быстродействующая, но очень дорогая, так как требует введения дополнительно схемы сравнения, позволяющей осуществить поиск, для каждой ячейки памяти. Поэтому такая память обычно не используется в чистом виде, а быстродействующие устройства памяти типа Кэш обычно выполняются как частично ассоциативные.
Стековая память
Стековой памяти - память, образованная из связанных между собой ячеек памяти, в которых информация при записи в стек нового слова смещается вниз (Рис.2). Обмен информацией осуществляется только через верхнюю ячейку памяти. При считывании слов из стека, слово может удаляться из стековой памяти или сдвигаться по кольцу, в зависимости от организации стека. Режим чтения –последним вошел, первым вышел-называют LIFO (Last In First Out).
Аппаратная реализация такой памяти не всегда целесообразна и зачастую стековая память организуется в основной памяти компьютера программно, что позволяет изменять объем стека в зависимости от необходимости. При организации стека в основной памяти выделяется специальный адресный регистр – “указатель стека.”. В указателе стека находится адрес последнего записанного в стек слова. При записи слова в стек адрес вершины стека автоматически уменьшается, при чтении - автоматически увеличивается. Стековая память используется обычно для сохранения состояния текущей программы при обработке прерывания. После выполнения прерывающей программы состояние всех регистров, существовавшие в момент прерывания программы восстанавливается в последовательности, обратной последовательности записи. Можно сохранять в стеке и данные программы, это удобно тем, что при обращении к стеку не требуется указывать в программе адреса ячейки памяти, извлечение информации из стека так же происходит без указания адреса.
Рис.2. Организация стековой памяти.
Структура памяти ЭВМ
Как и большинство устройств ЭВМ, память имеет иерархическую структуру. Обобщённая модель такой структуры, отражающая многообразие ЗУ и их взаимодействие, представлена на рисунке.
Все запоминающие устройства обладают различным быстродействием и емкостью. Чем выше уровень иерархии, тем выше быстродействие соответствующей памяти, но меньше её емкость.
Сверхоперативная память. Иногда в архитектуре ЭВМ регистровая память организуется в виде сверхоперативного ЗУ с прямой адресацией. Такая память имеет то же назначение как и РОН, служит для хранения операндов, данных и служебной информации, необходимой процессору.
Управляющая память предназначена для хранения управляющих микропрограмм процессора. Выполнена в виде постоянного ЗУ (ПЗУ) или программируемого постоянного ЗУ (ППЗУ). В системах с микропрограммным способом обработки информации УП применяется для хранения однажды записанных микропрограмм, управляющих программ, констант и т.п.
Буферная память. В функциональном отношении кэш-память рассматривается как буферное ЗУ, размещённое между основной (оперативной) памятью и процессором. Основное назначение кэш-памяти – кратковременное хранение и выдача активной информации процессору, что сокращает число обращений к основной памяти, скорость работы которой меньше, чем кэш-памяти.
На втором оперативном уровне, более низком, находится оперативная память (ОП), служащая для хранения активных программ и данных, то есть тех программ и данных, с которыми работает ЭВМ.
На следующем более низком внешнем уровне размещается внешняя память.
Внешняя память (ВнП) используется для хранения больших массивов информации в течении продолжительного времени. Обычно ВнП не имеет непосредственной связи с процессором. Обмен информацией носит групповой характер, что значительно сокращает время обмена. ВнП обладает сравнительно низким быстродействием (поиск информации). В качестве носителя используются магнитные диски (гибкие и жёсткие), лазерные диски (CD-ROM) и др.
Рис. 1. Иерархическая структура памяти
Иерархия памяти ЭВМ.Память ЭВМ должна иметь большую информационную емкость V, малое время обращения t (высокое быстродействие), высокую надежность и низкую стоимость. Но с увеличением емкости снижается быстродействие и растет стоимость. Деление памяти на ОЗУ и ВЗУ не снимает это противоречие полностью, так как различие в быстродействии процессора, ОЗУ и ВЗУ очень велико. Поэтому обмен информацией производится через дополнительные буферные устройства, то есть память ЭВМ имеет иерархическую многоуровневую структуру. Чем больше быстродействие ЗУ, тем выше стоимость хранения 1 байта, тем меньшую емкость имеет ЗУ.
Иерархия памяти ЭВМ:
· регистры микропроцессорной памяти, а также кэш-память первого и второго уровня t=10-9-10-6 t=10-9-10-6 с, V=102-104 бит);
· внутренняя память ПЗУ, ОЗУ t=10-6-10-3 t=10-6-10-3 с, V=10-4-107 бит);
· внешняя память (t=10-3-1 с, V=107-109 бит);
· массовая или архивная память (t=1-10 с, V=109-1010 V=109-1010 бит).
Эта система запоминающих устройств работает как единое ЗУ с большой емкостью (за счет внешних ЗУ) и высоким быстродействием (за счет внутренних ЗУ).
Микропроцессорная память -- высокоскоростная память небольшой емкости, входящая в МП и используемая АЛУ для хранения операндов и промежуточных результатов вычислений. КЭШ-память -- это буферная, не доступная для пользователя память, автоматически используемая компьютером для ускорения операций с информацией, хранящейся в медленно действующих запоминающих устройствах. Для ускорения операций с основной памятью организуется регистровая КЭШ-память внутри микропроцессора (КЭШ-память первого уровня) или вне микропроцессора на материнской плате (КЭШ-память второго уровня); для ускорения операций с дисковой памятью организуется КЭШ-память на ячейках электронной памяти.
Внутренняя память состоит из ПЗУ (ROM -- Read Only Memory) и ОЗУ (RAM -- Random Access Memory -- память с произвольным доступом). ПЗУ состоит из установленных на материнской плате микросхем и используется для хранения неизменяемой информации: загрузочных программ операционной системы (ОС), программ тестирования устройств компьютера и некоторых драйверов базовой системы ввода-вывода (BIOS -- Base Input-Output System) и др. Из ПЗУ можно только считывать информацию, емкость ПЗУ -- сотни Кбайт. Это энергонезависимая память, -- при отключении ЭВМ информация сохраняется.
Внешняя память относится к внешним устройствам ЭВМ и используется для долговременного хранения любой информации, которая может потребоваться. В ВЗУ хранится программное обеспечение ЭВМ. Внешняя память: НЖМД и ЖМД, НГМД и ГМД (магнитный диск), стример (НМЛ -- накопитель на магнитной ленте), оптические накопители для CD-ROM и DVD-дисков.
Информационная структура внешней памяти -- файловая. Наименьшей именуемой единицей является файл, -- наименованная совокупность однородных данных. Информация в файле состоит из битов и байтов, но они не имеют адресов, так как носитель (магнитный диск) не дискретный.
Регистр и регистровый вид памяти
Для ускорения выполнения машинных команд в процессоре предусмотрен еще один вид памяти — регистровый. Регистр — это устройство для кратковременного хранения информации в процессе ее обработки. Еще раз обращаем внимание на то, что регистры входят в состав процессора, а не образуют отдельное устройство. Регистр может хранить один или несколько символов, число, код машинной команды, какой-нибудь адрес оперативной памяти. Регистры представляют собой самый быстродействующий вид памяти, но процессор имеет всего один-два десятка регистров
Иерархия памяти. Роль оперативной памяти. Многозадачность.
Кэш память = сверхоперативная память
Известно, что память ЭВМ предназначена для хранения программ и данных, причем эффективность работы ЭВМ во многом определяется характеристиками ее памяти. Во все времена к памяти предъявлялись три основных требования: большой объем, высокое быстродействие и низкая (умеренная) стоимость.
Все перечисленные выше требования к памяти являются взаимно-противоречивыми, поэтому пока невозможно реализовать один тип ЗУ, отвечающий всем названным требованиям. В современных ЭВМ организуют комплекс разнотипных ЗУ, взаимодействующих между собой и обеспечивающих приемлемые характеристики памяти ЭВМ для каждого конкретного применения.
I. Регистровая память – местная память процессора.
1)Самая быстрая
2)Самое маленькое время доступа
3)Большая стоимость
4)Маленькая емкость
“регистры”(registers) – модули, построенные на триггерах.
Триггер - это устройство последовательного типа с двумя устойчивыми состояниями равновесия, предназначенное для записи и хранения информации. Под действием входных сигналов триггер может переключаться из одного устойчивого состояния в другое. При этом напряжение на его выходе скачкообразно изменяется. (вдруг спросит)
В регистрах хранятся операнды(числа(двоичные), которые процессор обрабатывает, при выполнении текущей команды)
или результаты их команд, которые выполняет процессор в текущем такте.
II. Сверхоперативная память
СОЗУ обладает максимальным быстродействием (равным процессорному), небольшим объемом (10 5 — 10 7 байтов) и располагается, как правило, на кристалле процессорной БИС. Для обращения к СОЗУ не требуются магистральные (машинные) циклы. В СОЗУ размещаются наиболее часто используемые на данном участке программы данные, а иногда — и фрагменты программы.
В вычислительных системах используют многоуровневый кэш
1. Кэш процессора 1го уровня (L1) — время доступа порядка нескольких тактов, размером в десятки килобайт
2. Кэш процессора 2го уровня (L2) — большее время доступа (от 2 до 10 раз медленнее L1), около полумегабайта или более
3. Кэш процессора 3го уровня (L3) — время доступа около сотни тактов, размером в несколько мегабайт (в массовых процессорах используется с недавнего времени)
В настольных системах обычно используется двухуровневый кэш,
в серверных - трехуровневый.
Кэш служит высокоскоростным буфером между ЦП и относительно медленной основной памятью.
III. Оперативная память
Служит для размещения туда программ целиком и сегментных данных, которые она использует. Связь между процессором и ОЗУ осуществляется по системному или специализированному интерфейсу и требует для своего осуществления машинных циклов
ОЗУ системы — время доступа от сотен до, возможно, тысячи тактов, но огромные размеры в несколько гигабайт, вплоть до десятков. Время доступа к ОЗУ может варьироваться для разных его частей в случае комплексов класса NUMA (с неоднородным доступом в память)
Организационные методы (сплошная и сегментированная) распределения памяти позволяют организовать вычислительную систему, в которой рабочее адресное пространство программы превышает размер фактически имеющейся в системе оперативной памяти, при этом недостаток оперативной памяти заполняется за счет внешней более медленной или более дешевой памяти (винчестер, флэш-память и т.п.) Такую концепцию называют виртуальной памятью.
Оперативная память
n В оперативной (внутренней) памяти компьютера хранятся данные и программы.
n Оперативная память представляет собой последовательность пронумерованных, начиная с нуля, ячеек.
n В каждой ячейке оперативной памяти может храниться двоичный код.
IV. Внешняя память
Информация, находящаяся в ВЗУ, не может быть непосредственно использована процессором. Для использования программ и данных, расположенных в ВЗУ, их необходимо предварительно переписать в ОЗУ. Процесс обмена информацией между ВЗУ и ОЗУ осуществляется средствами специального канала или (реже) — непосредственно под управлением процессора. Объем ВЗУ практически неограничен, а быстродействие на 3 — 6 порядков ниже процессорногo
Кроме реализации системы виртуальной памяти внешние ЗУ используются для долговременного хранения программ и данных в виде файлов. Большинство операционных систем (ОС) поддерживают многозадачность. Они последовательно переключают задачи одну на другую.В каждый момент времени процессор выполняет только одну задачу. В многопоточных процессорах одновременно могут выполняться несколько задач. ОС планирует какая из задач будет выполняться следующей, выбирает эту задачу и переключает контексты задач. Методы переключения зависят от стратегии, выбранной ОС.
Энергонезависимая память=внешняя память.
Вопрос 17 Иерархия памяти. Роль оперативной памяти. Чем может быть обусловлено применение виртуальной памяти. -
Роль оперативной памяти - ОЗУ предназначено для хранения переменной информации; оно допускает изменение своего содержимого в ходе выполнения вычислительного процесса. Таким образом, процессор берёт из ОЗУ код команды и, после обработки каких-либо данных, результат обратно помещается в ОЗУ.
Причем возможно размещение в ОЗУ новых данных на месте прежних, которые при этом перестают существовать. В ячейках происходит стирание старой информации и запись туда новой. Из этого видно, что ОЗУ является очень гибкой структурой и обладает возможностью перезаписывать информацию в свои ячейки неограниченное количество раз по ходу выполнения программы. Поэтому ОЗУ играет значительную роль в ходе формирования виртуальных адресов.
Виртуальная память представляет собой совокупность всех ячеек памяти оперативной и внешней, имеющих сквозную нумерацию от нуля до предельного значения адреса.
виртуальная память позволяет модифицировать ресурсы памяти, сделать объём оперативной памяти намного больше, для того чтобы пользователь, поместив туда как можно больше программ, реально сэкономил время и повысил эффективность своего труда.
18. Процессор ЭВМ. Его основные функциональные блоки. Основная функция блока управления.
· операционные устройства АЛУ
· устройства вещественной арифметики FPU
· устройство управления памятью
Основная функция блока управления – генерирование последовательности управляющих сигналов на основе поступающих операционных частей команд.
Аннотация: В этой лекции рассказывается о функциях основных устройств микропроцессорной системы: процессора, памяти, устройств ввода-вывода, о принципах их устройства и подключения к магистрали.
2.4. Функции устройств магистрали
Рассмотрим теперь, как взаимодействуют на магистрали основные устройства микропроцессорной системы : процессор , память (оперативная и постоянная), устройства ввода/вывода.
2.4.1. Функции процессора
Процессор (рис. 2.16) обычно представляет собой отдельную микросхему или же часть микросхемы (в случае микроконтроллера ). В прежние годы процессор иногда выполнялся на комплектах из нескольких микросхем, но сейчас от такого подхода уже практически отказались. Микросхема процессора обязательно имеет выводы трех шин: шины адреса , шины данных и шины управления. Иногда некоторые сигналы и шины мультиплексируются, чтобы уменьшить количество выводов микросхемы процессора.
Важнейшие характеристики процессора — это количество разрядов его шины данных , количество разрядов его шины адреса и количество управляющих сигналов в шине управления . Разрядность шины данных определяет скорость работы системы. Разрядность шины адреса определяет допустимую сложность системы. Количество линий управления определяет разнообразие режимов обмена и эффективность обмена процессора с другими устройствами системы.
Кроме выводов для сигналов трех основных шин процессор всегда имеет вывод (или два вывода) для подключения внешнего тактового сигнала или кварцевого резонатора ( CLK ), так как процессор всегда представляет собой тактируемое устройство. Чем больше тактовая частота процессора, тем он быстрее работает, то есть тем быстрее выполняет команды. Впрочем, быстродействие процессора определяется не только тактовой частотой, но и особенностями его структуры. Современные процессоры выполняют большинство команд за один такт и имеют средства для параллельного выполнения нескольких команд. Тактовая частота процессора не связана прямо и жестко со скоростью обмена по магистрали, так как скорость обмена по магистрали ограничена задержками распространения сигналов и искажениями сигналов на магистрали. То есть тактовая частота процессора определяет только его внутреннее быстродействие, а не внешнее. Иногда тактовая частота процессора имеет нижний и верхний пределы. При превышении верхнего предела частоты возможно перегревание процессора, а также сбои, причем, что самое неприятное, возникающие не всегда и нерегулярно. Так что с изменением этой частоты надо быть очень осторожным.
Еще один важный сигнал, который имеется в каждом процессоре, — это сигнал начального сброса RESET. При включении питания, при аварийной ситуации или зависании процессора подача этого сигнала приводит к инициализации процессора, заставляет его приступить к выполнению программы начального запуска. Аварийная ситуация может быть вызвана помехами по цепям питания и "земли", сбоями в работе памяти, внешними ионизирующими излучениями и еще множеством причин. В результате процессор может потерять контроль над выполняемой программой и остановиться в каком-то адресе. Для выхода из этого состояния как раз и используется сигнал начального сброса. Этот же вход начального сброса может использоваться для оповещения процессора о том, что напряжение питания стало ниже установленного предела. В таком случае процессор переходит к выполнению программы сохранения важных данных. По сути, этот вход представляет собой особую разновидность радиального прерывания .
Иногда у микросхемы процессора имеется еще один-два входа радиальных прерываний для обработки особых ситуаций (например, для прерывания от внешнего таймера).
Шина питания современного процессора обычно имеет одно напряжение питания (+5В или +3,3В) и общий провод ("землю"). Первые процессоры нередко требовали нескольких напряжений питания. В некоторых процессорах предусмотрен режим пониженного энергопотребления . Вообще, современные микросхемы процессоров, особенно с высокими тактовыми частотами, потребляют довольно большую мощность. В результате для поддержания нормальной рабочей температуры корпуса на них нередко приходится устанавливать радиаторы, вентиляторы или даже специальные микрохолодильники.
Для подключения процессора к магистрали используются буферные микросхемы, обеспечивающие, если необходимо, демультиплексирование сигналов и электрическое буферирование сигналов магистрали. Иногда протоколы обмена по системной магистрали и по шинам процессора не совпадают между собой, тогда буферные микросхемы еще и согласуют эти протоколы друг с другом. Иногда в микропроцессорной системе используется несколько магистралей (системных и локальных), тогда для каждой из магистралей применяется свой буферный узел. Такая структура характерна, например, для персональных компьютеров.
После включения питания процессор переходит в первый адрес программы начального пуска и выполняет эту программу. Данная программа предварительно записана в постоянную (энергонезависимую) память. После завершения программы начального пуска процессор начинает выполнять основную программу, находящуюся в постоянной или оперативной памяти, для чего выбирает по очереди все команды. От этой программы процессор могут отвлекать внешние прерывания или запросы на ПДП . Команды из памяти процессор выбирает с помощью циклов чтения по магистрали. При необходимости процессор записывает данные в память или в устройства ввода/вывода с помощью циклов записи или же читает данные из памяти или из устройств ввода/вывода с помощью циклов чтения.
Таким образом, основные функции любого процессора следующие:
- выборка (чтение) выполняемых команд;
- ввод (чтение) данных из памяти или устройства ввода/вывода;
- вывод (запись) данных в память или в устройства ввода/вывода;
- обработка данных (операндов), в том числе арифметические операции над ними;
- адресация памяти, то есть задание адреса памяти, с которым будет производиться обмен;
- обработка прерываний и режима прямого доступа.
Упрощенно структуру микропроцессора можно представить в следующем виде (рис. 2.17).
Основные функции показанных узлов следующие.
Схема управления выборкой команд выполняет чтение команд из памяти и их дешифрацию. В первых микропроцессорах было невозможно одновременное выполнение предыдущей команды и выборка следующей команды, так как процессор не мог совмещать эти операции. Но уже в 16-разрядных процессорах появляется так называемый конвейер (очередь) команд, позволяющий выбирать несколько следующих команд, пока выполняется предыдущая. Два процесса идут параллельно, что ускоряет работу процессора. Конвейер представляет собой небольшую внутреннюю память процессора, в которую при малейшей возможности (при освобождении внешней шины) записывается несколько команд, следующих за исполняемой. Читаются эти команды процессором в том же порядке, что и записываются в конвейер (это память типа FIFO, First In — First Out, первый вошел — первый вышел). Правда, если выполняемая команда предполагает переход не на следующую ячейку памяти, а на удаленную (с меньшим или большим адресом), конвейер не помогает, и его приходится сбрасывать. Но такие команды встречаются в программах сравнительно редко.
Развитием идеи конвейера стало использование внутренней кэш-памяти процессора, которая заполняется командами, пока процессор занят выполнением предыдущих команд. Чем больше объем кэш-памяти, тем меньше вероятность того, что ее содержимое придется сбросить при команде перехода. Понятно, что обрабатывать команды, находящиеся во внутренней памяти, процессор может гораздо быстрее, чем те, которые расположены во внешней памяти. В кэш-памяти могут храниться и данные, которые обрабатываются в данный момент, это также ускоряет работу. Для большего ускорения выборки команд в современных процессорах применяют совмещение выборки и дешифрации, одновременную дешифрацию нескольких команд, несколько параллельных конвейеров команд, предсказание команд переходов и некоторые другие методы.
Арифметико-логическое устройство (или АЛУ , ALU ) предназначено для обработки информации в соответствии с полученной процессором командой. Примерами обработки могут служить логические операции (типа логического "И", "ИЛИ", "Исключающего ИЛИ" и т.д.) то есть побитные операции над операндами, а также арифметические операции (типа сложения, вычитания, умножения, деления и т.д.). Над какими кодами производится операция, куда помещается ее результат — определяется выполняемой командой. Если команда сводится всего лишь к пересылке данных без их обработки, то АЛУ не участвует в ее выполнении.
Быстродействие АЛУ во многом определяет производительность процессора. Причем важна не только частота тактового сигнала , которым тактируется АЛУ , но и количество тактов, необходимое для выполнения той или иной команды. Для повышения производительности разработчики стремятся довести время выполнения команды до одного такта, а также обеспечить работу АЛУ на возможно более высокой частоте. Один из путей решения этой задачи состоит в уменьшении количества выполняемых АЛУ команд, создание процессоров с уменьшенным набором команд (так называемые RISC -процессоры). Другой путь повышения производительности процессора — использование нескольких параллельно работающих АЛУ .
Что касается операций над числами с плавающей точкой и других специальных сложных операций, то в системах на базе первых процессоров их реализовали последовательностью более простых команд, специальными подпрограммами, однако затем были разработаны специальные вычислители — математические сопроцессоры , которые заменяли основной процессор на время выполнения таких команд. В современных микропроцессорах математические сопроцессоры входят в структуру как составная часть.
Регистры процессора представляют собой по сути ячейки очень быстрой памяти и служат для временного хранения различных кодов: данных, адресов, служебных кодов. Операции с этими кодами выполняются предельно быстро, поэтому, в общем случае, чем больше внутренних регистров , тем лучше. Кроме того, на быстродействие процессора сильно влияет разрядность регистров . Именно разрядность регистров и АЛУ называется внутренней разрядностью процессора, которая может не совпадать с внешней разрядностью.
По отношению к назначению внутренних регистров существует два основных подхода. Первого придерживается, например, компания Intel, которая каждому регистру отводит строго определенную функцию. С одной стороны, это упрощает организацию процессора и уменьшает время выполнения команды, но с другой — снижает гибкость, а иногда и замедляет работу программы. Например, некоторые арифметические операции и обмен с устройствами ввода/вывода проводятся только через один регистр — аккумулятор, в результате чего при выполнении некоторых процедур может потребоваться несколько дополнительных пересылок между регистрами . Второй подход состоит в том, чтобы все (или почти все) регистры сделать равноправными, как , например, в 16-разрядных процессорах Т-11 фирмы DEC. При этом достигается высокая гибкость, но необходимо усложнение структуры процессора. Существуют и промежуточные решения, в частности, в процессоре MC68000 фирмы Motorola половина регистров использовалась для данных, и они были взаимозаменяемы, а другая половина — для адресов, и они также взаимозаменяемы.
Регистр признаков ( регистр состояния) занимает особое место, хотя он также является внутренним регистром процессора. Содержащаяся в нем информация — это не данные, не адрес, а слово состояния процессора ( ССП , PSW — Processor Status Word). Каждый бит этого слова (флаг) содержит информацию о результате предыдущей команды. Например, есть бит нулевого результата, который устанавливается в том случае, когда результат выполнения предыдущей команды — нуль, и очищается в том случае, когда результат выполнения команды отличен от нуля. Эти биты (флаги) используются командами условных переходов , например, командой перехода в случае нулевого результата. В этом же регистре иногда содержатся флаги управления, определяющие режим выполнения некоторых команд.
Схема управления прерываниями обрабатывает поступающий на процессор запрос прерывания , определяет адрес начала программы обработки прерывания (адрес вектора прерывания), обеспечивает переход к этой программе после выполнения текущей команды и сохранения в памяти (в стеке ) текущего состояния регистров процессора. По окончании программы обработки прерывания процессор возвращается к прерванной программе с восстановленными из памяти (из стека ) значениями внутренних регистров . Подробнее о стеке будет рассказано в следующем разделе.
Схема управления прямым доступом к памяти служит для временного отключения процессора от внешних шин и приостановки работы процессора на время предоставления прямого доступа запросившему его устройству.
Логика управления организует взаимодействие всех узлов процессора, перенаправляет данные, синхронизирует работу процессора с внешними сигналами, а также реализует процедуры ввода и вывода информации.
Таким образом, в ходе работы процессора схема выборки команд выбирает последовательно команды из памяти, затем эти команды выполняются, причем в случае необходимости обработки данных подключается АЛУ . На входы АЛУ могут подаваться обрабатываемые данные из памяти или из внутренних регистров . Во внутренних регистрах хранятся также коды адресов обрабатываемых данных, расположенных в памяти. Результат обработки в АЛУ изменяет состояние регистра признаков и записывается во внутренний регистр или в память (как источник, так и приемник данных указывается в составе кода команды). При необходимости информация может переписываться из памяти (или из устройства ввода/вывода) во внутренний регистр или из внутреннего регистра в память (или в устройство ввода/вывода).
Внутренние регистры любого микропроцессора обязательно выполняют две служебные функции:
- определяют адрес в памяти, где находится выполняемая в данный момент команда (функция счетчика команд или указателя команд );
- определяют текущий адрес стека (функция указателя стека ).
В разных процессорах для каждой из этих функций может отводиться один или два внутренних регистра . Эти два указателя отличаются от других не только своим специфическим, служебным, системным назначением, но и особым способом изменения содержимого. Их содержимое программы могут менять только в случае крайней необходимости, так как любая ошибка при этом грозит нарушением работы компьютера, зависанием и порчей содержимого памяти.
Содержимое указателя ( счетчика) команд изменяется следующим образом. В начале работы системы (при включении питания) в него заносится раз и навсегда установленное значение. Это первый адрес программы начального запуска. Затем после выборки из памяти каждой следующей команды значение указателя команд автоматически увеличивается (инкрементируется) на единицу (или на два в зависимости от формата команд и типа процессора). То есть следующая команда будет выбираться из следующего по порядку адреса памяти. При выполнении команд перехода, нарушающих последовательный перебор адресов памяти, в указатель команд принудительно записывается новое значение — новый адрес в памяти, начиная с которого адреса команд опять же будут перебираться последовательно. Такая же смена содержимого указателя команд производится при вызове подпрограммы и возврате из нее или при начале обработки прерывания и после его окончания.
Читайте также: