Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Общие принципы построения микропроцессоров




 

Микропроцессорная техника в настоящее время интенсивно развивается и совершенствуется. Высокими темпами ведется разработка и освоение в серийном производстве все новых микропроцессоров с более высокими характеристиками и более широкими функциональными возможностями. Крупнейшими зарубежными фирмами, как уже указывалось ранее, освоен выпуск полностью 32 - разрядных микропроцессоров (32-разрядная шина данных и 32-разрядная шина адреса), обладающих высокий быстродействием (тактовая частота свыше 600 МГц) и широкими системными возможностями. Однако чтобы понять принцип действия и оценить возможности сложных по структуре микропроцессоров последних разработок, целесообразно вначале кратко ознакомиться с общими принципами построения микропроцессоров.

Сколь бы сложным ни был микропроцессор, в составе его всегда можно выделить следующие основные блоки или устройства, такие как операционный и управляющий блоки (рис.1).

Операционный блок (ОБ) предназначен для арифметической и логической обработки информации. Он обычно включает в себя следующие основные узлы: двоичный сумматор, аккумулятор, регистры общего назначения, временные регистры, регистр признаков, сдвигатели, двоично - десятичный преобразователь, коммутатор.

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

Рис. 1. Общая логическая структура МП

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

Аккумулятор (или регистр - накопитель) имеет число разрядов, равное числу разрядов сумматора. В командах МП, выполнение которых непосредственно связано с использованием аккумулятора, он служит для хранения одного из двух операндов, над которыми производится данная арифметическая или логическая операция, в него также заносится результат выполненной операции. Кроме того, через аккумулятор, как правило, производится обмен данными МП с УВВ, если не задействованы другие способы обмена, например, способ прямого доступа к памяти.

Схемотехнически аккумулятор реализуется на двухступенчатых или на одноступенчатых триггерах. Во втором случае в блоке обработк­ах совместно с аккумулятором должны использоваться дополнительные регистры для временного хранения данных.

Регистры общего назначения (РОН), имеющиеся в большинстве МП, обычно относит к устройству обработки данных. Они используются в МП либо для хранения данных, полученных в процессе вычислений, либо в качестве адресных регистров для формирования адреса внешнего устройства или ячейки памяти искомого операнда или команды, либо в качестве регистров специального назначения. Чаще всего РОН используются в качестве СОЗУ, т.е. относительно небольшой области памяти, расположенной непосредственно на самом кристалле МП. Обращение к СОЗУ происходит намного быстрее, чем к обычному ОЗУ, благодаря упрощенной адресации и очень малым задержкам передачи информации. Поэтому использование их в качестве сверхоперативной памяти позволяет существенно повысить производительность микропроцессора. Число разрядов РОН равно числу разрядов ШД МП, а число самих РОН в современных микропроцессорах достигает 8, 16 и более.

При использовании РОН в качестве регистров хранения данных они адресуются по отдельности, то есть используются как самостоятельные регистры. При использовании в качестве адресных регистров они адресуются попарно, то есть их загрузка осуществляется попарно.

В 16- и 32 - разрядных однокристальных МП РОН состоят из двух или четырех частей, в каждой из которых размещается один байт информации. Операции над этими байтами могут осуществляться раздельно.

В секционных МП в каждой из секций размещается своя соответствующая часть РОН. При соединении секций эти части просто объединяются в общий регистр.

Необходимо заметить, что РОН в ряде МП могут выполнять функции специальных регистров - сброс, инкремент, декремент и т. д.

Временные регистры имеют разрядность, равную разрядности ШД МП. Они предназначены для временного хранения данных при пересылках их между различными узлами микропроцессора. Необходимость использования регистров временного хранения данных вытекает из того, что передача данных в синхронных системах, каковыми является подавляющее большинство МП, осуществляется за два этапа: первый этап - передача информации, второй этап - прием информации (или наоборот). Узлы, участвующие в обмене данными, не могут одновременно передавать и принимать информацию. А поскольку подавляющее большинство регистров в МП построено на одноступенчатых триггерах, позволяющих реализацию одного этапа передачи данных, то возникает необходимость иметь в МП некоторые вспомогательные регистры, которые позволяли бы реализовать второй этап передачи данных. Эту функцию выполняют временные регистры. Количество их в микропроцессорах невелико - порядка 4 - 6, и размещены они в основном вблизи сумматора и аккумулятора.

