Архитектура микропроцессоров

История развития микропроцессоров. Их внутренняя организация. Работа микропроцессора с памятью. Методы адресации и форматы данных. Работа микропроцессора с внешними устройствами. Описание модели IBM PC как базовой модели персонального компьютера.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 11.05.2014
Размер файла 42,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Башкирский государственный университет» Сибайский институт (филиал)

Реферат

по теме: Архитектура микропроцессоров

Выполнила:

студентка 1 курса

З.Г.Байзигитова

Проверил:

ст. преподаватель

И.С. Гумеров

СИБАЙ - 2011

Содержание

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

5. Работа микропроцессора с внешними устройствами

Заключение

Введение

Процесс взаимодействия человека с ЭВМ насчитывает уже более 40лет. До недавнего времени в этом процессе могли участвовать только специалисты - инженеры, математики - программисты, операторы. В последние годы произошли кардинальные изменения в области вычислительной техники. Благодаря разработке и внедрению микропроцессоров в структуру ЭВМ появились малогабаритные, удобные для пользователя персональные компьютеры. Ситуация изменилась, в роли пользователя может быть не только специалист по вычислительной технике, но и любой человек, будь то школьник или домохозяйка, врач или учитель, рабочий или инженер. Часто это явление называют феноменом персонального компьютера. В настоящее время мировой парк персональных компьютеров превышает 20 млн.

Почему возник этот феномен? Ответ на этот вопрос можно найти, если четко сформулировать, что такое персональный компьютер и каковы его основные признаки. Надо правильно воспринимать само определение " персональный", оно не означает принадлежность компьютера человеку на правах личной собственности. Определение "персональный" возникло потому, что человек получил возможность общаться с ЭВМ без посредничества профессионала-программиста, самостоятельно, персонально. При этом не обязательно знать специальный язык ЭВМ. Существующие в компьютере программные средства обеспечат благоприятную " дружественную" форму диалога пользователя и ЭВМ.

В настоящее время одними из самых популярных компьютеров стали модель IBM PC и ее модернизированный вариант IBM PC XT, который по архитектуре, программному обеспечению, внешнему оформлению считается базовой моделью персонального компьютера.

Основой персонального компьютера является системный блок. Он организует работу, обрабатывает информацию, производит расчеты, обеспечивает связь человека и ЭВМ. Пользователь не обязан досконально разбираться в том, как работает системный блок. Это удел специалистов. Но он должен знать, из каких функциональных блоков состоит компьютер. Мы не имеем четкого представления о принципе действия внутренних функциональных блоков окружающих нас предметов - холодильника, газовой плиты, стиральной машины, автомобиля, но должны знать, что заложено в основу работы этих устройств, каковы возможности составляющих их блоков.

1. История развития микропроцессоров

В 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", "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 Кбайт и каналы связи с внешним ОЗУ и с другими транспьютерами. Теоретические возможности этих ИМС, реализующих алгоритмы параллельных вычислений, поражают воображение. Однако потребуется значительное время прежде чем они смогут быть практически реализованы.

Не следует думать, что бурное развитие микропроцессоров требуется только для вычислительных машин, где МП используются уже не только в качестве центрального процессора, но и в качестве контроллеров для управления сложными периферийными устройствами типа винчестера или лазерного принтера. Все большее число ИМС ставится в изделия, напрямую не связанные с ЭВМ, в том числе и бытовые: лазерные аудио- и видеопроигрыватели, телетекст и пейджинговая связь, программируемые микроволновые печи и стиральные машины, а также многое-многое другое. Очевидно, что количество таких управляемых микропроцессорами устройств будет все время возрастать.

2. Внутренняя организация микропроцессора

Перечислим основные функции микропроцессора:

1. Выборка команд из ОЗУ.

2. Декодирование команд (т.е. определение назначения команды и способа ее исполнения ).

3. Выполнение операций, закодированных в командах.

4. Управление пересылкой информации между своими внутренними регистрами, оперативной памятью и внешними (периферийными) устройствами.

5. Обработка внутрипроцессорных и программных прерываний.

6. Обработка сигналов от внешних устройств и реализация соответствующих прерываний.

7. Управление различными устройствами, входящими в состав компьютера.

Внутреннее устройство микропроцессоров очень сложно (вспомним три миллиона транзисторов в Pentium). Даже если попытаться рассмотреть наиболее общую схему основных функциональных узлов, и то получится достаточно сложная картина. К тому же внутреннее устройство МП сильно зависит от его марки, а стало быть изучение структуры одного процессора не обязательно помогает понять работу другого. Следует признать нецелесообразным для пользователя (и даже, может быть, для программиста) изучение инженерных деталей процессора современной ЭВМ, и ограничиться, как это принято делать, только теми функциональными узлами, которые доступны программно. При таком подходе оказывается, что МП имеют много общего, и становятся отчетливо видны некоторые закономерности их внутреннего устройства. Кроме того, исчезает пугающая сложность и возникает приятное и полезное чувство, что компьютер - это не какая то-там "вещь в себе", и его поведение можно понять.

