ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 6839
Скачиваний: 51
406
2. Проведите аналогию между архитектурой ЭВМ и обыденным понятием архитектуры.
Что общего и в чем различие?
3. Что общего и в чем различие между понятиями «внутреннее устройство ЭВМ»
и «архитектура ЭВМ»?
4. Что такое семейство ЭВМ? Приведите примеры.
5. Объясните, в чем состоит принцип программной совместимости. Что такое совмести-
мость снизу вверх (поясните на примере одного из известных вам семейств)?
6. Имеют ли отношение к понятию «архитектура» следующие факты:
а) в компьютере применяются микросхемы динамического (или статического) ОЗУ?
б) компьютер имеет расширенную память?
в) компьютер имеет (не имеет) общую шину, по которой передается информация между его
устройствами?
г) в процессоре INTEL 80386 к системе команд добавлено по сравнению с INTEL 80286 не-
сколько новых?
д) объем памяти новой модели ЭВМ увеличен вдвое?
7. Перечислите основные принципы фон-неимановской архитектуры и разъясните их со-
держание.
8. Чем обусловлено в ЭВМ широкое применение двоичной системы?
9. Можно ли. посмотрев на содержимое отдельно взятой ячейки памяти, определить, какая
информация в ней записана: число, команда, символы?
10. Из каких основных рлов состоит ЭВМ?
11. Что такое счетчик команд и какую роль он играет?
12. Что такое магистраль (шина)?
13. Какие преимущества имеет магистральная структура ЭВМ?
14. Что представляет собой контроллер внешнего устройства
и какую роль он играет в про-
цессе обмена информацией?
15. Какую роль играет в компьютере видеопамять?
16. Оцените необходимый объем видеопамяти для следующих
режимов:
а) текстовый режим (24 строки по 80 символов);
б) графический черно-белый режим при размере экрана 640х200 точек;
в) 16- цветный режим при том же размере экрана.
17. Что такое режим прямого доступа к памяти?
18 Как называется элементарная составляющая
машинной команды? От чего может зави-
сеть скорость выполнения команды?
19. Опишите основные этапы выполнения машинной команды. Особое внимание
обратите на роль счетчика команд.
20. Что такое конвейерная обработка команд и какие преимущества она имеет?
21. Какие основные операции входят в состав системы команд любой ЭВМ?
Кратко охарактеризуйте каждою из названных групп.
22. Объясните, почему возможно создать компьютер с уменьшенным (неполным)
набором команд и что это дает.
23. Из каких частей состоит команда ЭВМ? Кратко охарактеризуйте их назначение.
24. Чем различаются одно-, двух- и трехадресные команды?
25. Что такое адрес ОЗУ?
26. Как можно использовать одну и ту же команду для работы с несколькими
последовательно расположенными ячейками?
27. Укажите отличия в устройстве памяти ЭВМ третьего поколения по сравнению с двумя
предыдущими.
§3. АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ
3.1. ИСТОРИЯ РАЗВИТИЯ МИКРОПРОЦЕССОРОВ
В 1959 г. инженеры фирмы «Texas Instruments» разработали способ, как разместить внутри
одного полупроводникового кристалла несколько транзисторов и соединить их между собой - ро-
407
дилась первая интегральная микросхема (ИМС). По сравнению с функционально теми же устрой-
ствами, собранными из отдельных транзисторов, резисторов и т.п.. ИМС обладает значительными
преимуществами: меньшими габаритами, более высокой надежностью и т.д. Неудивительно, что
количество выпускаемых микросхем стало быстро возрастать, а их ассортимент неуклонно расши-
ряться. Последнее обстоятельство создавало ряд трудностей для потребителей. Важно даже не
столько то, что стремительно возраставшее количество типов ИМС затрудняло ориентацию в море
наименований. Значительно большим недостатком была узкая специализация ИМС, из-за которой
объем их выпуска не мог быть большим, а значит стоимость одной микросхемы оставалась высо-
кой. Улучшить ситуацию позволило бы создание универсальной логической ИМС, специализация
которой определялась бы не заложенной на заводе внутренней структурой, а заданной непосред-
ственно самим потребителем программой работы.
Таким образом, оказывается, что первые микропроцессоры (МП) появились совсем не для
миниатюризации ЭВМ, а в целях создания более дешевой логической микросхемы, легко адапти-
руемой к потребностям пользователя.
История создания первого в мире микропроцессора достаточно поучительна. Летом 1969 г.
японская компания «Busicom», разрабатывавшая новое семейство калькуляторов, обратилась за
помощью в фирму «Intel». К тому времени «Intel» просуществовала всего около года, но уже про-
явила себя созданием самой емкой на тот момент микросхемы памяти. Фирме «Busicom» как раз и
требовалось изготовить микросхемы, содержащие несколько тысяч транзисторов. Для реализации
совместного проекта был привлечен инженер фирмы «Intel» М.Хофф. Он познакомился с разра-
ботками «Busicom» и предложил альтернативную идею: вместо 12 сложных специализированных
микросхем создать одну программируемую универсальную - микропроцессор. Проект Хоффа по-
бедил и фирма «Intel» получила контракт на производство первого в мире микропроцессора.
Практическая реализация идеи оказалась непростым делом. В начале 1970 г. к работе под-
ключился Ф.Фаджин, который за 9 месяцев довел процессор от описания до кристалла (позднее
Ф.Фаджин основал фирму «Zilog», создавшую замечательный 8-разрядный процессор Z80, кото-
рый и сейчас успешно работает во многих домашних компьютерах). 15 ноября 1971 г. «Intel 4004»
- так назвали процессор -был представлен общественности.
Поскольку для хранения одной цифры калькулятору требуется 4 бита (именно столько не-
обходимо для изображения десятичных цифр «8» и «9»), «Intel 4004» был четырехразрядным про-
цессором. Следующий микропроцессор предназначался для установки в терминал и должен был
обрабатывать символьную информацию. Поскольку каждый символ кодируется одним байтом,
следующая модель «Intel 8008» стала 8-разрядной; она появилась в апреле 1982 г. По-прежнему
этот процессор был заменой «аппаратной логики», но отдельные энтузиасты уже пытались со-
брать на нем компьютер. Результаты были скорее демонстрационными, нежели полезными, но
микрокомпьютерная революция уже началась.
А в апреле 1974 г. компания «Intel» совершила новый качественный скачок: ее изделие с
маркой «Intel 8080» стало первым в мире процессором, походившим на «настоящую» вычисли-
тельную машину. Отметим любопытную деталь: хотя процессор. и обрабатывал 8-разрядные дан-
ные, но адрес ОЗУ был двухбайтовым! Таким образом, 8080 мог иметь до 64 килобайт памяти, что
по тем временам казалось программистам недостижимым пределом.
Дальнейшее развитие событий происходило прямо-таки с фантастической скоростью, даже
если сравнивать с темпами динамично развивающейся вычислительной техники. За десятилетие
был пройден путь от изобретения 4-разрядного МП до достаточно сложной 32-разрядной архитек-
туры. Было ликвидировано отставание микропроцессорной техники от обычных ЭВМ и началось
интенсивное вытеснение последних (все ЭВМ четвертого поколения собраны на базе того или
иного микропроцессора!). Для иллюстрации укажем, что первый МП 4004 содержал 2200 транзи-
сторов, МП 8080 - 4800, МП «Intel 80486» - около 1,2 миллиона, а современный «Pentium» - около
3 миллионов!
История развития микропроцессоров представляет собой достаточно интересную самостоя-
тельную тему. Здесь упомянем только, что пионер в создании процессорных микросхем фирма
«Intel» по-прежнему сохраняет свои лидирующие позиции в этой области. Ее программно-
совместимое семейство последовательно усложняющихся МП (16-разрядные 8086, 80286 и 32-
разрядные 80386, 80486, «Pentium») являются «мозгом» значительной части использующихся
компьютеров. Именно на базе этих микропроцессоров собраны все широко распространенные в
408
нашей стране IBM-совместимые компьютеры.
Другую ветку обширного микропроцессорного семейства образуют МП фирмы «Motorola»:
ее изделия работают в известных компьютерах «Apple», а также в более простых - «Atari»,
«Commador», «Amiga» и др. Процессоры «Motorola» ничуть не хуже, а порой даже заметно лучше
производимых компанией «Intel». Но на стороне последней - огромные производственные мощно-
сти транснационального гиганта IBM и десятки южно-азиатских фирм, буквально наводнившие
мир дешевыми IBM-совместимыми компьютерами.
В 1993 г. фирма «Motorola» совместно с IBM и «Apple» разработала новый процессор
«PowerPC». Этот процессор имеет очень хорошие технические характеристики, но самое главное в
нем - он может эмулировать работу компьютеров и «Apple», и IBM. Очевидно, что это событие
еще более обострит конкурентную борьбу на рынке микропроцессоров.
Завершая краткий исторический экскурс, попробуем определить некоторые новые направ-
ления развития МП в ближайшем будущем. Характерной чертой последних моделей процессоров
является возможность работы в многозадачном режиме, который фактически стал нормой для со-
временных ЭВМ. Развивается RISC-архитектура микропроцессоров (процессоры с минимальным
числом команд). Такой МП работает необычайно быстро и способен выполнить любую из своих
немногочисленных команд за один машинный такт, в то время как обычно на выполнение простой
операции требуется 4-5 тактов. Ярким примером достоинств RISC-архитектуры является уже упо-
минавшийся процессор «PowerPC». Следует особо подчеркнуть, что успехи RISC-подхода оказы-
вают существенное влияние и на конструирование CISC-процессоров (процессоры с полным на-
бором команд). Так, существенное ускорение классических CISC МП старших моделей семейства
«Intel» достигается за счет конвейерного выполнения команд, заимствованного из RISC МП.
И, наконец, нельзя не упомянуть о транспьютерах, содержащих в процессорном кристалле
собственное ОЗУ от 2 до 16 кбайт и каналы связи с внешним ОЗУ и с другими транспьютерами.
Теоретические возможности этих ИМС, реализующих алгоритмы параллельных вычислений, по-
ражают воображение. Однако потребуется значительное время, прежде чем они смогут быть прак-
тически реализованы.
Не следует думать, что бурное развитие микропроцессоров требуется только для вычисли-
тельных машин, где МП используются уже не только в качестве центрального процессора, но и в
качестве контроллеров для управления сложными периферийными устройствами типа винчестера
или лазерного принтера. Все большее число ИМС ставится в изделия, напрямую не связанные с
ЭВМ, в том числе и бытовые: лазерные аудио- и видеопроигрывателц, телетекст и пейджинговая
связь, программируемые микроволновые печи и стиральные машины, а также многие другие. Оче-
видно, что число таких управляемых микропроцессорами устройств будет все время возрастать.
3.3. ВНУТРЕННЯЯ ОРГАНИЗАЦИЯ МИКРОПРОЦЕССОРА
Перечислим основные функции микропроцессора:
• выборка команд из ОЗУ;
•декодирование команд (т.е. определение назначения команды, способа ее исполнения и
адресов операндов);
• выполнение операций, закодированных в командах;
• управление пересылкой информации между своими внутренними регистрами, оператив-
ной памятью и внешними (периферийными) устройствами;
• обработка внутрипроцессорных и программных прерываний;
• обработка сигналов от внешних устройств и реализация соответствующих прерываний;
• управление различными устройствами, входящими в состав компьютера.
Внутреннее устройство микропроцессоров очень сложно (вспомним три миллиона транзи-
сторов в «Pentium»). Даже если попытаться рассмотреть наиболее общую схему основных функ-
циональных узлов, и то получится достаточно сложная картина. К тому же внутреннее устройство
МП сильно зависит от его марки, а стало быть изучение структуры одного процессора не обяза-
тельно помогает понять работу другого. Следует признать нецелесообразным для пользователя (и
даже, может быть, для программиста) изучение инженерных деталей процессора современной
ЭВМ, и ограничиться, как это принято делать, только теми функциональными узлами, которые
доступны программно. При таком подходе оказывается, что МП имеют много общего, и становят-
409
ся отчетливо видны некоторые закономерности их внутреннего устройства. Кроме того, исчезает
пугающая сложность и возникает приятное и полезное чувство, что компьютер - это не какая-то
там «вещь в себе» и его поведение можно понять.
Итак, что же представляет собой микропроцессор с точки зрения программиста? Рассмот-
рение начнем в наиболее общем виде, не конкретизируя пока тип МП.
Ответ на поставленный вопрос, как ни странно, будет чрезвычайно прост: для программи-
ста любой процессор состоит из набора регистров памяти различного назначения, которые опре-
деленным образом связаны между собой и обрабатываются в соответствии с некоторой системой
правил. Конечно, программисту доступна не вся внутренняя память процессора: есть множество
рабочих (программно-недоступных) регистров, использующихся только во время выполнения ко-
манд и т.п.; их мы рассматривать не будем.
Обсуждение внутренних регистров микропроцессора начнем с наиболее важных:
счетчика
адреса команд, указателя стека
и
регистра состояния.
Наличие счетчика адреса команд, как уже
говорилось выше, было предложено еще в работах
фон
Неймана. Роль
счетчика
состоит в сохра-
нении адреса очередной команды программы и автоматическом вычислении адреса следующей.
Благодаря наличию программного счетчика в ЭВМ реализуется основной цикл исполнения после-
довательно расположенных команд программы. Заметим, что не во всех МП счетчик команд про-
граммно доступен.
В
указателе стека
хранится адрес начала специальным образом организуемого участка па-
мяти стека, описанного в следующем параграфе; роль указателя стека в функционировании про-
цессора достаточно велика.
Наконец,
регистр состояния процессора.
Для разных МП он может называться по-разному
(например, слово состояния процессора, регистр флагов и т.п.), но суть его всегда одна: в этом ре-
гистре хранятся сведения о текущих режимах работы процессора. Сюда же помещается информа-
ция о результатах выполняемых команд, например, равен ли результат нулю, отрицателен ли он,
не возникли ли ошибки в ходе операции и т.п. Использование и анализ информации в этом очень
важном регистре происходит побитно; иными словами, каждый бит регистра состояния имеет са-
мостоятельное значение. Содержание регистра состояния МП всегда старается сохранить в пер-
вою очередь сразу после значения командного счетчика.
Помимо рассмотренных выше, каждый МП имеет набор
рабочих регистров,
в которых хра-
нятся текущие обрабатываемые данные или их адреса в ОЗУ. У некоторых процессоров регистры
функционально равнозначны (классическим примером служит процессор машин семейства PDP).
в других (к ним принадлежит все интел-ловское семейство МП) назначение регистров достаточно
жестко оговаривается. В последнем случае выделяется особый регистр, который принято называть
аккумулятором..
В нем производятся все основные операции и сохраняется их результат
Завершая разговор о регистрах, укажем на существование определенных связей между ни-
ми: информация из одного может передаваться в другой. Для машин с равноправными регистрами
передача данных возможна между любыми регистрами, для остальных - между строго определен-
ными парами. Так или иначе (в худшем случае за несколько машинных команд) информацию
из
одного регистра МП всегда можно перенести в другой.
Разрядность регистров
МП существенно влияет на возможности всей ЭВМ. Поэтому
уточним понятие «разрядность ЭВМ». Оно включает
• разрядность внутренних регистров микропроцессора
(m);
• разрядность шины данных (n);
• разрядность шины адреса
(k).
Рис. 4.12.
Обмен информацией между процессором и основной памятью
410
Схема обмена информацией между микропроцессором и ОЗУ представлена на рис. 4.12.
Данные поступают из ОЗУ в регистры процессора и наоборот по шине данных; по шине адреса
передается информация о месте хранения данных в ОЗУ. Разрядности этих шин могут не совпа-
дать: например, упомянутый выше МП «Intel 8088» характеризовался значениями m/n/k = 16/8/20.
Когда говорят, не вникая в детали, «16-разрядная ЭВМ», то имеют в виду значение т. Поскольку
объем адресного пространства ОЗУ, контролируемого МП, равен 2k, то понятно стремление уве-
личить разрядность шины адреса.
3.3. РАБОТА МИКРОПРОЦЕССОРА С ПАМЯТЬЮ. МЕТОДЫ АДРЕСАЦИИ
Адресное пространство МП состоит из множества ячеек памяти ОЗУ, из которых он может
брать информацию или засылать ее. Как говорилось выше, начиная с 4-го поколения доминирует
байтовая организация памяти, и минимально адресуемой единицей является байт. Например, для
ОЗУ емкостью 1024 кбайта адреса байтов таковы:
00000 00001 ... FFFFF
(как принято, записываем их в шестнадцатеричнои системе; адрес последнего байта есть
1024*1024 -1=1 048 576 - 1 = FFFFF). Длина же ячейки («машинного слова») может быть как один,
так и несколько байтов в зависимости от типа процессора и команды, обрабатывающей соответст-
вующую информацию.
При обмене информацией с памятью процессор обращается к ячейкам ОЗУ по их номерам
(адресам). Способы задания требуемых адресов в командах ЭВМ принято называть
методами ад-
ресации.
От видов и разнообразия методов адресации существенно зависит эффективность работы
программы с данными, особенно если последние организованы в определенную структуру.
Для того, чтобы процессор мог извлечь данные из ячейки ОЗУ или поместить их туда, не-
обходимо где-то задать требуемый адрес. Если адрес находится в самой команде, то мы имеем де-
ло с
прямой адресацией.
Поскольку при подобном способе слишком сильно возрастает длина ко-
манды, то, чтобы избежать этого неприятного эффекта, при обращении к ОЗУ процессор исполь-
зует метод
косвенной адресации.
Идея состоит в том, что адрес памяти предварительно заносится в
один из регистров МП, а в команде содержится лишь ссылка на этот регистр. Если учесть, что при
хранении адреса в регистре его еще очень удобно модифицировать (скажем, циклически увеличи-
вая на заданную величину), становится понятным, почему косвенная адресация нашла такое ши-
рокое применение.
Приведем описание наиболее распространенных вариантов ссылок на исходную информа-
цию (учитывая, что терминология для разных МП может различаться, названия методов адресации
не приводятся):
1) данные находятся в одном из регистров МП;
2) данные входят непосредственно в состав
команды, т.е. размещаются после кода опера-
ции (операции с константой);
3) данные находятся в ячейке ОЗУ, адрес которой содержится в одном из регистров МП;
4) данные находятся в ячейке ОЗУ, адрес которой вычисляется по формуле
адрес = базовый адрес + смещение.
Базовый адрес хранится в одном из регистров МП и является начальной точкой массива
данных. Смещение может быть как некоторой константой, так и содержимым другого регистра.
Часто такой способ доступа к ОЗУ называют
индексным,
так как это похоже на нахождение эле-
мента в одномерном массиве по его индексу.
Следует подчеркнуть, что здесь описаны лишь наиболее общие методы адресации. У кон-
кретных моделей МП существуют некоторые особенности адресации ОЗУ. Кроме того, имеющие-
ся методы адресации могут быть комбинированными. Так, например, в процессорах семейства
PDP возможна двойная косвенная адресация: данные хранятся в ячейке ОЗУ, адрес которой хра-
нится в ячейке, адрес которой находится в указанном регистре (как тут не вспомнить детский
стишок о синице, которая ворует пшеницу, которая в темном чулане хранится, в доме, который
построил
Джек?).
Методы адресации могут быть и более экзотическими. Рассмотрим, например, широко рас-
пространенный
сегментный
способ, принятый в процессорах фирмы «Intel». Известный американ-