Микропроцессоры. История создания и принцип работы

Реферат, 11 Декабря 2012, автор: пользователь скрыл имя

Описание работы


В 1959 г. инженеры фирмы «Texas Instruments» разработали способ, как разместить внутри одного полупроводникового кристалла несколько транзисторов и соединить их между собой - ро-дилась первая интегральная микросхема (ИМС). По сравнению с функционально теми же устрой-ствами, собранными из отдельных транзисторов, резисторов и т.п.. ИМС обладает значительными преимуществами: меньшими габаритами, более высокой надежностью и т.д.

Содержание работы


1. История развития микропроцессоров
2. Внутренняя организация микропроцессора.
3. Работа микропроцессора с памятью. Методы адресации.

Файлы: 1 файл

Реферат.doc

— 67.00 Кб (Скачать файл)

Реферат: Микропроцессоры. История создания и принцип работы. Полный текст  работы.

Содержание: 
1. История развития микропроцессоров 
2. Внутренняя организация микропроцессора. 
3. Работа микропроцессора с памятью. Методы адресации.  
 
 
 
 
 
 
 
 
 
 
 
 
 
История развития микропроцессоров 
 
В 1959 г. инженеры фирмы «Texas Instruments» разработали способ, как разместить внутри одного полупроводникового кристалла несколько транзисторов и соединить их между собой - ро-дилась первая интегральная микросхема (ИМС). По сравнению с функционально теми же устрой-ствами, собранными из отдельных транзисторов, резисторов и т.п.. ИМС обладает значительными преимуществами: меньшими габаритами, более высокой надежностью и т.д. Неудивительно, что количество выпускаемых микросхем стало быстро возрастать, а их ассортимент неуклонно расширяться. Последнее обстоятельство создавало ряд трудностей для потребителей. Важно даже не столько то, что стремительно возраставшее количество типов ИМС затрудняло ориентацию в море наименований. Значительно большим недостатком была узкая специализация ИМС, из-за которой объем их выпуска не мог быть большим, а значит стоимость одной микросхемы оставалась высокой. Улучшить ситуацию позволило бы создание универсальной логической ИМС, специализация которой определялась бы не заложенной на заводе внутренней структурой, а заданной непосредственно самим потребителем программой работы. 
Таким образом, оказывается, что первые микропроцессоры (МП) появились совсем не для миниатюризации ЭВМ, а в целях создания более дешевой логической микросхемы, легко адапти-руемой к потребностям пользователя. 
История создания первого в мире микропроцессора достаточно поучительна. Летом 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») являются «мозгом» значительной части использующихся компьютеров. Именно на базе этих микропроцессоров собраны все широко распространенные в нашей стране IBM-совместимые компьютеры. 
Другую ветку обширного микропроцессорного семейства образуют МП фирмы «Motorola»: ее изделия работают в известных компьютерах «Apple», а также в более простых - «Atari», «Com-mador», «Amiga» и др. Процессоры «Motorola» ничуть не хуже, а порой даже заметно лучше про-изводимых компанией «Intel». Но на стороне последней - огромные производственные мощности транснационального гиганта IBM и десятки южно-азиатских фирм, буквально наводнившие мир дешевыми IBM-совместимыми компьютерами. 
В 1993 г. фирма «Motorola» совместно с IBM и «Apple» разработала новый процессор «Po-werPC». Этот процессор имеет очень хорошие технические характеристики, но самое главное в нем - он может эмулировать работу компьютеров и «Apple», и IBM. Очевидно, что это событие еще более обострит конкурентную борьбу на рынке микропроцессоров. 
Завершая краткий исторический экскурс, попробуем определить некоторые новые направ-ления развития МП в ближайшем будущем. Характерной чертой последних моделей процессоров является возможность работы в многозадачном режиме, который фактически стал нормой для со-временных ЭВМ. Развивается RISC-архитектура микропроцессоров (процессоры с минимальным числом команд). Такой МП работает необычайно быстро и способен выполнить любую из своих немногочисленных команд за один машинный такт, в то время как обычно на выполнение простой операции требуется 4-5 тактов. Ярким примером достоинств RISC-архитектуры является уже упоминавшийся процессор «PowerPC». Следует особо подчеркнуть, что успехи RISC-подхода оказывают существенное влияние и на конструирование CISC-процессоров (процессоры с полным набором команд). Так, существенное ускорение классических CISC МП старших моделей семейства «Intel» достигается за счет конвейерного выполнения команд, заимствованного из RISC МП. 
И, наконец, нельзя не упомянуть о транспьютерах, содержащих в процессорном кристалле собственное ОЗУ от 2 до 16 кбайт и каналы связи с внешним ОЗУ и с другими транспьютерами. Теоретические возможности этих ИМС, реализующих алгоритмы параллельных вычислений, по-ражают воображение. Однако потребуется значительное время, прежде чем они смогут быть прак-тически реализованы. 
Не следует думать, что бурное развитие микропроцессоров требуется только для вычисли-тельных машин, где МП используются уже не только в качестве центрального процессора, но и в качестве контроллеров для управления сложными периферийными устройствами типа винчестера или лазерного принтера. Все большее число ИМС ставится в изделия, напрямую не связанные с ЭВМ, в том числе и бытовые: лазерные аудио- и видеопроигрывателц, телетекст и пейджинговая связь, программируемые микроволновые печи и стиральные машины, а также многие другие. Очевидно, что число таких управляемых микропроцессорами устройств будет все время возрастать. 
 
 
Внутренняя организация микропроцессора. 
 