Итак, что же представляет собой микропроцессор с точки зрения программиста? Рассмотрение начнем в наиболее общем виде, не конкретизируя пока тип МП.

Ответ на поставленный вопрос, как ни странно, будет чрезвычайно прост: для программиста любой процессор состоит из набора регистров памяти различного назначения, которые определенным образом связаны между собой и обрабатываются в соответствии с некоторой системой правил. Конечно, программисту доступна не вся внутренняя память процессора: есть множество рабочих (программно-недоступных) регистров, использующихся только во время выполнении команд и т.п.; их мы рассматривать не будем. Обсуждение внутренних регистров микропроцессора начнем с наиболее важных: счетчика адреса команд, указателя стека и регистра состояния. Наличие счетчика адреса команд, как уже говорилось выше, было предложено еще в работах фон Неймана. Роль счетчика состоит в сохранении адреса очередной команды программы и автоматическом вычислении адреса следующей. Благодаря наличию программного счетчика, в ЭВМ реализуется основной цикл исполнения последовательно расположенных команд программы. Заметим, что не во всех МП счетчик команд программно доступен.

В указателе стека храниться адрес сначала специальным образом организуемого участка памяти - стека, описанного в следующем параграфе; роль указателя стека в функционировании процессора достаточно велика.

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

Помимо рассмотренных выше, каждый МП имеет набор рабочих регистров, в которых хранятся текущие обрабатываемые данные или их адреса в ОЗУ. У некоторых процессоров регистры функционально равнозначны (классическим примером служит процессор машин семейства PDP), в других (к ним принадлежит все интелловское семейство МП) назначение регистров достаточно жестко оговаривается. В последнем случае выделяется особый регистр- аккумулятор- в нем производятся все основные операции и сохраняется их результат.

Завершая разговор о регистрах, укажем на существование определенных связей между ними: информация из одного может передаваться в другой. Для машин с равноправными регистрами передача данных возможна между любыми регистрами, для остальных - между строго определенными парами. Так или иначе (в худшем случае за несколько машинных команд) информацию из одного регистра МП всегда можно перенести в другой. Уточним понятие "разрядность ЭВМ". Оно включает :

· разрядность внутренних регистров микропроцессора (m);

· разрядность шины данных (n);

· разрядность шины адреса (k);

Краткая схема обмена информацией между микропроцессором и ОЗУ такая: данные поступают из ОЗУ в регистры процессора и наоборот по шине данных; по шине адреса передается информация о месте хранения данных в ОЗУ. Разрядности этих шин могут не совпадать: например, упомянутый выше МП "Intel 8088" характеризовался значениями m/n/k = 16/8/20. Когда говорят, не вникая в детали, "16-и разрядная ЭВМ", то имеют в виду значение m. Поскольку объем адресного пространства ОЗУ, контролируемого МП, равен 5k , то понятно стремление увеличить разрядность шины адреса и то, каким образом 16-и разрядная ЭВМ может контролировать адресное пространство ОЗУ значительно больше 64 Кбайт.

3. Работа микропроцессора с памятью. Методы адресации

Адресное пространство МП состоит из множества ячеек памяти ОЗУ, из которых он может брать информацию или засылать ее. Как говорилось выше, начиная с 4-ого поколения доминирует байтовая организация памяти, и минимально адресуемой единицей является байт. Например, для ОЗУ емкостью 1024 Кбайта адреса байтов таковы: 00000 00001 . . . FFFFF (как принято, записываем их в 16-ричной системе; адрес последнего байта есть 1024*1024 - 1 = 520 - 1 = FFFFF). Длина же ячейки ("машинного слова") может быть как один, так и несколько байт в зависимости от типа процессора и команды, обрабатывающей соответствующую информацию.

При обмене информацией с памятью процессор обращается к ячейкам ОЗУ по их номерам (адресам). Способы задания требуемых адресов в командах ЭВМ принято называть методами адресации. От видов и разнообразия методов адресации существенно зависит эффективность работы программы с данными, особенно если последние организованы в определенную структуру.

Для того, чтобы процессор мог извлечь данные из ячейки ОЗУ или поместить их туда, необходимо где-то задать требуемый адрес. Если адрес находится в самой команде, то мы имеем дело с прямой адресацией. Поскольку при подобном способе слишком сильно возрастает длина команды, то, чтобы избежать этого неприятного эффекта, при обращении к ОЗУ процессор использует метод косвенной адресации. Идея состоит в том, что адрес памяти предварительно заносится в один из регистров МП, а в команде содержится лишь ссылка на этот регистр. Если учесть, что при хранении адреса в регистре его еще очень удобно модифицировать (скажем, циклически увеличивая на заданную величину), становится понятным, почему косвенная адресация нашла такое широкое применение.

