|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Микропроцессоры и микроЭВМ
Структурная схема МП дает возможность наглядно рассмотреть его работу по выполнению двух основных функций: обработке и манипулированию данными. Использование такой схемы часто существенно облегчает понимание того, как микропроцессор решает поставленные задачи. В дальнейшем мы будем пользоваться следующей структурной схемой.
Изображенный на этом рисунке 8-разрядный МП с регистрами приведен в качестве типичного примера микропроцессора и не является какой-либо конкретной моделью. На практике при работе с тем или иным микропроцессором пользователю должна быть представлена соответствующая документация, включающая и структурную схему. Согласно структурной схеме микропроцессор состоит из трех основных блоков: АЛУ, нескольких регистров и устройства управления. Для передачи данных между этими блоками микропроцессора используется внутренняя шина данных. АЛУ выполняет одну из главных функций микропроцессора – обработку данных. В соответствии со структурной схемой АЛУ имеет два входных порта и один выходной. Назначение входного порта – ввод данных в АЛУ, а выходного – вывод такого слова. Как правило, такие схемы имеют один или несколько входных портов и единственный выходной. Входные порты снабжены буферами, роль которых выполняют регистры временного хранения данных (буферные регистры). Каждый порт соединен со своим буферным регистром, способным хранить для АЛУ одно слово данных. Два входных порта позволяют АЛУ принимать данные или с внутренней шины данных МП, или из специального регистра, именуемого аккумулятором. Единственный выходной порт АЛУ предоставляет последнему возможность пересылать слово данных в аккумулятор. Аккумулятор предназначен для хранения слова данных, посланного в него из выходного порта АЛУ или извлеченного из памяти. Когда, например, АЛУ складывает два слова данных, одно из них находится в аккумуляторе. После выполнения сложения результат – слово данных – посылается в аккумулятор на хранение. АЛУ оперирует одним или двумя словами в зависимости от вида выполняемой операции; соответственно он использует и входные порты. Так, например, поскольку для сложения требуется два слова данных, то эту операцию АЛУ производит, пользуясь обоими входными портами. А при инвертировании слова АЛУ ограничивается одним входным портом. АЛУ необходимо использовать в тех случаях, когда требуется изменить или проверить значение слова данных. Перечень функций АЛУ зависит от типа МП. Функции АЛУ определяют архитектуру микропроцессора в целом. Типичными операциями, выполняемыми АЛУ большинства микропроцессоров, являются следующие: сложение, вычитание, И, ИЛИ, исключающее ИЛИ, НЕ, сдвиг вправо, сдвиг влево, приращение положительное, приращение отрицательное. Регистры являются важной составной частью любого МП. Они участвуют в реализации основных логических функций МП независимо от количества регистров. Начнем с рассмотрения шести основных регистров. Каждый регистр МП может использоваться для временного хранения одного слова данных. Некоторые регистры имеют специальное назначение, другие – многоцелевое. Регистры последнего типа называют регистрами общего назначения и могут использоваться программистом по его усмотрению. Количество и назначение регистров в МП зависит от его архитектуры, однако, почти все микропроцессоры имеют шесть основных регистров: состояния, буферные, команд, адреса памяти, счетчик команд и аккумулятор. В процессе ознакомления с каждым из основных регистров следует обратить внимание на то, какое влияние оказывает именно этот регистр на данные, проходящие «сквозь» микропроцессор. Без понимания этого влияния невозможно получить правильное представление о функционировании МП. Аккумулятор – главный регистр МП при различных манипуляциях с данными. Большинство логических и арифметических операций осуществляется путем использования АЛУ и аккумулятора. Любая из таких операций над двумя словами данных (операндами) предполагает размещение одного из них в аккумуляторе, а другого – в памяти или еще каком-либо регистре. Так, при сложении двух слов, называемых условно А и В и расположенных в аккумуляторе и памяти соответственно, результирующая сумма С загружается в аккумулятор, замещая слово А. Результат операции АЛУ тоже обычно размещается в аккумуляторе. Следует помнить, что исходное содержимое при этом теряется. Операцией другого типа, использующей аккумулятор, является программируемая передача данных из одной части микропроцессора в другую. Речь идет о пересылке данных между портом ввода-вывода и областью памяти, между двумя областями памяти и т.п. Выполнение операции «программируемая передача данных» осуществляется в два этапа: сначала выполняется пересылка данных из источника в аккумулятор, а затем из аккумулятора – в пункт назначения. Выше было показано, что МП позволяет использовать АЛУ для объединения данных в аккумуляторе с другими данными. Однако МП может выполнять некоторые действия над данными непосредственно в аккумуляторе. Например, аккумулятор может быть очищен путем записи двоичных нулей во все его разряды, установлен в единичное состояние посредством записи двоичных единиц во все разряды. Содержимое аккумулятора можно сдвигать влево или вправо, получать его инвертированное значение, а также выполнять другие операции. Аккумулятор является наиболее универсальным регистром МП: для выполнения любой операции над данными, их прежде всего необходимо поместить в аккумулятор. Как показано на структурной схеме, данные поступают в аккумулятор с внутренней шины данных МП. В свою очередь аккумулятор может посылать данные на эту шину. Количество разрядов аккумулятора соответствует длине слова микропроцессора (в нашем случае 8 бит). Однако некоторые МП имеют аккумуляторы двойной длины. Такой аккумулятор можно рассматривать как одно устройство или как два отдельных аккумулятора. В первом случае второй аккумулятор пары используется для записи дополнительных битов, появляющихся при выполнении некоторых арифметических операций. Например, при умножении двух 8-битовых слов результат – 16-битовое слово – размещается в аккумуляторе двойной длины. У некоторых МП имеется группа аккумуляторов. Если, например, два – аккумуляторы А и В, то аккумулятор должен располагать двумя различными командами для загрузки в них данных с выхода АЛУ: одной командой – для записи данных в аккумулятор А, другой – для записи данных в аккумулятор В. Кроме того, должны быть две соответствующие команды очистки этих аккумуляторов. Преимущество «многоаккумуляторных» МП по сравнению с «одноаккумуляторными» в том, что первые предоставляют возможность выполнения операций с передачей данных от аккумулятора к аккумулятору. Данные могут временно храниться в одном аккумуляторе, пока другой используется для выполнения каких-либо других действий. Когда вновь возникает необходимость в данных, содержащихся в первом аккумуляторе, пересылать их не нужно, поскольку они уже находятся там. Что же касается функционирования МП с одним аккумулятором, то операции выполняются именно над его содержимым, и по завершении очередной операции результат приходится дописывать в память или в другой регистр. Во многих случаях это совпадает с намерениями программиста. Однако в некоторых случаях наличие двух аккумуляторов может сократить число необходимых операций. Счетчик команд – один из наиболее важных регистров МП. Как известно, программа – это последовательность команд, хранимых в памяти микро-ЭВМ и предназначенных для того, чтобы инструктировать машину, как решать поставленную задачу. Для корректного выполнения последней, команды должны поступать в строго определенном порядке. На счетчике команд лежит ответственность следить за тем, какая команда выполняется, а какая подлежит выполнению следующей. Часто счетчик команд имеет намного больше разрядов, чем длина слова данных МП. Так, в большинстве 8-разрядных МП, адресующихся к памяти объемом 65К, число разрядов счетчика команд равно 16. И на это имеются достаточно веские основания. В любой из 65536 областей памяти микро-ЭВМ общего назначения может находиться информация о том или ином шаге программы, т.е. в пределах диапазона значений адресов от 0 до 65535 программа может начаться и закончиться в любом месте. Чтобы обратиться к любому из этих адресов, счетчик команд должен располагать 16 двоичными разрядами. Согласно структурной схеме МП, счетчик команд соединен с внутренней шиной данных МП. Теоретически этот счетчик может получать данные об адресах программы из любого блока МП, подключенного к внутренней шине. Однако на практике данные обычно поступают в счетчик команд из памяти микро-ЭВМ. Когда МП начинает работать, по команде начальной установки в счетчик команд загружаются данные из области памяти, заданной проектировщиком МП. Перед пуском программы необходимо поместить начальный адрес для программы в область памяти, указанную проектировщиком. Когда программа начинает выполняться, первым значением содержимого счетчика команд является этот, заранее определенный адрес. В отличие от аккумулятора счетчик команд не может выполнять операции различного типа. Набор команд, его использующих, крайне ограничен по сравнению с подобным набором для аккумулятора. Перед выполнением программы счетчик команд необходимо загрузить числом – адресом области памяти, содержащей первую команду программы. Обратите внимание, что на структурной схеме регистр адреса памяти и адресная шина расположены ниже счетчика команд. Адрес области памяти, содержащей первую команду программы, посылается из счетчика команд в регистр адреса памяти, после чего содержимое обоих регистров становится одинаковым. Длина регистра адреса памяти равна 16 разрядам. Адрес местоположения первой команды программы посылается по адресной шине к схемам управления памятью, в результате чего считывается содержимое области с указанным адресом. Этим содержимым, конечно, должна быть команда. Память пересылает эту команду в специальный регистр блока МП, называемый регистром команд. После извлечения команды из памяти МП автоматически дает приращение содержимому счетчика команд. Это приращение счетчик команд получает как раз в тот момент, когда МП начинает выполнять команду, только что извлеченную из памяти. Следовательно, начиная с этого момента, счетчик команд «указывает», какой будет следующая команда. Счетчик команд содержит адрес следующей выполняемой команды на протяжении всего времени выполнения текущей команды. Об этом важно помнить, потому что, программируя работу микро-ЭВМ, вы можете столкнуться с необходимостью использования текущего значения счетчика команд. При этом необходимо четко сознавать, что в каждый данный момент счетчик команд указывает не текущую выполненную команду, а команду, следующую за ней. Счетчик команд может быть загружен иным содержимым при выполнении особой группы команд. Может возникнуть необходимость выполнить часть программы, которая «выпадает» из последовательности команд основной или главной программы (например, подпрограммы). После того, как в счетчик команд записан начальный адрес подпрограммы, счетчик получает приращение по мере выполнения команд этой подпрограммы. Так продолжается до тех пор, пока не встретиться команда возврата в главную программу. При каждом обращении к памяти микро-ЭВМ регистр адреса памяти указывает адрес области памяти, которая подлежит использованию МП. Регистр адреса памяти содержит двоичное число – адрес области памяти. Выход этого регистра называется адресной шиной и используется для выбора области памяти или в некоторых случаях для выбора порта ввода-вывода. В течение подцикла выборки команды из памяти регистры адреса памяти и счетчика команд имеют одинаковое содержимое, т.е. размер адреса памяти указывает местоположение команды, извлекаемой из памяти. После декодирования команды счетчик команд получает приращение. Что же касается регистра адреса памяти, то он приращения не получает. В течение подцикла выполнения команды содержимое регистра адреса памяти зависит от выполнения команды. Если в соответствии с командой МП должен произвести еще одно обращение к памяти, то регистр адреса памяти подлежит вторичному использованию в процессе обработки этой команды. Для некоторых команд адресация к памяти не требуется. Такова, например, команда очистки аккумулятора. При обработке таких команд регистр адреса памяти используется лишь один раз – в течение подцикла выборки команды из памяти. В большинстве МП регистры адреса памяти и счетчика команд имеют одинаковое число разрядов. Как и счетчик команд, регистр адреса памяти должен располагать количеством разрядов, достаточным для адресации к любой области памяти микро-ЭВМ. У большинства 8-разрядных микропроцессоров количество разрядов регистра адреса памяти равно 16. Такой регистр можно разделить на два отдельных регистра, каждый из которых имеет независимое подключение к шине данных МП. Один из этих регистров называют регистром старшего байта (СБ), другой – регистром младшего байта (МБ). Поскольку регистр адреса памяти подключен к внутренней шине данных МП, он может загружаться от различных источников. Большинство МП располагают командами, позволяющими загружать этот регистр содержимым счетчика команд, регистра общего назначения или какой-либо области памяти. Некоторые команды предоставляют возможность изменять содержимое регистра адреса памяти путем выполнения вычислений: новое значение содержимого этого регистра получается путем сложения или вычитания содержимого счетчика команд с числом, указанном в самой команде. Адресация такого типа получила название адресации с использованием смещения. Регистр команд предназначен исключительно для хранения текущей выполняемой команды, причем эта функция реализуется МП автоматически с началом цикла выборка-выполнение, называемого также машинным циклом. Как уже отмечалось, машинный цикл состоит из двух подциклов – выборки и выполнения. За исключением загрузки команды, в период подцикла выборки программист не может по-другому использовать регистр команд. Согласно структурной схеме МП, этот регистр соединен с внутренней шиной данных, однако он только принимает данные – посылать данные на шину он не может. Несмотря на ограниченность функций, регистр команд играет важную роль в работе МП, поскольку выход этого регистра является частью дешифратора команд. Вспомним еще раз последовательность реализации цикла выборка-выполнение. Сначала команда извлекается из памяти, затем счетчик команд настраивается на указание следующей команды, подлежащей выполнению. При извлечении команды из соответствующей области памяти копия команды помещается на внутреннюю шину данных и пересылается в регистр команд. После этого начинается подцикл выполнения команды, в течение которого дешифратор команд «читает» содержимое регистра команд, сообщая МП, что делать для реализации операций команды. Число разрядов регистра команд зависит от типа МП: иногда оно совпадает с числом разряда слова данных, в других случаях меньше. Наличием регистра состояния вычислительная машина отличается от калькулятора. Этот регистр предназначен для хранения результатов некоторых проверок, осуществляемых в процессе выполнения программы. Разряды регистра состояния принимают то или иное значение при выполнении операций, использующих АЛУ и некоторые регистры. Запоминание результатов упомянутых проверок позволяет использовать программы, содержащие переходы (нарушения естественной последовательности выполнения команд). При наличии в программе перехода выполнение программы начинается с некоторой новой области памяти, т.е. счетчик команд загружается новым числом. В случае условного перехода такое действие имеет место, если результаты определенных проверок совпадают с ожидаемыми значениями. Указанные результаты находятся в регистре состояния. Регистр состояния предоставляет программисту возможность организовать работу МП так, чтобы при определенных условиях менялся порядок выполнения команд. Можно сказать, что МП принимает решение о том или ином продолжении хода вычислений в зависимости от указанных условий. Все МП имеют 6 основных регистров. Кроме того, МП располагают регистрами, предоставляемыми в распоряжение пользователей. Эти регистры получили название регистров общего назначения. В некоторых МП они служат в качестве запоминающих устройств, в других функциональные возможности этих регистров не уступают возможностям аккумулятора. Последнее достигается в том случае, если АЛУ может помещать в них данные. Гипотетический МП, рассматриваемый нами, имеет три регистра общего назначения: B,C,D. Поскольку в нашем случае АЛУ не помещает данные в эти три регистра, последние не обладают функциональными возможностями аккумулятора. Тем не менее при выполнении многих команд используются эти регистры общего назначения. Для реализации многих операций использование 8-разрядных регистров B,C и D идентично. Выбор конкретного регистра для выполнения определенного вида работ определяется лишь тем, какой из них доступен и кажется наиболее удобным. Обычно операции, использующие эти регистры, влияют на содержимое регистра состояния. Следовательно, любой из регистров B,C и D можно использовать в качестве счетчика отрицательных приращений. Так, если содержимое используемого для этих целей регистра D становится равным нулю, разряд нулевого результата регистра состояния принимает единичное значение. Регистры В и С совместно могут выполнять функции 16-разрядного регистра специального назначения. Будем называть их регистровой парой ВС. Рассматриваемый нами МП обладает адресацией такого типа, при которой содержимое пары регистров ВС загружается в регистр адреса памяти. Это позволяет выполнять регистровые арифметические операции с помощью 16-разрядного регистра. Так, можно задавать приращение содержимому пары регистров ВС, а затем использовать это содержимое для адресации памяти. Следует помнить, что регистры В и С в любое время могут функционировать и как независимые регистры. Таким образом, регистры В и С можно использовать совместно или раздельно, а регистр D всегда выступает в роли отдельного 8-разрядного регистра. Роль схем управления в микропроцессоре чрезвычайно важна и заключается в поддержании требуемой последовательности функционирования всех стальных его звеньев. По «распоряжению» схем управления очередная команда извлекается из регистра команд, определяется, что необходимо сделать с данными, а затем генерируется последовательность действий по выполнению поставленной задачи. Структурная схема МП (первая) показывает, что 8-разрядная внутренняя шина данных соединяет между собой АЛУ и регистры, осуществляя передачу данных внутри МП. Хотя сигналы управления и играют жизненно важную роль, в процессе передачи данных по внутренней шине, тракт их передачи не принадлежит шине данных.
Общая характеристика микропроцессора. Термин «микропроцессор», конечно, несет определенную информацию об устройстве, названном этим именем. Микропроцессор, который иногда называют сокращенно МП, базируется на логических схемах, используемых для манипулирования данными и выполнением вычислений под управлением программы. Иначе говоря, микропроцессор – это устройство обработки данных. В отличие от стандартного центрального процессора цифровой вычислительной машины, логические схемы микропроцессора реализованы на одной БИС, а так как последнюю тоже называют микросхемой, то становится понятным происхождение термина «микропроцессор». Совершенно очевидно, что обработка данных – одна из главных функций микропроцессора, включающая как вычисления, так и манипулирование данными. Схемы, выполняющие вычисления, образуют так называемое арифметико-логическое устройство (АЛУ), в результате работы которого данные изменяют свои значения. К функциям, выполняемым АЛУ, относятся сложение (Add), вычитание (Subtract), И (And), ИЛИ (Or), сравнение (Compare), положительное приращение (Increment) и отрицательное приращение (Decrement). Для выполнения этих операций АЛУ необходимы данные. Так, для выполнения сложения двух чисел, эти числа должны быть заблаговременно размещены в нужном месте. Но АЛУ не осуществляет перемещение данных ни до, ни после выполнения операции. Оно лишь выполняет операции над данными, обнаружив их в определенном месте. Но как АЛУ получает данные, подлежащие обработке? В микропроцессоре, за пределами АЛУ, имеются другие схемы, манипулирующие данными, и в частности, перемещающие их в места, доступные АЛУ. После того, как АЛУ выполнило требуемые операции, эти схемы пересылают данные другим адресатам. Возникает вопрос: кто информирует АЛУ о том, как обрабатывать данные, какие из возможных операций должны быть выполнены? Управление системой – другая главная функция МП. Схемы управления позволяют декодировать и выполнять программу, записывают команды в память и извлекают их оттуда, контролируют процесс выполнения декодированной команды. Поскольку команды хранятся в памяти, мы их можем менять по своему усмотрению, изменяя при этом характер обработки данных. Команды, которые мы записываем в память, определяют будущую работу МП. Подведем итог вышесказанному. МП выполняет две функции – обработку и управление. Обработка включает перемещение данных и выполнение операций над ними. Управление определяет, как обрабатывать данные. Работа МП состоит из следующих шагов: сначала извлекается команда, затем логическая схема управления ее декодирует, после этого осуществляется выполнение этой команды. Эти шаги называют циклом «выборка-выполнение». Для каждой команды, хранимой в памяти, выполняется один такой цикл. Помимо извлечения команд из памяти и их выполнения, схемы управления выполняют ряд других важных функций, таких, как обмен информацией с внешними устройствами, подсоединенными к процессору. Каким бы мощным не казался процессор, он ничего не может сделать сам по себе. МП нужна помощь со стороны других устройств. Необходимы схемы для хранения команд программы, а также для ввода данных в МП и вывода из него (схемы ввода-вывода). Для хранения данных требуется дополнительная память. МП нуждается в электропитании от внешнего источника. Проведем четкую грань между такими понятиями, как МП и микро-ЭВМ. МП является основой – «сердцем» многих устройств, однако отдельный МП не представляет собой законченное, самостоятельно функционирующее устройство. Схемы управления МП могут управлять работой других составных частей вычислительной системы, создаваемой на основе МП.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.016 сек.) |