Регистр признаков (регистр состояний). В МП регистр признаков представляет собой совокупность триггеров - флажков, каждый из которых отражает результат очередной операции, выполненной в арифметико-логическом устройстве (АЛУ). Поскольку триггеры - флажки отражают результат операций АЛУ, топологически регистр признаков размещается вблизи него.

В большинстве МП принят следующий набор признаков и соответственно триггеров - флажков:

¾ перенос (триггер - флажок устанавливается в состояние логической «1» при наличии переноса из старшего разряда или при наличии займа в старший разряд),

¾ отрицательный результат (флажок устанавливается в «1» при отрицательном результате операции),

¾ нулевой результат (флажок устанавливается в «1» при нулевом результате операции),

¾ переполнение (флажок устанавливается в «1» при переполнении, когда результат операции над числами со знаком выходит за пределы диапазона представляемых чисел).

В различных МП используется свой набор триггеров - флажков, который может и чаще всего отличается от приведенного выше стандартного набора. Например, в МП К580ВМ80 нет триггера - флажка переполнения, но зато есть флажок переноса из 3 - го разряда в 4 - й, который устанавливается в «1» при наличии переноса, и флажок четности, который устанавливается в «1» при четном числе единиц в коде числа.

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

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

Регистр признаков схемотехнически реализуется как полно разрядный регистр данных МП, т.е. имеет число разрядов, равное числу разрядов других регистров. При этом часть триггеров регистра состояний остается неиспользованной.

Сдвигатели имеют число разрядов, равное числу разрядов сумматора. Они используются для выполнения циклических, арифметических или логических сдвигов, которые могут осуществляться либо влево (в сторону старших разрядов), либо вправо (в сторону младших разрядов). Сдвиги в одних МП могут производиться на один разряд, в других - на произвольное число разрядов вплоть дo полного числа разрядов данного микропроцессора.

Сдвигатели используются, прежде всего, при выполнении операций вычитания и деления.

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

Коммутаторы (мультиплексоры и демультиплексоры) имеют разрядность, равную разрядности АЛУ. Мультиплексоры позволяют передавать в АЛУ числа (операнды) от различных источников в различной комбинации пар операндов. Демультиплексоры позволяют направить информацию с АЛУ на различные приемники информации.

Управляющий блок (УБ) является важнейшим функциональным узлом блока интерфейса, обеспечивающим взаимодействие МП с ОЗУ и УВВ. Он включает в себя: регистр команд (в ряде МП вместо него используется регистр очереди команд), дешифратор команд, счетчик команд, указатель стека, схему инкремента/декремента, сумматор адреса, регистр адреса (регистр - защелка адреса), коммутаторы, узел управления шинами, а также вспомогательные регистры.

Регистр команд используется в тех МП, где выбранные из программной памяти команды сразу же вводятся в МП на исполнение. Он предназначен для приема и хранения кода операции (КОП) команд на время их выполнения МП. Разрядность регистра команд равна разрядности ШД МП. Так в 8 - разрядных МП в регистр команд заносится первый байт команд, а в 16 -разрядных - первое слово команды. И в том, и в другом случае содержимое регистра команд несет в себе информацию о коде операции и об используемом в данной операции способе адресации. При этом другие байты или слова команды, если они имеются и которые несут в себе адресную информацию или являются непосредственными данными, принимаются другими регистрами МП.