Приведем описание наиболее распространенных вариантов ссылок на исходную информацию. Учитывая, что терминология для разных МП может отличаться, названия методов адресации не приводятся.

1. Данные находятся в одном из регистров МП.

2. Данные входят непосредственно в состав команды, т.е. размещаются после кода операции (операции с константой).

3. Данные находятся в ячейке ОЗУ, адрес которой содержится в одном из регистров МП.

4. Данные находятся в ячейке ОЗУ, адрес которой вычисляется по формуле :

адрес = базовый адрес + смещение.

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

Следует подчеркнуть, что здесь описаны лишь наиболее общие методы адресации. У конкретных моделей МП существует некоторые особенности адресации ОЗУ. Кроме того, имеющиеся методы адресации могут комбинироваться между собой. Так, например, в процессорах семейства PDP возможна двойная косвенная адресация: данные хранятся в ячейке ОЗУ, адрес которой хранится в ячейке, адрес которой находится в указанном регистре (как тут не вспомнить детский стишок о синице, которая ворует пшеницу, которая в темном чулане хранится, в доме, который построил Джек?).

Методы адресации могут быть и более экзотическими. Рассмотрим, например, широко распространенный сегментный способ, принятый в процессорах фирмы Intel. Известный американский программист Питер Нортон метко назвал этот способ словом "клудж" (от английского "kludge" - приспособление для временного устранения проблемы). Сегментный метод адресации был предложен для первого 16-разрядного МП 8086 для того, чтобы, используя 16-разрядные регистры, можно было получить 20-разрядный адрес и тем самым расширить максимально возможный объем ОЗУ с 64 Кбайт до 1 Мбайта. Суть метода состоит в том, что адрес ОЗУ вычисляется как сумма двух чисел (сегмента и смещения), причем одно из них сдвинуто влево на 4 двоичных разряда, т.е. умножено на 16. Пусть, например, сегмент в шестнадцатеричном виде равен А000, а смещение - 1000. Общепринятая запись такого адреса имеет вид А000:1000.

Такой способ адресации более 64 Кбайт памяти кажется довольно странным, однако он работает", - не без некоторой иронии замечает по этому поводу Питер Нортон.

Добавим, что помимо всего прочего, при сегментной адресации один и тот же адрес ОЗУ может быть представлен несколькими комбинациями чисел (в самом деле, одну и ту же сумму можно получить разными способами).

К счастью, современные интелловские процессоры, начиная с 80386, стали 32-разрядными и их регистров хватает, чтобы адресовать до 4 Гбайт памяти. Сегментный способ при этом становится излишним, хотя и сохраняется как вариант ради обеспечения программной совместимости с предыдущими моделями.

Нам осталось рассмотреть еще один очень специфический, но интересный и часто используемый на практике способ адресации данных в ОЗУ. Речь пойдет о работе со стеком. Сам термин происходит от английского слова "stack", имеющего множество значений, причем ни одно из них не подходит достаточно точно. Чаще всего в литературе упоминается магазин револьвера, который по очереди обеспечивает доступ к каждому патрону. Даже если не учитывать ненужную "милитаризацию" терминологии, такой перевод явно не подходит к современной реализации стека. Во-первых, стек не является круговым, а во-вторых, информация в стеке микрокомпьютера не смещается (для точности аналогии пришлось бы признать, что магазин покоится, а вращается револьвер!) Поэтому возьмем термин "стек" как есть, без перевода, и перейдем к определению.

Стек - это неявный способ адресации, при котором информация записывается и считывается только последовательным образом с использованием так называемого указателя стека. Пока непонятно, что такое указатель, поэтому сразу обратимся к примеру.

Пусть требуется на время сохранить значения трех целочисленных переменных N1, N2 и N3, а затем их все сразу восстановить. Попробуем воспользоваться для этого стековой памятью. Прежде всего запомним, что стек всегда имеет единственный вход и выход информации - для хранения его адреса и нужен указатель стека. Пусть для определенности он сейчас содержит адрес 2006 . Тогда по команде "записать в стек N1 " (обратите внимание, что в команде не фигурирует явно ни адрес ОЗУ, ни регистр МП!) процессор проделает следующее:

1. уменьшит указатель стека на 2 - целое число занимает в памяти 2 байта;

2. запишет N1 по полученному адресу 2004 .

Аналогично при выполнении команд "записать в стек N2 " и "записать в стек N3", значения этих переменных попадут в ячейки 2002 и 2000, причем указатель стека станет равным 2000 .

Теперь займемся извлечением информации. Указатель сейчас "направлен" на значение переменной N3, а значит считывать придется начиная с него. Выполним команду "прочитать из стека N3".При этом процессор

· считает в N3 значение из стека;

· увеличит указатель на 2 .

Аналогично прочитаем N2 и N1, после чего стек опустеет и вернется к начальному состоянию.

