Скачать 3.11 Mb.
|
4.2. ОСНОВНЫЕ СВЯЗИ И СТРУКТУРА ШИН В микро-ЭВМ, построенных на базе микропроцессоров, все связи между отдельными функциональными блоками осуществляются, как правило, так называемыми шинами. Под шиной подразумевается физическая группа линий передачи сигналов, обладающих функциональной общностью (по каждой линии передается один двоичный разряд информации). Так, например, данные в машине обычно передаются к различным ее функциональным узлам параллельно по восьми линиям. Физически шины реализуются в виде параллельных проводящих полосок печатной платы или в виде связанных в жгут проводов. Соответствующая группа из восьми линий передачи данных называется 8-разрядной шиной данных. Кроме шины данных в микро-ЭВМ выделяют шину передачи адресов, или шину адреса, и шину управления. Микро-ЭВМ с такой организацией связей относят к системам, обладающим архитектурой с тремя шинами. ![]() Рис. 4.2. Упрощенная архитектура ЭВМ с тремя шинами Типовые связи в архитектуре ЭВМ с тремя шинами в общем случае будут иметь вид, представленный на рис. 4.2, если в качестве основных функциональных блоков машины использовать микропроцессорный блок (МБ), ОЗУ, ПЗУ и порты ввода/вывода. Линии шин адреса (ША) и управления (ШУ) являются однонаправленными [Здесь не рассматривается режим прямого доступа к памяти]. В них сигналы протекают в одном направлении — от центрального процессорного элемента ко всем остальным блокам. Шина адреса является 16-разрядной. Число линий шины управления определяется составом сигналов, формируемых системным контроллером. Передаваемые по ША сигналы формируются в МП. Они необходимы для определения пути передачи внутри микро-ЭВМ, в том числе для выбора ячейки памяти, куда необходимо занести или откуда необходимо считать информацию. В определении тракта передачи данных могут принимать участие и управляющие сигналы, подсоединяющие или, напротив, блокирующие те или иные устройства микро-ЭВМ. В отличие от ША и ШУ шина данных (ШД) является шиной двунаправленной. Данные по линиям шины могут передаваться от микропроцессора к какому-нибудь устройству микро-ЭВМ либо пересылаться в МП от какого-то устройства, доступ к которому обеспечивают сигналы адресной шины. Естественно, что в каждый момент времени данные могут передаваться лишь в одном направлении, определяемом режимом работы микропроцессора. К основным режимам работы МП можно отнести: запись данных в память машины; чтение данных из памяти машины; пересылку данных в устройство ввода/вывода; чтение данных с устройства ввода/вывода; выполнение операций с содержимым внутренних регистров микропроцессора. При реализации последнего режима внешние по отношению к МП шины микро-ЭВМ не используются, т. е. все действия происходят внутри МП. Реализация первых четырех режимов оказывает определяющее влияние на работу шины данных. Работа по реализации программы любой микро-ЭВМ, построенной по типу архитектуры с тремя шинами, состоит в выполнении следующих действий для каждой команды программы. 1. Микропроцессор формирует адрес, по которому хранится код операции команды, переводя в соответствующее состояние шину адреса. 2. Код операции считывается из памяти по сформированному адресу и пересылается в микропроцессор. 3. Команда дешифрируется (идентифицируется) микропроцессором. 4. Микропроцессор "настраивается" на выполнение одного из перечисленных выше пяти основных режимов в соответствии с результатами дешифрирования считанного из памяти кода команды. Перечисленные выше пять режимов являются основными, но не единственно возможными. Существуют и другие, рассматриваемые в гл. 6. Перейдем теперь к окончательному оформлению функциональной схемы ПМ-ЭВМ. 4.3. ОБЩАЯ ФУНКЦИОНАЛЬНАЯ СХЕМА ПМ-ЭВМ Кроме микропроцессорного блока, функциональное назначение которого мы уже определили, в состав ПМ-ЭВМ входят оперативное и постоянное запоминающие устройства и порты ввода/вывода. Все эти блоки связаны между собой через шины адреса и данных. Шина управления в ПМ-ЭВМ состоит всего из четырех линий передачи сигналов, причем в каждом режиме работы микропроцессора активна только одна линия. Управление работой ПМ-ЭВМ осуществляется двумя блоками: схемой пошагового выполнения программы и схемой системного контроллера. Первая схема полезна для анализа исполнения вводимых команд программы. Системный контроллер необходим для организации трактов передачи информации при реализации основных режимов работы микропроцессора. Используемый в ПМ-ЭВМ микропроцессор КР580ИК80А имеет шины адреса и данных, а также некоторые управляющие сигналы. Сигналы шины управления формируются системным контроллером вне микропроцессора из управляющих сигналов МП. К ним относятся: ЧТЕНИЕ, ЗАПИСЬ, ВЫВОД НА ВНЕШНЕЕ УСТРОЙСТВО, ВВОД С ВНЕШНЕГО УСТРОЙСТВА (см. § 6.3). При организации шин необходимо правильно оценить величину токовой нагрузки по каждой шине. Если суммарный ток нагрузки линии в шине превышает допустимую величину на соответствующем выходе микропроцессора, то такую линию необходимо снабдить буфером. Под буфером подразумевается специальная схема, обеспечивающая электрическое согласование цепей передачи сигналов. Как уже отмечалось в гл. 3, простейшая схема буфера, не меняющая значение сигнала, состоит из двух включенных последовательно инверторов. Именно эта схема используется в ПМ-ЭВМ в формирователе сигналов шины адреса. Линии шины данных в ПМ-ЭВМ также необходимо снабдить буферами. Однако поскольку шина данных является двунаправленной, буфер для нее также должен быть двунаправленным. Поэтому схему из двух последовательно включенных инверторов здесь использовать нельзя. Необходима специальная схема с использованием управляющего сигнала выбора направления передачи данных. Работа схемы двунаправленного буфера шины данных описана в § 6.3. ![]() Рис. 4.3. Схема основных функциональных узлов ПМ-ЭВМ и связей между ними: ДАЗУ, ДАУВВ - дешифраторы адреса ЗУ и УВВ; ДБШД - двунаправленный буфер ШД; КЛ - клавиатура; СД - све-тодиоды; СК — системный контроллер; СПИП — схема пошагового исполнения программы; 0, 1,2,3 — порты вывода; 3' - порт ввода Для организации правильной адресации к устройствам памяти и к устройствам ввода/вывода в схеме ПМ-ЭВМ используются еще два блока, не указанных на рис. 4.2: дешифратор адреса запоминающих устройств и дешифратор адреса устройств ввод а/выв од а. С учетом этих и всех остальных перечисленных выше дополнительных блоков общая функциональная схема ПМ-ЭВМ принимает вид, представленный на рис. 4.3. На этой схеме двойными линиями указаны шины передачи адреса (красными) и данных (зелеными), а сигналы управления — тонкими линиями. Расположение блоков в точности соответствует расположению их схем на общей электрической принципиальной схеме ПМ-ЭВМ, приведенной в приложении 2. На рис. 4.3 показаны лишь основные связи (например, отсутствуют связи по питанию). Работа всех приведенных на рис. 4.3 блоков в отдельности описывается в гл. 6 и 7. Перейдем к рассмотрению функциональной схемы микропроцессора и организации его работы. 4.4. ФУНКЦИОНАЛЬНАЯ СХЕМА МИКРОПРОЦЕССОРА При работе с ПМ-ЭВМ пользователю необходимо иметь информацию о числе и назначении всех регистров, специальных указателей, называемых флагами, и о системе команд МП. Число, назначение регистров, флагов и команд пользователь изменить не может. Он может изменять лишь содержимое регистров и использовать команды в любой нужной ему комбинации. Как уже говорилось, под регистром подразумевается специальное запоминающее устройство, состоящее из элементов (триггеров) с двумя устойчивыми состояниями. Число элементов (восемь) соответствует одному байту. Большинство регистров микропроцессора 8-разрядные и лишь некоторые 16-разрядные. Все регистры разбиты на группы и отличаются различным функциональным назначением. Основными блоками МП (рис. 4.4) являются: блок регистров общего назначения со схемой выборки регистров, регистр команд с дешифратором команд и формирователем машинных циклов, арифметическо-логическое устройство (АЛУ) с регистром А (аккумулятором), выполняющее арифметические и логические операции, регистр временного хранения данных W и Z (РВХД), флаговый регистр, устройство управления и синхронизации, буферы шины данных (БШД) и адреса (БША), буфер аккумулятора (БА), схема приращения и уменьшения (СПИУ). ![]() Рис. 4.4. Схема ЦПЭ на базе микропроцессора КР580ИК80А: СГ - сигналы генератора тактовых импульсов; СС — сигнапы синхронизации Доступными программисту являются следующие регистры: шесть 8-разрядных регистров, адресуемых по одному или парами (регистры В, С, D, E, H, L); один 8-разрядный регистр А, называемый аккумулятором; один 16-разрядный регистр, называемый указателем стека; один 16-разрядный регистр, называемый счетчиком команд, или программным счетчиком. В некоторых специальных случаях могут быть доступными данные следующих двух регистров: регистра команд (8-разрядного) ; флагового регистра (5-разрядного). Программно недоступными пользователю являются регистры W и Z. Они используются для временного хранения данных при выполнении команд микропроцессором. Регистры общего назначения. Эти регистры размерностью в один байт обозначаются В, С, D, E, H, L. Они используются для хранения данных и промежуточных результатов вычислений, выполняемых с помощью арифметическо-логиче-ского устройства. При обработке 16-разрядных слов возможно обращение к парам регистров (В, С); (D, E); (H, L). Аккумулятор — специальный однобайтовый регистр, обозначаемый А. При выполнении арифметических и логических операций служит источником одного из операндов и местом запоминания результата выполнения операции. Аккумулятор является основным операционным звеном арифметическо-логического устройства. Он служит также местом хранения данных и результатов операций, выполняемых в АЛУ. Регистр команд — однобайтовый регистр, в котором хранится код выполняемой команды. Этот регистр непосредственно пользователю недоступен. Это означает, что не существует команды, которая бы явным образом могла изменить его содержимое. После выполнения очередной команды в регистр команд автоматически записывается код следующей команды из ячейки оперативной памяти, адрес которой содержится в счетчике команд. Счетчик команд — двухбайтовый (16-разрядный) регистр, обозначаемый PC, или программный счетчик. Этот регистр хранит адрес следующей команды, которая должна быть выполнена вслед за предыдущей. Счетчик команд автоматически получает приращение хранимого в нем адреса в зависимости от того, какую по длительности команду (в один, два или три байта) микропроцессор считывает из памяти, указывая всегда на 1-й байт следующей команды. На содержимое этого регистра пользователь может повлиять только с помощью команд, изменяющих последовательное выполнение программы (например, команд безусловного перехода), а также с помощью некоторых специальных команд. Указатель стека-двухбайтовый (16-разрядный) регистр, обозначаемый SP. Этот регистр хранит адрес очередной ячейки стека. Стеком называется особым образом организованный участок оперативной памяти, выделяемый программистом для временного хранения содержимого внутренних регистров МП со специальным режимом доступа. Эта область оперативной памяти необходима в том случае, когда нужно прекратить выполнение реализуемой последовательности команд и вернуться к ней позже, например для немедленного выполнения специальной подпрограммы или в результате прерывания программы. Данные от МП поступают в верхнюю часть стековой памяти, и при этом содержимое указателя стека уменьшается на единицу, чтобы всегда указывать на адрес последней заполненной ячейки стека (дно свободного пространства стека). Когда же данные выбираются (считываются) из стека, содержимое указателя стека увеличивается на единицу с каждым выбранным байтом. Эти операции со стеком называются стековыми. С их помощью легко организуются многоуровневые (вложенные) прерывания и программы обращения к подпрограммам из подпрограмм (к вложенным подпрограммам). Флаговый регистр- регистр, содержащий 5 двоичных разрядов, называемых флагами, по числу хранимых в нем специальных признаков результатов некоторых операций. Иногда он называется регистром признаков или флаговым регистром битов условий. Значение флага указывает на результат выполнения какой-либо операции. Микропроцессор КР580ИК80А содержит флаговый регистр, состоящий из следующих флагов: флага нуля (Z - zero), флага переноса (С -carry), флага знака (S - sign), флага четности (Р -parity), флага дополнительного переноса (АС - auxiliary carry). Флаги всегда устанавливаются или сбрасываются автоматически после выполнения очередной команды, влияющей на флаги, в зависимости от результата операции. При этом флаг считается установленным, если флаговый разряд принимает значение 1, и сброшенным, если значение разряда 0. Состояния флагов используются в командах условного перехода. Результаты выполнения арифметических и логических операций над содержимым аккумулятора, регистров общего назначения или содержимым ячеек памяти оказывают влияние на флаги следующим образом. Флаг нуля устанавливается в состояние 1, если после выполнения какой-либо команды получен нулевой результат, и сбрасывается в 0 в случае ненулевого результата. Флаг переноса устанавливается в 1, если в результате операций сложения и сдвига появляется единица переноса из старшего разряда байта данных, а также если появляется заем из старшего разряда после выполнения операций вычитания или сравнения, в противном случае флаг сбрасывается в 0. Флаг знака устанавливается в 1, если в результате выполнения операций появляется логическая единица в старшем разряде байта данных (указание на отрицательный результат), и сбрасывается в 0 в случае нулевого значения старшего разряда (указание на положительный результат). Флаг четности устанавливается в 1, если после выполнения операций сумма единиц в байте данных, подсчитываемых с помощью операции сложения по модулю 2, четна (значение суммы по модулю 2 равно 0), и сбрасывается в 0 в противном случае (число единиц — нечетное). Флаг дополнительного переноса устанавливается в 1, если в результате выполнения команды появляется сигнал переноса из третьего разряда в четвертый в байте данных результата. Если такого переноса нет, флаг дополнительного переноса сбрасывается в 0. Сигнал этого флага используется во многих схемах вычислений, однако он особенно необходим при сложении чисел в двоично-десятичной форме. Перейдем теперь к рассмотрению того, как микропроцессор выполняет команды. 4.5. КАК МИКРОПРОЦЕССОР ВЫПОЛНЯЕТ КОМАНДУ? В ПМ-ЭВМ используется микропроцессор КР580ИК80А, структурная схема которого приведена на рис. 4.4. Микропроцессор содержит 16-разрядную шину адреса и 8-разрядную шину данных, способную к передаче сообщений в двух возможных направлениях. Единовременно передаваемая порция информации соответствует одному байту (8 двоичных разрядов). В самом общем случае возможны следующие передачи сообщений: 1) пересылка байта данных от устройства ввода; 2) пересылка байта данных к устройству вывода; 3) считывание байта данных из памяти или запись в память; 4) генерирование в шину данных специального байта, называемого управляющим словом и предназначенного для установления правильного схемного соединения. Работа МП (или центрального процессорного элемента ЦПЭ) по реализации каждой команды программы пользователя основана на принципе микропрограммного управления. Это означает, что каждая команда реализуется как некоторая последовательность микрокоманд или микроопераций, приводящая к требуемому результату. Считываемая из памяти микропроцессором команда, вернее, ее 8-разрядный двоичный код (код операции), поступает в регистр команд, где и хранится в течение времени выполнения команды. По результату дешифрирования кода команды происходит формирование последовательности микрокоманд (микропрограммы), процесс выполнения которой и определяет все последующие операции, необходимые для выполнения считанной команды. Таким образом, выполнение каждой считанной ЦПЭ команды программы пользователя осуществляется в строго определенной последовательности, задаваемой кодом команды. При этом выполнение отдельных микроопераций синхронизируется во времени сигналами Ф1 и Ф2 тактового генератора. Одним из важнейших понятий всего процесса выполнения команд программы является понятие машинного цикла. В микропроцессоре КР580ИК80А процесс выполнения каждой команды можно разбить на ряд основных операций. Время, отведенное на выполнение операции обращения к памяти или к устройству вывода, составляет машинный цикл. Таким образом, процесс выполнения команды состоит из стольких машинных циклов, сколько обращений к памяти или к устройствам ввода/вывода требуется для ее исполнения. Машинный цикл в свою очередь состоит из нескольких машинных тактов. Каждая команда в зависимости от ее вида может занимать от одного до пяти машинных циклов. Микропроцессор КР580ИК80А имеет 10 типов машинных циклов, перечисленных в табл. 6.2, а каждый машинный цикл может состоять из 3 — 5 машинных тактов. Под машинным тактом подразумевается интервал времени, соответствующий одному периоду тактовых импульсов, подаваемых от синхрогенератора. ![]() Рис. 4.5. Временная диаграмма для команды, требующей четыре машинных цикла Для организации машинных циклов требуется формирование строго синхронизированной во времени последовательности управляющих сигналов, обеспечивающих правильные пути прохождения данных в строго определенные моменты времени, и выполнение требуемых микроопераций. Как уже отмечалось, исходными данными для этого являются результаты дешифрирования операционного кода команды. Выполнение команды всегда начинается с цикла обращения к памяти, в результате которого производится считывание кода, интерпретируемого МП как код операции. Будем обозначать машинные циклы одной команды символами Cl, C2 и т. д., а машинные такты одного цикла — символами Tl, T2 и т. д. Таким образом, машинный цикл С1 — это всегда цикл выборки команды. Его длительность обычно — четыре или пять тактов. Последующие циклы С2 — С5 состоят обычно из трех тактов. Для простых операций, таких как арифметические, команды занимают четыре или пять тактов. Команды более сложных операций требуют для выполнения до 18 машинных тактов. В качестве примера рассмотрим команду LDA (ЗАГРУЗИТЬ данные в аккумулятор), требующую для реализации четыре машинных цикла. На рис. 4.5 приведена временная диаграмма команды LDA. Эта команда переписывает в аккумулятор данные, содержащиеся в определенной ячейке памяти. Первый машинный цикл C1, как и следовало ожидать, отведен под выборку команды из памяти. При этом код операции помещается, как уже говорилось, в регистр команд. Выполнение последовательности микрокоманд приводит к следующим действиям. В первом такте Tt содержимое счетчика команд выдается через буфер шины адреса в шину адреса. Второй такт выделен для представления времени для ответа памяти. В третьем такте появившиеся данные в шине данных пересылаются в регистр команд. В четвертом такте выборка команды завершена, операционный код команды передается дешифратору команд для формирования последовательности микроопераций. При этом получает приращение содержимое счетчика команд. Второй машинный цикл соответствует чтению из памяти восьми младших разрядов адреса, которые в результате выполнения этого цикла должны быть помещены в регистр Z. В первом такте этого цикла содержимое счетчика команд передается через буфер шины адреса в адресную шину. Во втором такте микропроцессор ожидает ответ из памяти. В третьем такте содержимое шины данных передается в регистр Z и счетчик команд опять получает приращение. Третий машинный цикл аналогичен второму, за исключением того, что из памяти выбираются и пересылаются в регистр W восемь старших разрядов адреса. Последовательность микроопераций та же. В четвертом машинном цикле происходит окончательное выполнение команды: аккумулятор загружается данными из памяти по адресу, записанному в регистрах W и Z. В первом такте четвертого машинного цикла содержимое регистров W и Z передается через буфер в шину адреса. Во втором такте предоставляется время для ответа памяти. Наконец, в третьем такте содержимое шины данных пересылается через буфер в аккумулятор. Выполнение команды полностью завершено за 13 машинных тактов. Перейдем теперь к рассмотрению системы команд микропроцессора КР580ИК80А и особенностей их работы. |
![]() | Развитие высших форм запоминания 1 Леонтьев Алексей Николаевич Леонтьев Алексей Николаевич (5 февраля 1903 — 21 января 1979) — советский психолог, доктор психологических наук, профессор, академик... | ![]() | Свидетельство о государственной регистрации программы для ЭВМ регистрационный номер: 2011618 693 ( 08. 1 2011) Заявка: 2011616 954 ( 19. 0 2011) Алексеевич, Липов Денис Игоревич, Петрик Алексей Николаевич, Лобанов Павел Сергеевич, Семенов Роман Александрович, Киселев Алексей... |
![]() | Реферат Авторы: Захаров Михаил Юрьевич, Виноградов Кирилл Евгеньевич, Кренев Александр Николаевич Образования "Ярославский государственный университет имени П. Г. Демидова" 150000, г. Ярославль, ул. Советская, 14 | ![]() | Алексей Николаевич Толстой Гиперболоид инженера Гарина Этот роман написан в 1926–1927 годах. Переработан, со включением новых глав, в 1937 году |
![]() | Лекции по общей психологии Алексей Николаевич Леонтьев (1903-1979) выдающийся советский психолог, действительный член апн рсфср, доктор педагогических наук,... | ![]() | Разработка принципов однопроходной прокатки изделий из волокнистых композиционных материалов Мануйлов Виталий Федорович, Соколов Алексей Викторович, Нуждин Виталий Николаевич, Преображенский Евгений Владимирович |
![]() | Василий Александрович Токарев П. Михайлов Игорь Львович Андреев Вячеслав Николаевич Козляков День народного единства: биография праздника Книга посвящена драматичным событиям российской истории XVII в. – Смутному времени. На основе широкого круга источников и литературы... | ![]() | Контрольная работа по литературе в 7 классе Мать, Надежда Осиповна, была правнучкой Ганнибала. Александр Львович литературой не увлекался, а вот его брат, Сергей Львович,- был... |
![]() | Происхождение Александра Сергеевича Пушкина Сергей Львович (1767—1848), светский острослов и поэт-любитель, дядя по отцу, Василий Львович (1766—1830), был известным поэтом круга... | ![]() | Алексей Николаевич Толстой Гиперболоид инженера Гарина «Аэлита. Гиперболоид инженера Гарина»: Гос уч пед из во Министерства просвещения бсср; Минск; 1959 |