Регистр очереди команд используется в тех МП, где выбранные из программной памяти команды помещаются в очередь команд, выполняемых МП. Так, например, в МП К1810ВМ86 имеется очередь команд из 6 байт. Заполнение регистра производится в интервалы времени, когда ШД МП не занята им для обмена данными с основной памятью (ОП) или ВУ. Выборка команд из очереди команд производится МП по мере их выполнения. Таким образом, обеспечивается повышение производительности МП, поскольку каждый раз после выполнения очередной команды не требуется дополнительных затрат времени на выборку следующей команды из ПЗУ, очередные команды уже находятся в буферной памяти МП.

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

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

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

Счетчик команд (программный счетчик, указатель инструкций) предназначен для формирования адреса следующей выбираемой из ПЗУ команды. Он представляет собой регистр и относится к регистрам специального назначения, т. к. в отличие от РОН выполняет только свои определенные функции - инкремент, сброс в любое промежуточное или исходное (нулевое) состояние и т. д.

Формирование адреса в счетчике команд осуществляется инкрементированием (приращением) определенного числа (1, 2, 4) к его содержимому. Инкрементирование осуществляется каждый раз, когда формируется либо адрес кода операции следующей команды, либо адрес числа, представляющего собой адресную часть команды, либо адрес непосредственных данных, содержащихся в команде. Операция инкрементирования содержимого счетчика команд производится автоматически при пересылках адреса.

Нумерация ячеек памяти (адресация) в МПС и микроЭВМ осуществляется, как правило, побайтно. Поэтому приращение к содержимому счетчика команд зависит от того, выбирается ли за одно обращение к памяти 1 байт, либо 2 байта, либо 4 байта (соответственно в микропроцессорах с 8-, 16- или 32 - разрядной ШД). Следует, однако, иметь в виду, что приращение зависит от формата команды: в наборах команд МП имеются команды с форматом 1, 2, 3 байт и более. Поэтому в 32 - разрядных МП, например, приращение может быть равно «1», если команда однобайтная. С другой стороны, в 8 - разрядном МП приращение всегда будет равно «1» даже в случае выборки многобайтной команды. При этом одна команда будет выбираться за несколько обращений к памяти.

Возможны два варианта формирования адреса очередной команды в счетчике команд:

¾ последовательной выборкой - путем добавления «1», «2», «4» к содержимому счетчика команд;

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

В однокристальных 8- и 16 - разрядных МП с разрядностью шины адреса, равной 16, разрядность счетчика команд также равна 16, что позволяет разместить программу в любой области памяти емкостью до 64 Кбайт. В 16 - разрядных МП с ША 20, 22 или 24 разряда счетчик команд может быть 16 - разрядным, при этом физический адрес команды формируется путем сложения содержимого счетчика команд, который часто называют исполнительным адресом команды, с содержимым некоторых дополнительных регистров.

В 32 - разрядных однокристальных МП счетчик команд имеет 32 разряда, что позволяет разместить программу в любой области адресного пространства размером до 4 Гбайт.

Указатель стека. Стек (рис. 2) представляет собой область ОЗУ с последовательной организацией доступа к ячейкам памяти по принципу "первым пришел - последним ушел». В отличие от ЗУ с произвольной выборкой, в котором при каждом обращении доступна ячейка памяти с любым адресом, в стеке доступной является только одна ячейка памяти в последовательном списке адресов: либо последняя занятая - при считывании, либо первая свободная - при записи. Таким образом, при обращениях к стеку происходит последовательный перебор адресов. В МП при обращениях к стеку принят следующий порядок адресации: при записи в стек - номера ячеек памяти убывают (рис. 2,а), а при считывании – возрастают (рис. 2,б). Другими словами, стек заполняется в направлении уменьшения адресов.

Ячейка памяти, выше которой располагается первая ячейка стека, называется дном стека, а последняя из заполненных ячеек памяти называют вершиной или головкой стека. Адресация к ячейкам памяти стека осуществляется с помощью указателя стека (SP - Stake Point). Для полного понимания на рис. 2 показано три состояния указателя стека при записи/чтении данных.

Первое состояние указателя стека (рис. 2, а) является исходным.

Рис. 2. Выполнение операций над стеком

 

В этом состоянии SP содержит адрес 00000...111 дна стека (в предположении, что стек до момента загрузки данными был пуст) - ячейки, предшествующей той области памяти, которая отведена программистом для стека.