Примечание. Обратим внимание на то, что значение в стеке после считывания, конечно же, не исчезает, но есть причины полагать, что мы его там можем больше не увидеть. Дело в том, что процессор имеет право иногда временно использовать стек для своих "внутренних" нужд . При этом некоторые ячейки, адреса которых меньше текущего указателя стека, естественно, изменятся. Следовательно, во избежание неприятностей лучше всегда считать, что после считывания информации в стековой памяти она пропадает.

Подводя итоги рассмотрения нашего примера, обратим внимание на следующее. Та информация, которая заносится в стек первой, извлекается последней и наоборот. Обычно об организации стека говорят: "первым пришел - последним ушел". Удобно представить себе аналогию с детской пирамидкой, нижнее кольцо которой невозможно снять до тех пор, пока не будут сняты все остальные.

Еще раз подчеркнем, что в командах работы со стеком адрес ОЗУ не фигурирует в явном виде. Но при этом молчаливо предполагается, что указатель стека уже задан. Как правило, инициализацию указателя стека компьютер делает сам, но не мешает поинтересоваться, так ли это в вашем конкретном случае и достаточно ли памяти под стек имеется при этом. Если указатель стека определен неправильно, то запись в стек может разрушить полезную информацию в ОЗУ и вызвать непредсказуемые последствия.

Интересно, что со стековым способом организации мы имеем дело в жизни гораздо чаще, чем это может показаться на первый взгляд. Во-первых, дисциплине "первым пришел - последним ушел" подчиняются скобки в арифметических выражениях: первой всегда закрывается "самая внутренняя", т.е. как раз последняя скобка. Если вы знакомы с программированием на любом алгоритмическом языке, то без труда найдете и еще два примера: вложенные циклы и подпрограммы.

Итак, мы подробно рассмотрели общие принципы записи информации в стек. Остается сказать, что стековый способ организации ОЗУ используется в вычислительной технике очень широко. На аппаратном уровне процессор "обучен" сохранять в стеке текущий адрес программы при выполнении команды перехода с возвратом, т.е. при вызове подпрограммы. Часто программа предварительно заносит в тот же самый стек необходимые для подпрограммы параметры: так реализуется, например, вызов процедур и функций с параметрами в языке Паскаль. Кроме того, стек очень часто используется для временного сохранения значений тех или иных внутренних регистров процессора.

Наконец, процессор активно использует стек при реализации прерываний от внешних устройств.

4. Форматы данных

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

Если в ходе исполнения программы ее остановить, прочитать содержимое какой-нибудь ячейки памяти ОЗУ, к которой в это мгновение обращается процессор, и попытаться понять, что именно хранится в этой ячейке, то это чаще всего невозможно сделать не расшифровав код выполняемой операции - сам по себе хранимый в ячейке двоичный код может быть и числом, и командой, и кодом символа, и чем-то еще. Все дело в том, как его интерпретирует работающая с ним команда.

Перечислим некоторые форматы данных, типичные для 16-и разрядной ЭВМ.

8-и битовые целые числа без знака

Каждое такое число занимает 1 байт и воспринимаются процессором как целые положительные числа. Следовательно, диапазон представимости чисел в этом формате от 00000000 до 11111111, т.е. от 0 до FF в 16-ричной системе (от 0 до 255 в десятичной).

8-и битовые целые числа со знаком

В этом случае величина числа задается семью битами, а значение старшего бита определяет знак числа (0 - положительное, 1 - отрицательное). В этом формате код 01101011 означает число +6B. Однако, код 11101011 не означает, как можно подумать, число -6B, т.к. для кодирования отрицательных чисел применяется т.н. дополнительный код. Он образуется следующим образом:

· находится восьмиразрядное двоичное представление абсолютной величины числа;

· найденный код инвертируется, т.е. в нем нули заменяются на единицы и наоборот;

· к полученному коду арифметически прибавляется 1.

Например, процесс получения дополнительного кода десятичного числа -75 таков: 01001011 010110100 010110101.

Использование дополнительного кода облегчает организацию арифметических действий в процессоре (который, как правило, не имеет даже аппаратно реализованной операции вычитания - все надо сводить к сложению целых чисел).

Обратная процедура - восстановление значения числа по дополнительному коду - такова: инверсия дополнительного кода - арифметическое прибавление единицы - получен модуль отрицательно числа, представленного данным кодом.

Диапазон представимости чисел в этом формате - от -128 до +127.

16-и битовые целые числа со знаком и без знака

Они в точности аналогичны 8-и битовым, но код имеет вдвое большую длину. Соответственно, многократно возрастает диапазон представимости: для чисел без знака от 0000 до FFFF (т.е. от 0 до 65535 в десятичной системе), для чисел со знаком - от -8000 до +7FFF (т.е. от -32768 до +32767).

8-и битовые символы

В этом формате двоичный код интерпретируется обрабатывающей его командой как код символа. При работе с персональными ЭВМ обычно используется система кодирования ASCII, о которой говорилось в другом месте. В ней стандартизированы (закреплены за определенными символами) коды, у которых значение старшего бит а равно 0; все прочие коды остаются за символами национальных алфавитов и дополнительными специальными символами.