Перечислим основные функции микропроцессора: 
• выборка команд из ОЗУ; 
•декодирование команд (т.е. определение назначения команды, способа ее исполнения и адресов операндов); 
• выполнение операций, закодированных в командах; 
• управление пересылкой информации между своими внутренними регистрами, оператив-ной памятью и внешними (периферийными) устройствами; 
• обработка внутрипроцессорных и программных прерываний; 
• обработка сигналов от внешних устройств и реализация соответствующих прерываний; 
• управление различными устройствами, входящими в состав компьютера. 
Внутреннее устройство микропроцессоров очень сложно (вспомним три миллиона транзи-сторов в «Pentium»). Даже если попытаться рассмотреть наиболее общую схему основных функ-циональных узлов, и то получится достаточно сложная картина. К тому же внутреннее устройство МП сильно зависит от его марки, а стало быть изучение структуры одного процессора не обязательно помогает понять работу другого. Следует признать нецелесообразным для пользователя (и даже, может быть, для программиста) изучение инженерных деталей процессора современной ЭВМ, и ограничиться, как это принято делать, только теми функциональными узлами, которые доступны программно. При таком подходе оказывается, что МП имеют много общего, и становятся отчетливо видны некоторые закономерности их внутреннего устройства. Кроме того, исчезает пугающая сложность и возникает приятное и полезное чувство, что компьютер - это не какая-то там «вещь в себе» и его поведение можно понять. 
Итак, что же представляет собой микропроцессор с точки зрения программиста? Рассмот-рение начнем в наиболее общем виде, не конкретизируя пока тип МП. 
Ответ на поставленный вопрос, как ни странно, будет чрезвычайно прост: для программи-ста любой процессор состоит из набора регистров памяти различного назначения, которые опре-деленным образом связаны между собой и обрабатываются в соответствии с некоторой системой правил. Конечно, программисту доступна не вся внутренняя память процессора: есть множество рабочих (программно-недоступных) регистров, использующихся только во время выполнения ко-манд и т.п.; их мы рассматривать не будем. 
Обсуждение внутренних регистров микропроцессора начнем с наиболее важных: счетчика адреса команд, указателя стека и регистра состояния. Наличие счетчика адреса команд, как уже говорилось выше, было предложено еще в работах фон Неймана. Роль счетчика состоит в сохранении адреса очередной команды программы и автоматическом вычислении адреса следующей. Благодаря наличию программного счетчика в ЭВМ реализуется основной цикл исполнения последовательно расположенных команд программы. Заметим, что не во всех МП счетчик команд программно доступен. 
В указателе стека хранится адрес начала специальным образом организуемого участка па-мяти стека, описанного в следующем параграфе; роль указателя стека в функционировании про-цессора достаточно велика. 
Наконец, регистр состояния процессора. Для разных МП он может называться по-разному (например, слово состояния процессора, регистр флагов и т.п.), но суть его всегда одна: в этом регистре хранятся сведения о текущих режимах работы процессора. Сюда же помещается информация о результатах выполняемых команд, например, равен ли результат нулю, отрицателен ли он, не возникли ли ошибки в ходе операции и т.п. Использование и анализ информации в этом очень важном регистре происходит побитно; иными словами, каждый бит регистра состояния имеет самостоятельное значение. Содержание регистра состояния МП всегда старается сохранить в первою очередь сразу после значения командного счетчика. 
Помимо рассмотренных выше, каждый МП имеет набор рабочих регистров, в которых хра-нятся текущие обрабатываемые данные или их адреса в ОЗУ. У некоторых процессоров регистры функционально равнозначны (классическим примером служит процессор машин семейства PDP). в других (к ним принадлежит все интел-ловское семейство МП) назначение регистров достаточно жестко оговаривается. В последнем случае выделяется особый регистр, который принято называть аккумулятором.. В нем производятся все основные операции и сохраняется их результат 
Завершая разговор о регистрах, укажем на существование определенных связей между ни-ми: информация из одного может передаваться в другой. Для машин с равноправными регистрами передача данных возможна между любыми регистрами, для остальных - между строго определенными парами. Так или иначе (в худшем случае за несколько машинных команд) информацию из одного регистра МП всегда можно перенести в другой. 
Разрядность регистров МП существенно влияет на возможности всей ЭВМ. Поэтому уточним понятие «разрядность ЭВМ». Оно включает 
• разрядность внутренних регистров микропроцессора (m); 
• разрядность шины данных (n); 
• разрядность шины адреса (k). 
 