Второе состояние стека (рис. 2, б) отражает ситуацию, когда в стек из счетчика команд МП занесен первый и второй байты Х1, Х2 16 - разрядного адреса прерванной программы. Запись адреса в ячейки стека осуществляется в четыре этапа:

¾ на первом этапе содержимое указателя стека уменьшается (декрементируется) с 00000...111 до 00000...110,

¾ на втором этапе в ячейку памяти стека записывается первый байт адреса Х1,

¾ на третьем этапе содержимое указателя стека снова декрементируется с 00000...110 до 00000...101,

¾ на четвертом этапе в ячейку памяти стека записывается старший, оставшийся, байт адреса Х2.

При последующем уменьшении содержимого указателя стека в стек будут последовательно записаны «старое» однобайтное слово состояния Х3 процессора из регистра признаков МП и содержимое программно - доступных регистров (например, РОН) - Х4,.... Полностью записанная информация в стек определяет его последнее состояние (рис. 2, в).

Таким образом, в верхней занятой ячейке стека - вершине стека, будет храниться содержимое Хi регистра, занесенное в стек последним, при этом SP будет содержать адрес верхней занятой ячейки памяти стека.

В процессе чтения из стека данные Хi извлекается последовательно сверху - вниз, при этом адрес восстанавливается в счетчике команд, а данные - в регистре состояний и программно - доступных регистрах МП. Такое извлечение осуществляется в два действия - чтение слова, адресуемого указателем стека, и увеличение (инкрементирование) содержимого указателя стека.

Из сказанного видно, что при обращениях к стеку достаточно указать лишь адрес дна или головки стека.

SP имеет разрядность такую же, как и счетчик команд.

Схема инкремента/декремента является узлом, который осуществляет операцию добавления «1», «2», «4» к содержимому счетчика команд либо добавления/уменьшения «1», «2», «4» к содержимому указателя стека. Этот процесс происходит при передаче информации по цепочке: счетчик команд (указатель стека) ® регистр - защелка адреса ® схема инкремента/декремента ® счетчик команд (указатель стека).

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

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

Адресные регистры используются для формирования и хранения операндов или адресов пересылки результата операции. Они необходимы, в частности, для реализации различных комбинированных (многокомпонентных) способов адресации. В некоторых МП, например в МП семейства К580, в качестве адресных регистров могут использоваться РОН. Однако во многих МП адресные регистры используются только для формирования и хранения адресов, поэтому их выделяют в самостоятельную группу регистров специального назначения.

В 8- и 16 - разрядных МП адресные регистры имеют разрядность, равную 16, а в 32 - разрядных МП - 32.

Регистр адреса (регистр - защелка адреса) предназначен для хранения адреса при обращениях к памяти на время данного цикла обращения. Само формирование адреса до передачи его в регистр - защелку производится в других узлах МП: в счетчике команд, в указателе стека, адресных регистрах.

Регистр - защелка адреса имеет разрядность, равную разрядности ША МП.

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

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

Буферные схемы осуществляют выполнение следующих функций:

¾ обеспечивают необходимую загрузочную способность выходов МП по активному току нагрузки Iн и по паразитной нагрузки Сн ;

¾ согласовывают внутренние логические уровни сигналов с внешними стандартными уровнями.

Большинство современных МП, за исключением тех, которые выполнены с использованием ЭСЛ - технологии, используют в качестве стандартных уровней сигналов уровни схем ТТЛ - технологии: U0вых < 0,4 В, U1вых ³ 2,4 В.

Практически все выходные буферные каскады МП имеют три состояния: первое состояние - логический «0», второе состояние - логическая «1», третье состояние - высокоимпедансное или отключенное состояние каскада. Перевод выходных каскадов МП в одно из перечисленных состояний осуществляется путем подачи на буферные схемы соответствующих сигналов управления. Это позволяет двунаправленную передачу данных в системе либо отключение МП от общей магистрали МПС.




Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 1005; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.