1 Битовые поля

В этом формате значащим является не весь 8-и или 16-и разрядный код в целом, а каждый из составляющих его битов. Пример битового поля - содержимое регистра состояния процессора . Существуют и другие форматы данных - двоично-десятичные числа, строки и т.д.

Обработка внутрипроцессорных и программных прерываний.

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

Приведем примеры внутрипроцессорных прерываний. Всегда возможен аппаратный сбой при выполнении операции, после которого процессор "не знает" что делать дальше. Возможны переполнения разрядной сетки при выполнении как арифметических, так и логических операций, когда получившийся операнд не помещается в регистр.

Другой тип - программные прерывания. Например, для IBM-совместимых компьютеров в литературе часто описываются многочисленные команды прерывания INT с самыми разнообразными номерами. Следует четко представлять, что INT - это одна из инструкций процессора; чтобы она заработала, ее код должен содержаться в программе. В противоположность этому, "настоящие" прерывания возникают аппаратно и не требуют наличия каких-то специальных команд в тексте прерываемой программы. Более того, аппаратное прерывание может произойти между двумя любыми командами программы.

К программным относятся и межмашинные прерывания, возникающие в локальной сети при обмене информацией между компьютерами.

События, вызывающие прерывания, можно разделить на 2 группы:

· фатальные

· нефатальные.

На фатальные (неотвратимо наступающие) процессор может реагировать единственным способом: прекратить исполнение программы, проанализировать событие и принять соответствующие меры (чаще всего - сообщить причину прерывания пользователю и ждать его реакции). Однако, часто можно с остановкой программы повременить: запомнить, что прерывание было, и продолжать исполнять программу. Например, сложение с переполнением разрядной сетки - фатальное событие, после которого остановка неизбежна; попытка вывода на принтер, неготовый к приему информации, может быть отложена (с сохранением этой информации).

Запрет прерывания -маскировка- задается программистом или системной программой. Делается это либо с помощью установления вида битового поля в специальном регистре маски прерываний, в котором значения разрядов - 0 или 1 - связаны соответственно с отсутствием или наличием маскировки закрепленного за этим разрядом прерывания, либо с аналогичным использованием разрядов регистра состояния процессора.

После получения сигнала о незамаскированном прерывании процессор делает следующее:

· распознает источник прерывания;

· запоминает состояние прерванной программы;

· вызывает и выполняет специальную системную программу обработки прерываний;

· восстанавливает состояние прерванной программы и, при возможности, продолжает ее исполнение.

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

Для запоминания состояния прерванной программы чаще всего используется стек. Выше мы уже говорили о стеке в ракурсе организации особого способа адресации. Кроме того, стек используется процессором как для организации механизма прерываний, так и для обработки обращения к подпрограммам, передачи параметров и временного хранения данных.

Вообще говоря, стек - это одна из линейных динамических структур данних, в которую можно добавить или из которой можно удалить данное лишь через специальную область - вершину стека. Роль вершины в данном случае играет одна из ячеек ОЗУ, адрес которой храниться в регистре "указатель стека".

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

Назначение программы обработки - понять и в удобной для пользователя форме вывести (обычно на экран) сообщение о причине прерывания и иногда - рекомендации по возможной реакции на эту причину. При занесении в стек некоторого данного оно поступает в вершину стека; после поступления следующего данного оно занимает вершину, а предыдущее "опускается" по стеку и т.д. При этом адресации подлежит лишь вершина, т.к. ячейки, образующие стек, расположены в памяти последовательно. Чтение из стека возможно лишь в обратном порядке через вершину по принципу "последним пришел - первым ушел".

Все это разительно отличается от ситуации с машинами 1-ого и 2-ого (а отчасти - и 3-его) поколений, когда пользователь без помощи системного программиста в большинстве случаев не мог разобраться в причине события, вызвавшего прерывание его программы на этапе исполнения. Такая ситуация стала нетерпимой для персональных компьютеров и чем совершеннее анализатор программы обработки прерываний, тем выше уровень "дружелюбности" пользовательского интерфейса.

5. Работа микропроцессора с внешними устройствами

Мы уже знаем, как процессор обменивается информацией с ее наиболее важным и оперативным источником - памятью. Рассмотрим теперь, как МП может принять данные или передать их внешним устройствам. Способ решения этой задачи в зависимости от конструкции ЭВМ (подчеркнем: не от конструкции МП, а от конструкции всей ЭВМ!) может быть одним из двух указанных ниже:

1. устройства ввода-вывода включаются в общее адресное пространство;

2. устройства ввода-вывода имеют собственное адресное пространство.

В первом случае при обращении к определенным адресам памяти вместо обмена с ОЗУ происходит аппаратное подключение того или иного внешнего устройства. При этом для "общения" с внешними устройствами и с памятью используются одни и те же команды МП, хотя, конечно, обмен с внешним устройством протекает по более сложному протоколу, чем с памятью.

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

