logo search
Лекции препода / Конспект лекций ЭВМ

Лекция 1. Эволюция микрокомпьютеров.

Введение.

1.1.Основные Направления Эволюции Микрокомпьютеров.

1.2. ОСНОВНЫЕ СВЕДЕНИЯ О КОМПЬЮТЕРАХ.

1.3. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ.

ЗАКЛЮЧЕНИЕ.

Введение.

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

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

1.1.Основные направления эволюции микрокомпьютеров. Процесс эволюции микроэлектроники, который привел к созданию современных микрокомпьютеров, можно разделить на два периода: уменьшения размеров и расширения возможностей. В течение первого периода (40 - 70-е гг. двадцатого века) по мере совершенствования технологии компонен­тов компьютеры становились все меньше и меньше. Кульминацией этого периода стало появление компьютера (хотя и примитивного по стандар­там 1970 г.), размеры которого были не больше почтовой марки. В период расширения возможностей (с 1970 г. по настоящее время) крошечные компьютеры превратились в столь же мощные образования как и их крупные предшественники.

Уменьшение размеров. В 50-х гг. двадцатого столетия все электронные устройства, от радиоприемников и телевизоров до компьютеров, были построены на гро­моздких электронных лампах. Компьютеры этого периода иногда называ­ют ЭВМ первого поколения, а примерами их служат модели 650 и 704 фирмы IBM. Эти компьютеры устанавливались в больших помещениях и состояли из нескольких стоек с электронным оборудованием. К концу 50-х гг. электронные лампы начали заменять транзисторами и другими твердотельными приборами. Компьютеры, выполненные по новой техно­логии, стали называть ЭВМ второго поколения (примерами их служат системы машины 7090 фирмы IBM и В5500 фирмы Burroughs).

В 60-х гг. дискретные электронные элементы (транзисторы, резисторы и др.) были объединены в более сложные электронные компоненты, названные интегральными схемами. Интегральная схема изготавливается на кремниевой пластинке, размеры которой меньше размеров почтовой марки. Пластинка монтируется в корпусе со многими выводами ("сороко­ножка"), который можно встроить в систему. Такая интегральная схема называется чипом (кристаллом). Компьютеры, построенные на интеграль­ных схемах, относятся к ЭВМ третьего поколения (системы IBM 360, GE 635 и Burroughs 6700). Технология интегральных схем продолжала совер­шенствоваться, и в начале 70-х гг. многие компоненты ЭВМ удалось разместить в одной микросхеме (микропроцессоры 4004 и 8008 фирмы Intel). Появился термин компьютер на кристалле.

Компьютеры на кристалле называются микрокомпьютерами и микро­процессорами. Хотя этим терминам иногда придается одинаковый смысл, между ними имеется различие. Микропроцессор - это одна микросхема, содержащая схемы управления и арифметические устройства компьюте­ра, но в ней нет памяти и устройств ввода-вывода. Микрокомпьютер - это законченная система, содержащая микропроцессор, микросхемы памяти и устройства ввода-вывода. Иногда вся система реализуется на одном кристалле (микросхема 8048 фирмы Intel), и тогда получается однокрис­тальный микрокомпьютер.

Расширение возможностей. Эра микропроцессоров началась в 1971 г. с появлением микросхем 4004 и 8008 фирмы Intel. Они относятся к микро­процессорам первого поколения. Обе эти микросхемы разрабатывались для специализированных применений: 4004 - для калькулятора, а 8008 -для терминала. Оба микропроцессора считались в то время заниматель­ной новинкой и всерьез не воспринимались. Но к 1974 г., когда микропро­цессор 8008 был модифицирован в микропроцессор второго поколения 8080, на них обратила внимание компьютерная промышленность. Микро­схема 8080 была первым микропроцессором, специально разработанным для множества применений; она быстро стала "стандартным" микропро­цессором.

Теперь микропроцессор стал выполнять вычислительные задачи старых и громоздких компьютеров и оказался по стоимости доступным даже для любителей. Многие фирмы выпускали микропроцессор 8080 по лицензиям, а некоторые из них предложили улучшенный его вариант (микропроцессор Z80 фирмы Zilog). В 1976 г. появился модернизированный вариант микропроцессора 8080 - микросхема 8085 фирмы Intel. Однако до 1978 г. базовая структура микропроцессора 8080 оставалась неизменной.

В 1978 г. фирма Intel выпустила микропроцессор 8086. Это был первый микропроцессор, который работал с данными длиной 16 бит (микропроцес­сор 8080 работает с 8-битными данными). Вскоре еще две фирмы объявили о своих 16-битных микропроцессорах: фирма Motorola выпустила микро­процессор М68000, а фирма Zilog - микропроцессор Z8000. Все эти микро­процессоры образовали третье поколение микропроцессоров.