Рис. 4.12. Обмен информацией между процессором и основной памятью 
 
Схема обмена информацией между микропроцессором и ОЗУ представлена на рис. 4.12. Данные поступают из ОЗУ в регистры процессора и наоборот по шине данных; по шине адреса передается информация о месте хранения данных в ОЗУ. Разрядности этих шин могут не совпа-дать: например, упомянутый выше МП «Intel 8088» характеризовался значениями m/n/k = 16/8/20. Когда говорят, не вникая в детали, «16-разрядная ЭВМ», то имеют в виду значение т. Поскольку объем адресного пространства ОЗУ, контролируемого МП, равен 2k, то понятно стремление уве-личить разрядность шины адреса. 
 
Работа микропроцессора с памятью. Методы адресации. 
Адресное пространство МП состоит из множества ячеек памяти ОЗУ, из которых он может брать информацию или засылать ее. Как говорилось выше, начиная с 4-го поколения доминирует байтовая организация памяти, и минимально адресуемой единицей является байт. Например, для ОЗУ емкостью 1024 кбайта адреса байтов таковы: 
00000 00001 ... FFFFF 
(как принято, записываем их в шестнадцатеричнои системе; адрес последнего байта есть 1024*1024 -1=1 048 576 - 1 = FFFFF). Длина же ячейки («машинного слова») может быть как один, так и несколько байтов в зависимости от типа процессора и команды, обрабатывающей соответст-вующую информацию. 
При обмене информацией с памятью процессор обращается к ячейкам ОЗУ по их номерам (адресам). Способы задания требуемых адресов в командах ЭВМ принято называть методами ад-ресации. От видов и разнообразия методов адресации существенно зависит эффективность работы программы с данными, особенно если последние организованы в определенную структуру. 
Для того, чтобы процессор мог извлечь данные из ячейки ОЗУ или поместить их туда, не-обходимо где-то задать требуемый адрес. Если адрес находится в самой команде, то мы имеем де-ло с прямой адресацией. Поскольку при подобном способе слишком сильно возрастает длина ко-манды, то, чтобы избежать этого неприятного эффекта, при обращении к ОЗУ процессор исполь-зует метод косвенной адресации. Идея состоит в том, что адрес памяти предварительно заносится в один из регистров МП, а в команде содержится лишь ссылка на этот регистр. Если учесть, что при хранении адреса в регистре его еще очень удобно модифицировать (скажем, циклически увеличивая на заданную величину), становится понятным, почему косвенная адресация нашла такое широкое применение. 
Приведем описание наиболее распространенных вариантов ссылок на исходную информа-цию (учитывая, что терминология для разных МП может различаться, названия методов адресации не приводятся): 
1) данные находятся в одном из регистров МП; 
2) данные входят непосредственно в состав команды, т.е. размещаются после кода опера-ции (операции с константой); 
3) данные находятся в ячейке ОЗУ, адрес которой содержится в одном из регистров МП; 
4) данные находятся в ячейке ОЗУ, адрес которой вычисляется по формуле 
адрес = базовый адрес + смещение. 
Базовый адрес хранится в одном из регистров МП и является начальной точкой массива данных. Смещение может быть как некоторой константой, так и содержимым другого регистра. Часто такой способ доступа к ОЗУ называют индексным, так как это похоже на нахождение эле-мента в одномерном массиве по его индексу. 
Следует подчеркнуть, что здесь описаны лишь наиболее общие методы адресации. У кон-кретных моделей МП существуют некоторые особенности адресации ОЗУ. Кроме того, имеющие-ся методы адресации могут быть комбинированными. Так, например, в процессорах семейства PDP возможна двойная косвенная адресация: данные хранятся в ячейке ОЗУ, адрес которой хра-нится в ячейке, адрес которой находится в указанном регистре (как тут не вспомнить детский стишок о синице, которая ворует пшеницу, которая в темном чулане хранится, в доме, который построил Джек?). 
Методы адресации могут быть и более экзотическими. Рассмотрим, например, широко рас-пространенный сегментный способ, принятый в процессорах фирмы «Intel». Известный американский программист Питер Нортон метко назвал эют способ словом «клудж» (от английского «kludge» - приспособление для временного устранения проблемы). Сегментный метод адресации был предложен для первого 16-разрядного МП 8086 для того. чтобы, используя 16-разрядные регистры, можно было получить 20-разрядный адрес и тем самым расширить максимально возможный объем ОЗУ с 64 кбайт до 1 Мбайта. Суть метода состоит в том, что адрес ОЗУ вычисляется как сумма двух чисел (сегмента и смещения), причем одно из них сдвинуто влево на 4 двоичных разряда, т.е. умножено на 16. Пусть, например, сегмент в шестнадцатеричном виде равен АООО, а смещение - 1000. Общепринятая запись такого адреса имеет вид АООО: 1000. Итоговый адрес равен 
А000()  
+ 1000 
А1000 
«Такой способ адресации более 64 кбайт памяти кажется довольно странным, однако он ра-ботает», - не без некоторой иронии замечает по этому поводу Питер Нортон. 
Добавим, что, помимо всего прочего, при сегментной адресации один и тот же адрес ОЗУ может быть представлен несколькими комбинациями чисел (в самом деле, одну и ту же сумму можно получить разными способами) 
Поскольку современные интелловские процессоры, начиная с 80386, стали 32-разрядными, их регистров хватает, чтобы адресовать до 4 Гбайт памяти Сегментный способ при этом становится излишним, хотя и сохраняется как вариант ради обеспечения программной совместимости с предыдущими моделями. 
Нам осталось рассмотреть еще один очень специфический, но интересный и часто исполь-зуемый на практике способ адресации данных в ОЗУ. Речь пойдет о работе со стеком. Сам термин происходит от английского слова «stack», имеющего множество значений, причем ни одно из них не подходит достаточно точно. Чаще всего в литературе упоминается магазин револьвера, кото-рый по очереди обеспечивает доступ к каждому патрону. Даже если не учитывать ненужную «ми-литаризацию» терминологии, такой перевод явно не подходит к современной реализации стека. Во-первых, стек не является круговым, а во-вторых, информация в стеке микрокомпьютера не смещается (для точности аналогии пришлось бы признать, что магазин покоится, а вращается ре-вольвер!). Поэтому возьмем термин «стек» как есть, без перевода, и перейдем к определению. 
Стек - это неявный способ адресации, при котором информация записывается и считывается только последовательным образом с использованием, так называемого, указателя стека. 
Обратимся к примеру. Пусть требуется на время сохранить значения трех целочисленных переменных N1, N2 и N3, а затем их все сразу восстановить. Попробуем воспользоваться для этого стековой памятью. Прежде всего запомним, что стек всегда имеет единственный вход и выход информации - для .хранения его адреса и нужен указатель стека. Пусть для определенности он сейчас содержит адрес 2006 (рис. 4.13, а). Тогда по команде «записать в стек N1» (обратите внимание, что в команде не фигурирует явно ни адрес ОЗУ, ни регистр МП!) процессор проделает следующее: 
1) уменьшит указатель стека на 2 (целое число занимает в памяти 2 байта); 
2) запишет N1 по полученному адресу 2004 (рис. 4.13, б). 
Аналогично при выполнении команд «записать в стек N2» и «записать в стек N3» значения этих переменных попадут в ячейки 2002 и 2000, причем указатель стека станет равным 2000 (рис. 4.13, в). 
 