На самом деле, с точки зрения схемной организации оба описанных способа имеют очень много общего. При любом обмене, будь то обращение к ОЗУ, ПЗУ или внешнему устройству, процессор выставляет адрес информации на единую адресную шину, а данные передает или принимает по общей шине данных. Выбор же требуемого адресата - ячейка памяти или порт - осуществляется подачей специального управляющего сигнала. В одном и том же компьютере могут встречаться оба способа адресации устройств ввода-вывода. Так, в ЭВМ "Yamaha" накопитель на магнитных дисках включен в общее адресное пространство памяти, а печатающее устройство оформлено в виде нескольких портов. Любопытно, что некоторые порты этого компьютера служат для подключения к небольшому 64-килобайтному адресному пространству 128 Кбайт ОЗУ и многочисленных ПЗУ. При этом все ресурсы памяти разбиваются на отдельные страницы по 16 Кбайт каждая, и "активными" в каждый момент времени могут быть только четыре из них.

Рассказ о работе с периферийными устройствами был бы неполным без описания того диалога, который ведет с ними МП. Рассмотрим его на примере простейших устройств ввода-вывода,- например, печатающего устройства.

Обмен с подключенным к ЭВМ печатающим устройством производится через два основных порта :

порт состояния (хранится информация о состоянии устройства в данный момент времени) порт данных (МП помещает данные для вывода на бумагу)

Каждый бит порта состояния хранит ответ на вполне определенный вопрос: заправлена ли бумага, готов ли принтер принять данные от компьютера и т.д. Все это для МП входные сигналы. Но есть и выходные, которые через порт передаются от МП к печатающему устройству. Наиболее важным из них является бит, свидетельствующий о готовности информации в порту данных к передаче. Этот управляющий сигнал часто называют стробом. В наиболее простом случае обмен информацией между процессором и принтером может протекать следующим образом. Пусть МП должен вывести на печать какой-нибудь символ. Он считывает порт состояния принтера и анализирует содержимое его бита готовности. Если результат положительный, т.е. печатающее устройство готово принять информацию, обмен продолжается, в противном случае МП снова считывает порт состояния и повторяет анализ.

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

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

Думается, прочитав даже достаточно поверхностное описание механизма обмена процессора с таким простым устройством, как печать, мы должны еще раз проникнуться уважением к тем программистам, которые избавили нас от необходимости учитывать все эти тонкости. Помните об этом, выбирая в меню пункт "печать" или набирая оператор Бейсика LPRINT! Обмен информацией между МП и устройством ввода следует рассмотреть отдельно, т.к. он может иметь некоторые существенные особенности. Описанная выше идеология передачи данных, конечно, может быть использована и для устройств ввода, - например, для клавиатуры. В этом случае программа, в тот момент, когда ей потребуются входные данные, опросит состояние клавиатуры и примет с нее данные. Однако для сложных современных программных систем такой метод неудобен из-за существенного замедления времени реакции ЭВМ. В самом деле, если некоторая сложная программа занята вычислениями, а вы захотите ее прервать, то придется подождать, пока процессор освободится и займется опросом клавиатуры (собственно говоря, тогда и прерывать-то будет нечего!). Не правда ли все это сильно напоминает очередь в приемной бюрократа-начальника, когда люди вынуждены часами ждать, пока их вызовут для пятиминутного решения вопроса.

Для предотвращения подобных неприятностей во всех ЭВМ на базе МП наряду с программным опросом устройств ввода существует еще один механизм - прерывания от внешних устройств. Такие прерывания настолько широко используются в компьютерах, что имеет смысл рассмотреть их подробнее.

Для понимания сути работы прерываний снова обратимся к аналогии с руководителем. Пусть в его кабинете идет совещание по подведению итогов деятельности предприятия, и в этот момент по телефону поступает очень важная информация, требующая немедленного принятия решения. Как в таком случае обычно развиваются события? Секретарша, не дожидаясь конца совещания, сообщает шефу о звонке. Тот, прервав свое выступление, снимает трубку и выясняет суть дела. Затем он либо тут же принимает решение и сообщает его, либо предлагает пока сделать самое необходимое, а после совещания обещает перезвонить и дать дальнейшие указания. Затем (обратим внимание на эту деталь!) он произносит что-нибудь в духе "Так на чем мы остановились?" и продолжает совещание как ни в чем не бывало. Впрочем, если ситуация экстренная, то совещание может быть прекращено или его ход могут быть внесены определенные коррективы...

Вернемся к компьютеру. Каждое его устройство (клавиатура, мышь, дисковод и др.) способно затребовать внимания процессора, выставляя сигнал требования прерывания. Процессор проверяет наличие этого сигнала после выполнения каждой операции. "Увидев" требование прерывания, МП немедленно начинает его обрабатывать. Прежде всего, он запоминает свое текущее состояние (счетчик команд и регистр состояния ) с тем, чтобы в дальнейшем иметь возможность продолжить выполнение прерванной программы. После этого происходит переход на программу, обрабатывающую данное прерывания. Заметим, что все перечисленные действия реализуется на аппаратном уровне, т.е. фактически являются "врожденными рефлексами" МП.

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

