
Аппаратные средства ibm pc
1. Архитектура эвм типа ibm pc
Задача электронной вычислительной машины (ЭВМ) - выполнение программы пользователя. Программа - определенная последовательность действий (инструкций, команд, операций). Такая архитектура построения ЭВМ, а именно - по принципу выполняемой программы, очень привлекательна, т.к. обладает большой универсальностью. Любая задача по математическим расчетам, по написанию текста, рисованию картины, сочинению музыки, управлению оборудованием: роботом, гирляндой новогодней елки, стиральной машиной, станком с программным управлением, автопилотом воздушного лайнера – все может выполнить такая ЭВМ. Нужно лишь всю последовательность выполняемых ЭВМ операций указать в исполняемой программе. Программы размещаются в памяти ЭВМ. По своим алгоритмам эти программы могут быть простыми или сложными, по количеству инструкций они могут быть короткими или длинными, время их выполнения также может быть различным. Математические задачи решаются в машинном времени, которое определяется быстродействием ЭВМ. Задачи управления оборудованием должны решаться в реальном времени. В процессе выполнения программы возникают результаты: промежуточные, окончательные, хранения которых, очевидно, также должно быть предусмотрено место в памяти ЭВМ.
Для выполнения программы должно быть устройство, способное выполнить любую инструкцию, представленную в программе. Такая функция в ЭВМ возложена на сложное электронное устройство, называемое центральным процессором (в дальнейшем просто процессор). Модель ЭВМ, содержащая программу в памяти и исполнителя в виде процессора, предложена фон-Нейманом и носит его имя.
Среди многих устройств и узлов, входящих в состав компьютера, процессор и память являются принципиально необходимыми для функционирования ЭВМ. В оперативной памяти хранится программа пользователя, процессор выполняет заданные в программе инструкции. Программа пользователя с жесткого или гибкого магнитного диска, где она хранится, переносится (загружается) операционной системой в память ЭВМ для исполнения. Операционная система ЭВМ, загрузив программу, сообщает процессору начальный адрес загруженной программы и инициирует процесс ее выполнения. Процессор считывает из памяти первую команду программы, находит в памяти или в своих регистрах данные, необходимые для ее выполнения, возвращает в память или, возможно, оставляет в своих регистрах результат своей работы. Тандем из процессора и памяти показан на рис.1.
Рис. 1. Взаимодействие оперативной памяти и процессора.
Выполнив первую команду, процессор переходит к следующей, и так далее до конца программы. Завершив программу, процессор не будет знать, что ему дальше делать, поэтому любая пользовательская программа должна завершаться командами, передающими управление операционной системе компьютера.
Все гениальное просто. Рассмотренная структура ЭВМ напоминает, что мы ее использовали уже давно и много раз в жизненной практике. Помните, как мама давала в записке программу, состоящую из набора инструкций:
1.Сходи в магазин за хлебом.
2.Разогрей себе обед и покушай.
3. Не опоздай в школу на уроки.
Эту программу с помощью «процессора» на наших плечах мы старались выполнить в заданной последовательности. Отличие электронного процессора от «нашего» в том, что процессор ЭВМ всегда точно выполняет все инструкции и ошибки происходят только из-за ошибок в программе. Чтобы этого не случилось, требуется определенное искусство в программировании, освоение технологии сопровождения и отладки программы.
Рассмотрим более подробно упомянутые электронные части ЭВМ.
Память
Оперативная память компьютера представляет собой электронное устройство, состоящее из большого числа двоичных запоминающих элементов, а также схем управления ими. Запоминающие элементы названы двоичными, т.к. они способны хранить лишь два состояния. В качестве элемента памяти, способным хранить свое состояние, является конденсатор. Действительно, если дать ему электрический заряд q (зарядить), конденсатор способен его хранить достаточно длительное время и выдавать напряжение, равное U=q/C, где С- емкость конденсатора. Ну, а разряженный конденсатор хранит это состояние сколь угодно долго. Если заряд конденсатора происходит от напряжения 5 вольт, это напряжение на конденсаторе сохраняется и при снятии напряжения. Конденсатор «помнит» о выполненном действии. Электронщик отмечает данное состояние памяти в виде наблюдения напряжения высокого уровня на осциллографе. Программист отмечает состояние элемента памяти в виде записи «1» (конденсатор заряжен) или записи «0», если конденсатор разряжен. Элементарный элемент памяти, отмечаемый нулем или единицей принято называть BIT (бит) от английского слова BInary digiT (двоичная цифра). Слово бит является в теории информации также единицей измерения информации. Сообщение о двух равновероятных состояниях, имеет минимальное количество информации, равное 1бит.
Давайте выполним эксперимент, заключающийся в том, что будем записывать в 8 запоминающих элементов результаты выпадения орла или решки при бросании монеты. Для этого запоминающие элементы (конденсаторы) оторазим в виде расположенных квадратиков, пронумерованных справа налево от 0 до 7(рис.2.):
7 6 5 4
3 2 1 0
Рис.2. Структура памяти размером в 1 байт
Выпадение орла (отмечено единицей) произошло в бросках 1, 2, 4, 7, а выпадение решки соответственно в бросках 0, 3, 5, 6. Каждый бросок (событие) давал одно из двух возможных вариантов (орел или решка, 1 или 0) и имел количество информации в 1 бит. Представление памяти в виде пронумерованных элементарных двоичных элементов является важным для дальнейших представлений данных в ЭВМ. Пронумерованные элементы памяти носят также название разряды. На рис. 2 представлена ячейка памяти размером в 8 разрядов или 8 бит. Нетрудно отметить, что число возможных исходов нашего опыта с бросанием монетки будет иметь любой результат в пределах 00000000, когда все восемь бросаний выпали решкой, до значения 11111111, когда все восемь бросаний завершились выпадением орла. Возможное число ситуаций, которое можно отразить подобным образом, т.е. с помощью 8 разрядов, равно 256. Ячейка памяти с размером 8 бит носит название байт. Количество информации размером в 8 бит также равно одному байту.
Именно из набора таких ячеек организована память в ЭВМ. Каждая ячейка имеет свой порядковый номер, адрес, по которому можно обратиться именно к нужной ячейке, например, прочитать ее содержимое или записать что - либо в нее, установив единичные или нулевые значения в разрядах. Итак, минимальный объем информации, к которому имеется доступ в памяти, составляет один байт (8 двоичных разрядов, или 8 бит). Все байты в памяти нумеруются, начиная с нуля. Нужные байты отыскиваются в памяти по их номерам, выполняющим функции адресов. Некоторые данные, например, коды символов требуют для своего хранения одного байта; для других данных этого места не хватает, и под них в памяти выделяется 2, 4, 8 или еще большее число байт. Обычно пары байт называют словами, а четверки - двойными словами (рис.3), хотя иногда термином "слово" обозначают любую порцию машинной информации, размещенной в определенном количестве байтов.
Рис.3. Байт, слово и двойное слово.
При обсуждении содержимого многобайтового данного приходится ссылаться на составляющие его байты; эти байты условно нумеруются от нуля и располагаются (при их изображении на бумаге) в порядке возрастания номера справа налево, так что слева оказываются байты с большими номерами, а справа - байты с меньшими номерами. Крайний слева байт принято называть старшим, а крайний справа - младшим. Такой порядок расположения байтов связан с привычной для нас формой записи чисел: в многоразрядном числе слева указываются старшие разряды, а справа - младшие. Следующее число, если его написать за предыдущим, опять начнется со старшего разряда и закончится младшим. Однако в памяти компьютера данные располагаются в более естественном порядке непрерывного возрастания номеров байт и, таким образом, каждое слово или двойное слово в памяти начинается с его младшего байта и заканчивается старшим байтом (рис.4).
Рис.4. Нумерация байт в многобайтовых данных.
Сколько же ячеек памяти в ЭВМ? Их число неуклонно растет. 1024 байта составляет 1Кбаит. Иногда это количество ячеек называют как «Килобайт». Это не совсем верно, т.к. единица К(ило) есть 103, килограмм, километр, киловольт. В вычислительной технике в связи с выражение данных в виде двоичных единиц удобно пользоваться значениями, кратными 2n . Величина К=210 =1024.
Величина М = 220=210 ∙ 210 =1024· 1024 = называют Мега
Величину 1024 М=К3= 1024 ∙1024 ·1024 = называют Гига.
В современных ЭВМ размер адресуемой памяти исчисляется в гигабайтах. Поскольку такие большие адреса ячеек памяти требуют большого числа двоичных разрядов для их представления придумали определенные способы адресации. Память для облегчения адресации разделяют на отдельные сегменты (области), внутри которых производится адресация в пределах 216 = 64К адресов. Возникает такая двухступенчатая адресация: адрес самого сегмента и адрес ячейки внутри сегмента.
Такой способ адресации похож на адресацию в толстой книге заданного символа, для чего для адресации страниц выделен 16-разрядный регистр страниц на 216=26 ∙210=64·1024 = 64К страниц, и регистр для адресации символа на странице, который может адресовать тоже 64К символов (байтов). Итого объем адресуемых символов составит 216 ∙216 =2 32 =64К ·64К=4096 К2 = 4096М байб. Для физической реализации такого адресного пространства потребовалось бы 32 адресных линий. Для машин с 20 разрядной шиной адреса использеутся несколько иной способ сегментной адресации.
Суть сегментной адресации заключается в следующем. Обращение к памяти осуществляется исключительно с помощью сегментов - логических образований, накладываемых на те или иные участки физической памяти. Исполнительный адрес любой ячейки памяти вычисляется процессором путем сложения начального адреса сегмента, в котором располагается эта ячейка, со смещением к ней (в байтах) от начала сегмента (рис.5). Это смещение иногда называют относительным адресом.
Образование физического адреса из сегментного адреса и смещения.
.
Рис.5 Память IBM.
Для наших задач достаточно адресного пространства в размере одного мегабайта памяти. Рассмотренная нами тип памяти на конденсаторах, выполненных в виде тонкопленочной технологии в интегральных микросхемах с доступом к ней по записи и чтению, называется динамической и нуждается в периодическом освежении (подпитки конденсаторов). Процесс восстановления напряжений вследствие утечки зарядов с конденсаторов называется регенерацией памяти и выполняется примерно раз в 1-2 мс. При выключении ЭВМ регенерации не происходит и все данные в памяти уничтожаются (стираются).
Кроме динамической памяти (DRAM) c произвольным доступом в ЭВМ есть статическая память, в которой элеменатным двоичным элементом памяти является триггер, выполненный на логических элементах с положительной обратной связью. Такая память не требует регенерации и используется для хранения данных от аккумулятора в составе ЭВМ.
Следует отметить в ЭВМ постоянную память, которая может только считываться, типа RОМ – Read Only Memory (только для чтения). Эта память необходима для системных программ, постоянно готовых к исполнению процессором после включения ЭВМ, например, программы для загрузки операционной системы с винчестера в оперативную память.