Исторический путь развития микропроцессоров.
Первый микропроцессор 4-х битовый с кодовым названием 4004 был произведен в 1971 году. 8-ми битовый был произведен в 1973 году. В 1979 году создан процессор (16-ти разрядный) стал родоначальником всех процессоров.
Модель 8088 – восьмишинная, в этом процессоре впервые использована сегментация данных. Оперативная память расширилась до 1Гб.
в 1981 году выпущены 80186,80188 – они сохраняли базовую архитектуру мп 8086\8088, но содержали на кристалле контроллер прямого доступа к памяти, счетчик \ таймер и контроллер прерываний, была немного расширена система команд. Однако широкого распространения эти мп не получили.
В 1982 году выпушен 80286 – новый МП мог работать в двух режимах: в режиме реального адреса или Р-режим, который предоставлял программистам новые возможности и средства.
В 1985 году разработан 80386 – первый 32-х разрядный процессор. Под него начали разрабатывать первые оболочки (windows).
windows 95 – первая полноправная операционная система.
80486 разработан в 1989 году – базовая архитектура в 32-х разрядных процессорах.
|
|
С 1993 года появились первые процессоры пентиум.
Пользовательские регистры мп общего назначения. состав и их назначение.
Регистр – последовательность бит (разрядов) входящая в состав кристалла МП и предназначенная для хранения информации.
Каждый регистр имеет длину 16 бит (одно слово) и адресуется по имени. Регистры делятся на:
1. Пользовательские (регистры которые программист использует при написании своей программы) (их 16 регистров)
2. Системные (15 регистров)
Пользовательские регистры процессоров можно поделить по назначению на следующие категории:
регистры общего назначения (8 шт);
указатель команд;
регистр флагов;
сегментные регистры (6 шт);
Регистры общего назначения
Регистры общего назначения являются основными рабочими регистрами. Особенностью этих регистров является то, что возможно использование их не только как единого целого, но и по частям. Все регистры этой группы позволяют обращаться к своим “младшим” частям. Использовать для самостоятельной адресации можно только младшие 16 и 8-битные части этих регистров. Старшие 16 бит этих регистров как самостоятельные объекты недоступны. Это сделано для совместимости с младшими 16-разрядными моделями МП фирмы Intel.
· EAX /ax /ah /al (Accumulator register) – регистр аккумулятор.
Применяется для хранения промежуточных данных при выполнении арифметических операций. Команды умножения, деления, ввода-вывода в устройствах, могут работать только с регистром – аккумулятором.
· EBX /bx /bh /bl (Base register) — базовый регистр.
Применяется для хранения базового адреса данных, находящихся в памяти;
|
|
· ECX /cx /ch /cl (Count register) — регистр-счетчик.
Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды. К примеру, команда организации цикла loop кроме передачи управления команде, находящейся по некоторому адресу, анализирует и уменьшает на единицу значение регистра ecx/cx;
· EDX /dx /dh /dl (Data register) — регистр данных.
Так же, как и регистр - аккумулятор, он хранит промежуточные данные. При операции ввода-вывода регистр данных может содержать адрес порта ввода-вывода (16-ти разрядный). Всего 256 портов, определяются 1-м байтом. Адресное пространство = 255байт.
Следующие два регистра используются для поддержки так называемых цепочечных операций, то есть операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит:
· Esi / si (Source Index register) — индекс источника.
Адресует индекс элемента данных строки источника, т.е он в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;
· Edi / di (Destination Index register) — индекс приемника (получателя).
Адресует индекс элемента данных строки приемника т.е. этот регистр в цепочечных операциях содержит текущий адрес в цепочке-приемнике. Применяется для люб. промежуточных данных. Его размер ограничен сегментом.
В архитектуре микропроцессора на программно-аппаратном уровне поддерживается такая структура данных, как стек. Для работы со стеком в системе команд МП есть специальные команды, а в программной модели МП для этого существуют специальные регистры:
· Esp / sp (Stack Pointer register) — регистр указателя стека.
Содержит указатель вершины стека в текущем сегменте стека. Стек всегда содержит адрес смещения данных. Max размер стека в обычном режиме = 64 Кб, а в защищенном - неограничен. Sp – вершина стека.
· Ebp / bp (Base Pointer register) — регистр указателя базы кадра стека.
Предназначен для организации произвольного доступа к данным внутри стека. Если адрес поместить в bp то базовые данные автоматически находятся в стеке.
3. регистр флагов. Отдельные биты данного регистра имеют определенное функциональное назначение и называются флагами. Младшая часть этого регистра полностью аналогична регистру flags для i8086.
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | AC | VM | RF | 0 |
NT | IOPL | OL | OF | DF | IF | TF | SF | ZF | AF | 0 | PF | 1 | CF |