В последнее время необходимость понимания механизма работы прерываний сильно возросла в связи с возникновением идеологии программирования по событиям. Она лежит в основе последних систем типа Vizual Basic или Delphi.

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

Итак, мы рассмотрели наиболее общие принципы работы микропроцессоров вне зависимости от их модели. Теперь остается познакомиться с какими-нибудь конкретными процессорами.

Заключение

Число персональных компьютеров как в мире, так и, в частности, в России стремительно растет; рынок ПК - самый перспективный и доходный среди остальных рынков вычислительной техники. В северной Америке и Западной Европе процент семей, имеющих ПК, приближается к 30. Без сомнения, в наши дни каждый должен изучить и понять компьютер не только теоретически, но, что наиболее важно, и практически.

Анализ новых решений построения структуры компьютера показывает, что процессор, память, устройства ввода - вывода составляют основу любого компьютера. Рассмотрим наиболее распространенную структурную схему, которая лежит в основе наиболее часто встречающихся моделей компьютеров, в частности персональных.

Современный компьютер можно представить в большинстве случаев упрощенной структурной схемой, где выделены центральная и периферийная части. К центральной части относятся процессор и внутренняя память, к периферийной части - устройства ввода-вывода и внешняя память. В основу упрощенной структурной схемы заложены принципы магистральности, модульности, микропрограммируемостью.

Не следует надеяться, что развитие вычислительной техники как-то кардинально изменит наше существование. Компьютер не более (но и не менее) чем один из мощных двигателей прогресса (как энергетика, металлургия, химия, машиностроение), который берет на свои "железные плечи" такую важную функцию, как рутину обработки информации. Эта рутина всегда и везде сопровождает самые высокие полеты человеческой мысли. Именно в этой рутине очень часто тонут дерзкие решения, недоступные компьютеру. Поэтому так важно " свалить" на компьютер рутинные операции, чтобы освободить человека для его истинного предназначения-творчества.

Будущее микропроцессорной техники связано сегодня с двумя новыми направлениями - нанотехнологиями и квантовыми вычислительными системами. Эти пока еще главным образом теоретические исследования касаются использования в качестве компонентов логических схем молекул и даже субатомных частиц: основой для вычислений должны служить не электрические цепи, как сейчас, а положение отдельных атомов или направление вращения электронов. Если "микроскопические" компьютеры будут созданы, то они обойдут современные машины по многим параметрам.

Список используемой литературы

1. Интернет

2. Еремин Е.А. Популярные лекции об устройстве компьютера. - СПб.: БХВ-Петербург, 2003.

3. Ибрагим К.Ф. Устройство и настройка ПК / Пер. с англ. - М.: Бином, 2004..

4. Косарев В.П., Сурков Е.М., Бакова И.В. Технические средства систем управления. - М.: Изд-во "Финансы и статистика", 2006.

5. Леонтьев В.П. Новейшая энциклопедия персонального компьютера 2003. - М.: ОЛМА-ПРЕСС, 2004.

6. Столлингс У. Структурная организация и архитектура компьютерных систем. - М.: Вильямс, 2002.

7. Уинн Л. Рош. Библия по модернизации персонального компьютера. - М.: Тивали-Стиль, 2005.

8. Фигурнов В.Э. IBM PC для пользователя, 6-е издание, переработанное и дополненное. - M.: ИНФРА-М, 1996.

Размещено на Allbest.ru

...