В 1979 г. был выпущен 8-битный вариант 8086 - микропроцессор 8088. Через два года фирма IBM вышла на рынок персональных компьютеров и использовала его в своем первом изделии - персональном компьютере IBM PC. Благодаря такой мощной поддержке микропроцессоры 8086 и 8088 стали наиболее популярными.

Семейство микропроцессоров 8086 продолжало развиваться. В 1983 г. фирма Intel разработала усовершенствованные модификации - процессоры 80186 и 80188. В этом же году был объявлен процессор 80286, который стал крупным шагом вперед по сравнению с микропроцессором 8086. Через год этот процессор был встроен в персональный компьютер фирмы IBM следующего поколения - IBM PC/AT.

Сделаем замечание по названиям процессоров. Фирма Intel называет процессоры - iАРХ186, iАРХ188 и iАРХ286. Однако вне ее их называют -80186, 80188 и 80286; этого же будем придерживаться и мы, хотя имеют хождение и сокращенные названия процессоров - 186,188 и 286.

Параллельно с расширением сферы применения микропроцессоров развивались и специализированные микропроцессоры. Под сопроцессором понимается подчиненный процессор, выполняющий специализированные функции для процессора широкого назначения. Первым популярным сопроцессором оказался 8087, который выполняет вычисления с плаваю­щей точкой для микропроцессоров 8086 и 8088. С появлением процессоров 80186 и 80188 он стал применяться и с ними. Но поскольку в процессор 80286 встроен другой интерфейс с сопроцессором, для него потребовалось модифицировать сопроцессор 8087. Таким усовершенствованным сопроцес­сором стала микросхема 80287 (другие названия ее 287 и iАРХ287).

1.2. ОСНОВНЫЕ СВЕДЕНИЯ О КОМПЬЮТЕРАХ. Предполагается, что читатели знакомы с принципами построения компьютеров, поэтому мы дадим здесь только краткий обзор. Компьютер получает данные от устройств ввода, обрабатывает их и передает оконча­тельные результаты в устройство вывода. Выполняемая обработка опреде­ляется последовательностью команд (инструкций), называемой програм­мой. Программа хранится в памяти компьютера.

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

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

1) посылает сигналы в память, запрашивая передачу двух значений;

2) суммирует полученные значения;

3) посылает сигнал в память о том, чтобы она приняла результат сложения.

Память - это совокупность последовательных ячеек, каждая из которых имеет уникальный адрес. Каждая ячейка состоит из последова­тельности бит. Значения бит (0 или 1) образуют содержимое ячейки.

Регистры, как и память, используются для хранения промежуточных результатов. Но они находятся в составе процессора, поэтому получать значения из регистров проще и быстрее, чем из памяти. Флажки внутри процессора применяются для регистрации того, что в нем происходит. Есть два вида флажков: одни из них (флажки состояния) фиксируют информа­цию об особенностях ранее выполненных команд, а другие (флажки управления) управляют действиями процессора. Пример флажка состоя­ния - флажок, показывающий, не является ли результат для компьютера слишком большим. Примером флажка управления служит флажок, застав­ляющий компьютер выполнять команды с меньшей скоростью. Может оказаться, что флажок одновременно является и флажком состояния, и флажком управления; примером может служить флажок NT процессора 80286.

1.3. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ. Мы привыкли представлять целые числа в виде последовательностей десятичных цифр, например 365: три сотни, шесть десятков и пять единиц. Такое представление называется представлением с основанием десять. Целые числа в компьютерах обычно представляются последовательностя­ми двоичных цифр (бит), например 11010. Такое представление в двоичной системе обозначает: 1 - шестнадцать, 1 - восемь, 0 - четыре, 1 - два и 0 -нуль. Двоичные числа можно складывать, вычитать, умножать и делить, не превращая их в десятичные, если помнить о том, что 1 плюс 1 равно 10 (1 -два и 0 - нуль), а не 2. Приведем пример:

+1001 (двоичное представление девяти)

0101 (двоичное представление пяти)

1110 (двоичное представление четырнадцати)

Конечно, мы запутаемся в длинных последовательностях двоичных цифр, но компьютеры в них не путаются. Например, 10110101 есть двоичное представление десятичного числа 181. Чтобы упростить действия с двоич­ными числами, их цифры группируют по четыре бита. После этого каждая группа представляется одним символом в соответствии с табл. 1.1. Напри­мер, число 10110101 сокращенно записывается как В5. Такое представле­ние называется шестнадцатеричным числом; если бы мы рождались с шестнадцатью пальцами на руках, то пользовались бы именно такими числами.