Рис. 4.13. Пример для изучения принципа работы стека 
 
Теперь займемся извлечением информации. Как видно из рис. 4.13, в, указатель сейчас «на-правлен» на значение переменной N3, а значит считывать придется, начиная с него. Выполним команду «прочитать из стека N3». При этом процессор 
1) считает в N3 значение из стека; 
2) увеличит указатель на 2 (рис. 4.13, г).  
Аналогично прочитаем N2 и N1, после чего стек опустеет и вернется к начальному состоя-нию, изображенному на рис. 4.13, а. 
Примечание. Обратим внимание на то, что значение в стеке после считывания, конечно же, не исчезает, как это условно показано на рис. 4.13, г, но есть причины полагать, что мы его там можем больше не увидеть. Дело в том, что процессор имеет право иногда временно использовать стек для своих «внутренних» нужд. При этом некоторые ячейки, адреса которых меньше текущего указателя стека, естественно, изменятся. Следовательно, во избежание неприятностей лучше всегда считать, что после считывания информации в стековой памяти она пропадает. 
Подводя итоги рассмотрения примера, обратим внимание на следующее. Та информация, которая заносится в стек первой, извлекается последней и наоборот. Обычно об организации стека говорят: «первым пришел - последним ушел». Удобно представить себе аналогию с детской пирамидкой, нижнее кольцо которой невозможно снять до тех пор, пока не будут сняты все остальные. 
Еще раз подчеркнем, что в командах работы со стеком адрес ОЗУ не фигурирует в явном виде. Но при этом молчаливо предполагается, что указатель стека уже задан. Как правило, ини-циализацию указателя стека компьютер делает сам, но не мешает поинтересоваться, так ли это в вашем конкретном случае и достаточно ли памяти под стек имеется при этом. Если указатель сте-ка определен неправильно, то запись в стек может разрушить полезную информацию в ОЗУ и вы-звать непредсказуемые последствия. 
Интересно, что со стековым способом организации мы имеем дело в жизни гораздо чаще, чем это может показаться на первый взгляд. Во-первых, дисциплине «первым пришел - последним ушел» подчиняются скобки в арифметических выражениях: первой всегда закрывается «самая внутренняя», т.е. как раз последняя скобка. Если вы знакомы с программированием на любом алгоритмическом языке, то без труда найдете и еще два примера: вложенные циклы и подпрограммы. 
Итак, мы подробно рассмотрели общие принципы записи информации в стек. Остается сказать, что стековый способ организации ОЗУ используется в вычислительной технике очень широко. На аппаратном уровне процессор «обучен» сохранять в стеке текущий адрес программы при выполнении команды перехода с возвратом, т.е. при вызове подпрограммы. Часто программа предварительно заносит в тот же самый стек необходимые для подпрограммы параметры: так реа-лизуется, например, вызов процедур и функций с параметрами в языке «Паскаль». Кроме того. стек часто используется для временного сохранения значений тех или иных внутренних регистров процессора. Наконец, процессор активно использует стек при реализации прерываний от внешних устройств (об этом будет рассказано в следующем параграфе). 
 
 
Литература: 
1. Каймин В.А. Информатика: Учебник. - М.: ИНФРА-М,2000. - 232 с. - (Серия «Высшее образование»). 
2. Информатика А.В.Могилев, Н.И.Пак, Е.К.Хённер 
3. Информатика: Учебник / Под общ. ред. А.Н. Данчула. — М.: И 74 Изд-во РАГС, 2004. - 528 с.  

Ссылка для скачивания  

 

 

 

 
 
 
 
 


Информация о работе Микропроцессоры. История создания и принцип работы