Подобные документы

  • Краткая история развития микропроцессора как важнейшего элемента любого персонального компьютера. Сущность, значение, функциональные возможности процессоров. Особенности микропроцессоров Pentium, Intel i80386 и i80486. Применение и значение сопроцессора.

    курсовая работа [27,5 K], добавлен 09.11.2010

  • Комплексные характеристики возможностей микропроцессора, базовая структура системы. Понятие архитектуры микропроцессора. Классификации микропроцессоров по типу архитектуры. Особенности программного и микропрограммного управления, режимы адресации.

    реферат [100,7 K], добавлен 20.09.2009

  • Логические функции и структура микропроцессоров, их классификация. История создания архитектуры микропроцессоров x86 компании AMD. Описание К10, система обозначений процессоров AMD. Особенности четырёхъядерных процессоров с микроархитектурой К10 и К10.5.

    курсовая работа [28,9 K], добавлен 17.06.2011

  • Сущность компьютера как своеобразного вычислителя. Характеристика микропроцессора – главного элемента компьютера, его электронной схемы, выполняющей все вычисления и обработку информации. История компьютерной техники. Работа звуковой карты, клавиатуры.

    контрольная работа [75,7 K], добавлен 01.03.2011

  • Изучение архитектуры персонального компьютера на примере микропроцессора фирмы Intel. Регистры общего назначения. Оперативная память; форматы данных и команд. Команд пересылки с различными способами адресации операндов. Структура программы на Ассемблере.

    курс лекций [506,4 K], добавлен 03.05.2014

  • Сущность и основные понятия микропроцессора. Классификация и структура микропроцессоров персонального компьютера (ПК). Основные характеристики микропроцессоров ПК. Алгоритм расчета ежемесячных отчислений на амортизацию по основным средствам в MS Excel.

    контрольная работа [1,4 M], добавлен 17.03.2011

  • Основные составляющие компьютерной системы. История развития, особенности применения микропроцессоров. Устройство и работа D-триггера. Принципиальная электрическая схема, директивы, операторы и описание программы для микропроцессоров, виды отладчиков.

    методичка [2,9 M], добавлен 27.11.2011

  • Классификация микропроцессоров по числу больших интегральных схем, по назначению и виду обрабатываемых входных сигналов. Устройства, входящие в состав микропроцессора. Составление электронной таблицы "Ведомость расчета амортизационных отчислений".

    курсовая работа [27,8 K], добавлен 04.03.2011

  • Внутренняя архитектура микропроцессора Intel 486. Формат данных и команд. Регистры общего назначения. Программная модель устройства FPU, регистр флагов. Разработка структуры и микропрограммы микропроцессора, управляющего автомата с жесткой логикой.

    курсовая работа [1,6 M], добавлен 27.05.2013

  • Классификация, структура и функции микропроцессоров для персональных компьютеров, их тип, тактовая частота и быстродействие. Однокристальные, многокристальные, многокристальные секционные микропроцессоры. Основные устройства в составе микропроцессора.

    курсовая работа [1,1 M], добавлен 23.04.2013

  • Основные характеристики микропроцессоров: тактовая частота, кэш память, дополнительные инструкции, разрядность, архитектура, количество ядер. История развития микропроцессоров, главные фирмы-производители. Разработка программы работы с массивом.

    курсовая работа [139,4 K], добавлен 24.06.2011

  • Микропроцессор как важнейший компонент персонального компьютера, особенности их устройства, основные составные и их назначение. Функции, параметры и производительность микропроцессоров, сравнительные характеристики. Поколения и виды процессоров Intel.

    контрольная работа [42,3 K], добавлен 25.11.2010

  • Организация современного микропроцессора. Кэш инструкций в традиционных процессорах. Предсказание адреса и направления переходов. Выборка и декодирование инструкций. Intel Pentium III, Pentium M и Core Duo, AMD Athlon 64/Opteron (K8), IBM PowerPC 97027.

    контрольная работа [235,5 K], добавлен 11.01.2012

  • Микропроцессорный комплект cерии КР580 — набор микросхем. Основные элементы КР580ВМ80А — 8-разрядный микропроцессора, полный аналог микропроцессора Intel i8080. Применение микропроцессоров в игровых автоматах. Версии выпуска микросхем, и их применение.

    реферат [15,1 K], добавлен 18.02.2010

  • Семь поколений процессоров. Технология производства микропроцессоров. Сравнительные характеристики процессоров AMD и Intel на ядре Clarkdale. Квазимеханические решения на основе нанотрубок. Одновременная работа с Firefox и Windows Media Encoder.

    дипломная работа [2,2 M], добавлен 11.06.2012

  • Характеристика сущности микропроцессора - программного устройства обработки данных, выполняемого средствами микроэлектронных технологий в корпусе одной или же нескольких больших интегральных схем. Изучение общей структуры микропроцессоров и их видов.

    контрольная работа [113,5 K], добавлен 05.09.2010

  • Архитектура ЭВМ как общее описание ее структуры, функций и ресурсов. Схема взаимодействия устройств компьютера согласно архитектуре фон Неймана. Базовый комплекс персонального компьютера. Центральные и периферийные устройства, внутренняя архитектура.

    презентация [335,2 K], добавлен 17.05.2010

  • Понятия и принцип работы процессора. Устройство центрального процессора. Типы архитектур микропроцессоров. Однокристальные микроконтроллеры. Секционные микропроцессоры. Процессоры цифровой обработки сигналов. Эволюция развития микропроцессоров Intel.

    реферат [158,8 K], добавлен 25.06.2015

  • Назначение, основные функции процессора, его конвейерная архитектура (pipelining) и технология изготовления. Отличительные особенности архитектуры фон Неймана. Характеристика основных видов процессоров. Структура и функционирование микропроцессоров.

    курсовая работа [142,6 K], добавлен 07.05.2010

  • Анализ развития и производства микропроцессоров. История их появления. Типология основные пользовательские характеристики и принцип их действия. Перспективы развития современных микропроцессорных технологий и особенности мирового рынка полупроводников.

    курсовая работа [337,5 K], добавлен 17.03.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.