Таблица 1.1 Шестнадцатеричное представление

Группа из 4 бит

Шестнадцатеричная цифра

Значение

0000

0

Нуль

0001

1

Один

0010

2

Два

0011

3

Три

0100

4

Четыре

0101

5

Пять

0110

6

Шесть

0111

7

Семь

1000

8

Восемь

1001

9

Девять

1010

10

Десять

1011

11

Одиннадцать

1100

12

Двенадцать

1101

13

Тринадцать

1110

14

Четырнадцать

1111

15

Пятнадцать

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

0000 0100 (обозначает +4)

1000 0100 (обозначает -4)

0111 1111 (обозначает +127)

1111 1111 (обозначает -127)

У такого представления, называемого прямым кодом, имеется один серьезный недостаток: для него потребуются специальные арифметические правила. Покажем это на примере использования двоичной арифметики для вычитания +1 из 0 с ожидаемым получением -1:

-0000 0000 (0 в прямом коде)

0000 0001 (+1 в прямом коде)

1111 1111 (-127 в прямом коде)

При использовании для знаковых чисел (как и для беззнаковых) обычной двоичной арифметики требуется особое представление знаковых чисел, в котором 11111111 представляет -1, а не -127. Кроме того, вычита­ние +1 из -1 должно давать -2. Выполним это вычитание, чтобы посмо­треть, как должно выглядеть -2:

11111111 (это -1)

00000001 (вычитаем +1)

11111110 (и называем это -2)

Рассмотренное представление называется дополнительным кодом; в этом коде операции сложения и вычитания дают правильный результат в дополнительном коде, например:

+00000011 (+3 в дополнительном коде)

11111110 (-2 в дополнительном коде)

0000 0001 (+1 в дополнительном коде)

В дополнительном коде старший бит неотрицательного (положительно­го или нулевого) числа содержит 0, а отрицательного числа -1. Следова­тельно, как и в прямом коде, этот бит является знаковым.

Знак числа в дополнительном коде можно изменить, если изменить (инвертировать) значение каждого бита и прибавить +1. Например, мы можем получить представление -5 в дополнительном коде из представле­ния +5 в дополнительном коде следующим образом:

+00000101 (+5 в дополнительном коде)

11111010 (+5 с измененными битами)

0000 0001 (+1 в дополнительном коде)

11111011 (- 5 в дополнительном коде)

Необходимо очень осторожно подходить к увеличению длины чисел,

представленных в дополнительном коде. Бели 8-битное число в дополнительном коде расширяется до 16 бит (например, для сложения с 16-битным числом в дополнительном коде), нужно подумать, что же поместить в левые 8 бит.

Предположим, что мы хотим прибавить число 0000 0001 (+1 в дополни­тельном коде) к 0000 0000 0000 0011 (+3 в дополнительном коде). Навер­ное, ни у кого не возникает сомнений в том, что здесь следует просто добавить в числе +1 восемь нулей с левой стороны, а затем сложить:

+0000 0000 0000 0011 (+3 в дополнительном коде)

0000 0000 0000 0001 (+1 в дополнительном коде)

0000 0000 0000 0100 (+4 в дополнительном коде)

Однако при необходимости прибавить число 1111 1111 (-1 в дополни­тельном коде) к числу 0000 0000 0000 0011 (+3 в дополнительном коде) следует добавить к числу -1 слева восемь единиц (добавление нулей превратило бы -1 в положительное число). После этого производится сложение:

+0000 0000 0000 0011 (+3 в дополнительном коде)

1111 1111 1111 1111 (-1 в дополнительном коде)

0000 0000 0000 0010 (+2 в дополнительном коде)

Следовательно, расширение 8-битного числа в 16-битное выглядит так:

Значение

8-битное представление

16-битное представление

+1

0000 0001

0000 0000 0000 0001

-1

1111 1111

1111 1111 1111 1111

Таким образом, для расширения числа в дополнительном коде необхо­димо ввести новые биты слева и поместить в каждый из них значение знакового бита. Этот процесс называется расширением со знаком.

ЗАКЛЮЧЕНИЕ. Познакомившись с компьютерами и представлением чисел, мы готовы к изучению конкретного процессора 80286. В следующей лекции мы рассмотрим его машинную организацию.

ЛЕКЦИЯ 2 МАШИННАЯ ОРГАНИЗАЦИЯ ПРОЦЕССОРА 80286