Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцесоры_Ответы.docx
Скачиваний:
20
Добавлен:
17.03.2016
Размер:
1.98 Mб
Скачать

6.1.3. Структура процесору i8086. Шиний інтерфейс

инный интерфейс выполняет для операционного устройства все операции обмена. Данные передаются между процессором и памятью или портами ввода-вывода по запросам операционного устройства. Когда операционное устройство занято выполнением команды, шинный интерфейс самостоятельно инициирует опережающую выборку из памяти очередных команд. Команды хранятся во внутренней регистровой памяти, называемой очередью (буфером) команд. Очередь команд выполняет по существу функции регистра команды процессора. Длина очереди составляет 6 байт. Очередь команд работает по принципу FIFO ("первым пришел, первым вышел"), который сохраняет на выходе порядок поступления команд.

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

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

6.1.4. Структура процесору i8086. Керування і таймінг.

Пристрій керування реалізує тимчасову діаграму і виробляє необхідні керуючі сигнали для внутрішньої роботи мікропроцесора й зв'язку його з іншою апаратурою через зовнішні шини мікропроцесора.

В i8086 имеется возможность изменения внутренней аппаратной конфигурации с помощью специального управляющего сигнала. В более простом режиме 8086 ориентирован на использование в простых вычислительных и управляющих устройствах. При этом микропроцессор сам вырабатывает сигналы управления шиной и обеспечивает прямой доступ к ней посредством контроллера Intel 8257. В режиме полной конфигурации обеспечивается работа с контроллером шины 8288, который декодирует три сигнала состояния процессора и в зависимости от них выдает семь сигналов управления шиной. Такой режим используется в мультипроцессорных системах и в сложных вычислительных устройствах, в частности, в компьютере IBM PC/XT.

Интересно организована память: хранение 16-разрядных слов осуществляется в виде отдельных байтов, причем байты, передающиеся по восьми младшим линиям шины данных (D7-D0), собраны в банк 0, а передаваемые по восьми старшим линиям — в банк 1. Объем каждого банка составляет 512 Кбайт. Таким образом, нечетные байты хранятся в банке 1, а четные. — в банке 0. Выбор банка осуществляется с помощью младшего адреса и сигнала управления старшими разрядами шины данных.

Еще одна важная особенность — возможность обработки 256 типов прерываний (от 0 до 255), в том числе есть прерывания, определяемые пользователем, и пошаговые прерывания.

Микропроцессор Intel 8086 приспособлен для работы с несколькими процессорами в одной системе, причем возможно использование как независимых процессоров, так и сопроцессоров. Отличие заключается в том, что независимый процессор выполняет свою собственную последовательность команд, а сопроцессор следит за потоком команд центрального процессора и выделяет из него "свои" команды, расширяя набор команд основного процессора и улучшая таким образом характеристики системы. Для поддержки этих режимов используются команды ESC, LOCK и XCHG, а также специальные управляющие сигналы, позволяющие разрешать конфликты доступа к общим ресурсам.

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

Микропроцессор i8086 состоит из трех основных частей: устройства сопряжения шины, устройства обработки и устройства управления и синхронизации.

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

Варто відмітити, що оперативна пам'ять не може працювати із нескінченною швидкістю, як, втім, і ніщо інше. На виконання будь-яких операцій їй потрібний час. На щось – більше, на щось – менше. Називається цей час по-англійськи timings, тобто таймінги або затримки. Вони задаються в тактах шини пам'яті. Звідси може стати ясно, чому зростають таймінги із кожним поколінням DDR – частота чіпа практично не міняється, отже, і час виконання ним операцій – теж, натомість частота шини міняється в рази. А тому і час одного такту зменшується. Тобто за час виконання команди в наносекундах більш високочастотна шина встигає «натикати» більше, тому більше тактів їй доводиться чекати. Але абсолютні значення затримок не зростають. На максимальну продуктивність пам'яті впливає такий важливий параметр як "таймінги пам'яті".

Відомо, що логічна структура банку пам'яті є двовимірним масивом - простою матрицею, кожна комірка якої має свою адресу, номер рядка і номер стовпця. Щоб зчитати вміст довільної комірки масиву, контролер пам'яті повинен задати номер рядка RAS (RowAdressStrobe) і номер стовпця CAS (ColumnAdressStrobe), із яких і прочитуються дані. Зрозуміло, що між подачею команди і її виконанням завжди буде якась затримка (латентність пам'яті), ось її-то і характеризують ці самі таймінги. Існує безліч різних параметрів, які визначають таймінги, але найчастіше використовуються чотири із них:

  • CAS Latency(CAS) - затримка в тактах між подачею сигналу CAS і безпосередньо видачею даних із відповідної комірки. Одна з найважливіших характеристик будь-якого модуля пам'яті;

  • RAS to CAS Delay (tRCD) - кількість тактів шини пам'яті, які повинні минути після подачі сигналу RAS до того, як можна буде подати сигнал CAS;

  • RowPrecharge (tRP) - час закриття сторінки пам'яті в межах одного банку, що витрачається на його перезарядку;

  • ActivatetoPrecharge (tRAS) - час активності строба. Мінімальна кількість циклів між командою активації (RAS) і командою заряджання (Precharge), яким закінчується робота із цим рядком, або закриття одного і того ж банку.

Якщо ви побачите на модулях позначення "2-2-2-5" або "3-4-4-7", можете не сумніватися, це згадані вище параметри: CAS-tRCD-tRP-tRAS.