КАТЕГОРИИ: Архитектура-(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) |
Структура микропроцессора
ПЕРЕМЕЩАЕМЫЕ ПРОГРАММЫ
Разбивка программы на сегменты обеспечивает создание перемещаемых программ. На этапах трансляции и редактирования формируются относительные адреса всех объектов программы. Это означает, что адреса любой команды или любого поля данных относительно начала соответствующего сегмента остаются неизменными в процессе выполнения программы и не зависят от адресов сегментов программы. При загрузке программы DOS анализирует таблицу занятости оперативной памяти, отыскивает в ней любой достаточный по размеру участок и загружает в него программу. Если такого участка нет, DOS может перегруппировать в памяти ранее загруженные программы и освободить требуемый участок. После расположения в памяти программы DOS записывает адреса сегментов программы в соответствующие сегментные регистры процессора и передает управление первой команде в сегменте кода.
Операционное устройство (ОУ) Шинный интерфейс (ШИ)
┌─────┬─────┐ ┌───────┼─────────────┐ AX │ AH │ AL │ │ V ├─────┼─────┤ │ │ ┌─────┴────┐ BX │ BH │ BL │ │ │ CS │ ├─────┼─────┤ │ │ ├──────────┤ CX │ CH │ CL │ │ │ DS │ ├─────┼─────┤ │ │ ├──────────┤ DX │ DH │ DL │ │ │ SS │ ├─────┴─────┤ │ │ ├──────────┤ │ BP │ │ │ ES │
├───────────┤ │ │ ├──────────┤ │ SP │ │ │ IP │ ├───────────┤ │ │ ├──────────┤ │ SI │ │ │ РЕГИСТРЫ │ ├───────────┤ │ │ │ СВЯЗИ │ │ DI │ │ └─┬──────┬─┘ └─────┬─────┘ │ │ V V ^ │ ┌───┴──┐ ┌─┴────┐ V V │ └┐ └─┘ ┌┘ ═╤╤══════╤╧════════╤═════╧═╗ └┐СУМ.АДРЕСОВ┌┘ ^^ ^ ^ ║ │ └─────┬─────┘ ││ V V ║ │ ││ ┌────┴───┐ ┌───┴────┐ ║ │ V ││ │БУФ.РЕГ.│ │БУФ.РЕГ.│ ║ ┌────┴────┐ ││ └────┬───┘ └───┬────┘ ║ │ │ БЛОК │ ││ V V ╟<────────────>┤УПРАВЛЕН.├ <────> ││ ┌───┴───┐ ┌───┴───┐ ║ │ │ ШИНАМИ │ ││ └┐ └─┘ ┌┘ ║ └────┬────┘ ││ └┐ АЛУ ┌┘ ║ │ └────────────┐ ││ └──────┬──────┘ ║ │ │└──────────>V ║ │ ┌───────────────────┐ │ │ ┌──────┴──────┐ ╟<─┬──┼──┤ ОЧЕРЕДЬ КОМАНД ├<──┘
│ │ РЕГ.ФЛАГОВ │ │ └───────────────────┘ │ └──────┬──────┘ ┌───┐ │ │ │ V │БУ ├<┘ └────────────┘ └─┬─┘ │ V Yi │
ОУ – осуществляет обработку информации. Шинный интерфейс служит для обмена процессора с памятью и устройствами ввода/вывода. Шинный интерфейс (ШИ) формирует адрес команды и выбирает ее в регистр команд. Блок управления (БУ) дешифрирует команду и формирует последовательность управляющих сигналов Yi, обеспечивающих ее выполнение.
Пример: ADD AX,B При выполнении этой команды необходим {AX:=AX+B} цикл обращения к памяти для выборки переменной В.
При запуске программы регистр CS содержит адрес сегмента кода а IP = 0. ШИ складывает CS и IP формируя адрес первой команды программы и обращается к памяти для выборки этой команды. Команды процессора имеют длину 1-6 байт, поэтому регистр команд имеет длину 6 байт и работает по принципу очереди FIFO – First in, First out. Одновременно в регистре команд может находиться одна или несколько команд. Сумматор вычисляет физический адрес памяти, который с его выхода поступает на внешнюю шину. В процессоре организована параллельная работа ОУ и ШИ. Как только БУ выбирает из регистра команд команду, он начинает её выполнение. Если команда не требует обращения к памяти (IDIV BX {AX:=(DX:AX)/BX}), то при ее выполнении к памяти обращаться не требуется. Команда выполняется несколько тактов и в это время ШИ свободен. Для повышения производительности в этом случае организуется параллельная работа ШИ и ОУ. ОУ выполняет команду. ШИ пополняет очередь команд в циклах чтения из памяти. При этом выборка из памяти идет по значению IP. Таким образом, предполагается естественный линейный порядок следования команд. При этом в большинстве случаев ОУ не ожидает выборки команд. Когда ОУ выполняет передачу управления, ШИ сбрасывает очередь, выбирает команду по новому адресу и заполняет очередь команд.
Дата добавления: 2014-01-04; Просмотров: 276; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |