No Image

Устройство и принцип работы компьютера

СОДЕРЖАНИЕ
10 просмотров
10 марта 2020

Сегодня компьютерные устройства настолько прочно вошли в нашу жизнь, что представить себе наше существование без них кажется невозможным. Однако большинство пользователей практически никогда не задумывается о том, как же работают все эти системы. Далее будет рассмотрено, как устроен компьютер (для «чайников», так сказать). Конечно, описать все подробно и осветить все технические стороны не получится (да это большинству и не нужно). Поэтому ограничимся основными аспектами, говоря простым «человеческим» языком.

Компьютер для «чайников»: основные компоненты

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

Под аппаратной частью понимают все подключенные устройства, которые, если можно так выразиться, можно потрогать руками (процессоры, планки памяти, жесткие диски, мониторы, видео-, аудио- и звуковые адаптеры, клавиатуру, мышь, периферийные устройства вроде принтеров, сканеров и т. д.). В народе все эти компоненты иногда называют «компьютерным железом».

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

Отсюда нетрудно сделать вывод о том, что главный принцип работы компьютера любого типа состоит во взаимодействии «железных» и программных компонентов. Но это только поверхностное представление. Эти процессы будут описаны несколько позже.

Компьютерное «железо»

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

С другой стороны, если копнуть глубже, ни один «железный» компонент сам по себе ничего не стоит, ведь его для использования надо куда-то подключить. И тут первостепенное значение уделяется, так называемым, материнским платам (в народе – «материнкам») – специальным устройствам, на которые монтируются все остальные компоненты, микросхемы и т. д. В этом смысле основной принцип работы компьютера (корректного функционирования без сбоев) состоит в том, чтобы правильно подключить все аппаратные компоненты через соответствующие контроллеры к специальным слотам или разъемам на самой плате. Тут есть свои правила, например, по корректному использованию шин PCI, по подключению жестких дисков и съемных дисководов с использованием принципа Master/Slave и т. д.

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

Виды программного обеспечения

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

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

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

Урок информатики. Компьютер: включение и проверка устройств

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

Что получается? Принцип работы компьютера состоит в том, что при подаче питания на специальную микросхему, называемую устройством первичного ввода/вывода, производится тестирование всех устройств. В первую очередь идет обнаружение неполадок в работе видеоадаптера, ведь если он не в порядке, система просто не сможет вывести на экран визуальную информацию. Только потом определяется тип процессора и его характеристики, параметры оперативной памяти, жесткие диски и другие устройства. По сути, в BIOS изначально хранится информация по всему «железу».

Варианты загрузки

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

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

Старт операционной системы

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

Кроме того, основная загрузочная запись может иметь и более гибкие настройки, предоставляя право выбора загружаемой системы пользователю. Если же старт производится со съемного носителя, исполняемый загрузочный код считывается с него, но загрузка в любом варианте производится только в том случае, если BIOS определит исполняемый код как действительный. В противном случае на экране появится уведомление о невозможности старта, вроде того, что загрузочный раздел не найден. При этом иногда используется таблица разделов, которая содержит информацию обо всех логических дисках, на которые может быть поделен винчестер. Кроме всего прочего, доступ к информации напрямую зависит от структуры организации файлов, которая носит название файловой системы (FAT, NTFS и др.).

Заметьте, это самая примитивная интерпретация процесса загрузки, поскольку на самом деле все гораздо сложнее.

Память компьютера: запуск программ

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

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

Они обеспечивают связь между операционной системой, самой программой и пользователем. Понятно, что чем больший объем имеет оперативная память, тем больше компонентов в нее можно загрузить и тем быстрее будет происходить их обработка. При поступлении команд взаимодействия в дело вступает центральный процессор, который и производит все вычислительные действия в системе. По завершении работы приложения или при выключении компьютера все компоненты из «оперативки» выгружаются. Но так бывает не всегда.

Изменение параметров системы

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

ОБЩИЕ ПРИНЦИПЫ ОРГАНИЗАЦИИ И РАБОТЫ КОМПЬЮТЕРОВ

Что такое компьютер

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

Существует два основных класса компьютеров:

цифровые компьютеры,обрабатывающие данные в виде числовых двоичных кодов;

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

В настоящее время подавляющее большинство компьютеров является цифровыми.

Принцип действия компьютеров состоит в выполнении программ (Software) – заранее заданных, четко определенных последовательностей арифметических, логических и других операций.

Любая компьютерная программа представляет собой последо­вательность отдельных команд.

Команда– это описание операции, которую должен выполнить компьютер. Как правило, у команды есть свой код (условное обозначение), исходные данные (операнды) и результат.

Читайте также:  Швейная машинка brother innov is 400

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

Совокупность команд, выполняемых данным компьютером, называется системой командэтого компьютера.

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

В любом компьютере можно выделить следующие главные устройства:

память (запоминающее устройство – ЗУ), состоящую из перенумерованных ячеек;

процессор,включающий устройство управления(УУ)и арифметико-логическое устройство (АЛУ);

Эти устройства соединены каналами связи,по которым передается информация. Основные устройства компьютера и связи между ними представлены на схеме (рис. 1). Тонкими стрелками показаны пути и направления движения информации, а толстыми стрелками – пути и направления передачи управляющих сигналов.

Функции памяти:

– прием информации из других устройств;

– выдача информации по запросу в другие устройства машины.

Рис. 1. Общая схема компьютера

Функции процессора:

– обработка данных по заданной программе путем выполнения ариф­метических и логических операций;

– программное управление работой устройств компьютера.

Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством(АЛУ), а другая его часть, выполняющая функции управления устройствами, – устройством управления (УУ).

Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены.

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

Существует несколько типов регистров, отличающихся видом выполняемых операций. Некоторые регистры имеют свои названия, например:

сумматор – регистр АЛУ, выполняющий суммирование двоичных чисел;

счетчик команд – регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;

регистр команд – регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные – для хранения кодов адресов операндов.

Принципы работы компьютера

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

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

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

Таким образом, процессор исполняет программу автоматически, без вмешательства человека.

2.Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти, поэтому компьютер не различает, что хранится в данной ячейке памяти – число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

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

Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции – перевода текста программы с языка программирования высокого уровня на язык конкретной машины.

3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка.

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

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

Команда и ее исполнение

Команда – это описание элементарной операции, которую должен выполнить компьютер.

В общем случае команда содержит следующую информацию:

код выполняемой операции;

– указания по определению операндов (или их адресов);

– указания по размещению получаемого результата.

В зависимости от количества операндов команды бывают:

Команды хранятся в ячейках памяти в двоичном коде.

В современных компьютерах длина команд переменная(обычно от двух до четырех байт), а способы указания адресов переменных весьма разнообразны.

В адресной части команды может быть указан:

– сам операнд (число или символ);

– адрес операнда (номер байта, с которого начинается операнд);

– адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда) и т. д.

Рассмотрим несколько возможных вариантов команды сложения (англ. add – сложение), при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями.

1. Одноадресная командаadd x (содержимое ячейки х сложить с содержимым сумматора, а результат оставить в сумматоре):

2. Двухадресная команда add х, у (содержимое ячеек хи усложить, а результат поместить в ячейку у):

3. Трехадресная команда add x, у, z (содержимое ячейки хсложить с содержимым ячейки y, сумму поместить в ячейку z):

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

1. из ячейки памяти, адрес которой хранится в счетчике команд, выби­рается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;

2. выбранная команда передается в устройство управления на регистр команд;

3. устройство управления расшифровывает адресное поле команды;

4. по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;

5. УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;

6. результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;

7. все предыдущие этапы повторяются до достижения команды «стоп».

Дата добавления: 2015-10-19 ; просмотров: 7973 | Нарушение авторских прав

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

1. Компьютер должен состоять из следующих основных устройств:

• арифметико-логического устройства (АЛУ), выполняющего арифметические и логические операции над данными;

• центрального устройства управления (ЦУУ), которое организует процесс автоматического выполнения программ;

• оперативного запоминающего устройства (ОЗУ) для хранения программ и данных;

• внешнего запоминающего устройства (ВЗУ);

• внешних устройств ввода–вывода информации (УВВ).

2. Компьютер должен быть не механическим, а электронным.

3. Компьютер должен оперировать с двоичными числами при параллельной организации вычислений.

4. Алгоритм представляется в форме последовательности управляющих слов, которые определяют смысл операции. Эти управляющие слова названы командами. Совокупность команд, представляющая алгоритм решения задачи, называется программой.

5. Программы и данные хранятся в одной и той же памяти. Команды от данных отличаются месторасположением в памяти, но не способом кодирования.

Такая организация получила название классической архитектуры фон Неймана и приведена на рис. 10.

Читайте также:  Программа для подсчета шагов и калорий

Кратко рассмотрим некоторые важные принципы работы компьютера.

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

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

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

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

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

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

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

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

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

Каждый номер прерывания имеет указатель адреса начала его программы-обработчика. Эти указатели называются векторами прерываний. Они состоят из 4-х байт каждый и хранятся в начале оперативной памяти. В байтах вектора прерывания и указывается адрес первой команды программы-обработчика этого прерывания.

Следует подчеркнуть, что большинство векторов прерываний содержат именно адреса программ-обработчиков. Вместе с тем некоторые адреса указывают не на программы-обработчики, а на специальные таблицы с информацией. Так, вектор 1Fh указывает на таблицу – знакогенератор, содержащую битовые комбинации (шаблоны символов), используемые ROM BIOS при выводе на экран монитора символов текста, а прерывания 41h и 46h указывают на таблицу с параметрами жесткого диска (винчестера). Такие вектора прерываний используются для удобства доступа к нужной информации, а не для выполнения программы-обработчика.

Прерывания программируются на любом языке программирования высокого уровня.

Управление прерываниями осуществляет специальная микросхема– контроллер прерываний.

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

Читайте также:  Asus pegasus 5000 характеристики

Источники аппаратных прерываний – аппаратные средства. Например, запрос на прерывание выставляется при падении напряжения источника питания, нажатии клавиши на клавиатуре, приходе очередного импульса от счетчика времени, возникновении специального сигнала от накопителей на гибких и жестких магнитных дисках и др. Каждому устройству на системной шине выделена специальная отдельная линия запроса прерывания (не путать с номером прерывания). Например, с номером 7-прерывание от параллельного порта LPT1, с номером 1-прерывание от контроллера клавиатуры, с номером 3-прерывание от последовательных портов COM2 и COM4 и т.д. Всего, например, на системной шине ISA имеется 15 линий. Когда устройство хочет “пообщаться” с процессором, оно по своей линии запроса прерывания выдает сигнал контроллеру прерываний, а он формирует команду INT n и посылает ее процессору.

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

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

Прерывания с номерами 0 31 обслуживаются программами базовой системы ввода-вывода BIOS. Они называются прерываниями нижнего уровня. Эти прерывания управляют непосредственно аппаратными средствами компьютера и недоступны пользователю. Прерывания с номерами свыше 32 относятся к более высокому уровню, и их обслуживание возлагается на операционную систему.

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

В Windows 9x (NT) программные прерывания как таковые отсутствуют, хотя сам принцип работы процессора остается неизменным. Процессор, в силу мультизадачности этих систем, постоянно работает в режиме прерываний (одновременно работает несколько программ, но процессор-то только один!). Такой режим работы обеспечивает метод диспетчеризации, предоставляющий операционной системе возможность захвата CPU в любой момент времени, независимо от состояния работающих в данный момент приложений. Это позволяет Windows время работы процессора предоставлять приложениям поочередно, с перерывами, которые из-за большого быстродействия процессора пользователь не замечает.

Приложения же получают любой сервис от Windows при помощи интерфейса прикладного программирования API Win32, который содержит более 2000 различных функций и макросов. Доступ ко всем функциям API Win 32 осуществляется по имени, а не по номерам, как к прерываниям. Например, для удаления файла вместо функций 41h или 7141h прерывания INT 21h MS-DOS, используется функция API WIN32 с именем DeleteFile(). Для поддержания всеми приложениями длинных имен файлов, введенных в Windows, фирма Microsoft расширила набор функций прерывания MS-DOS INT 21h, которые полностью эквивалентны функциям API WIN32. Для того чтобы обратиться к любой функции, программист в тексте попросту использует ее имя. Так, для вызова функции MessageBox() в выполняемый файл при компоновке программы будет включена ссылка на точку входа номер 1 модуля User. Вызов приложением функции LineTo() будет заменен ссылкой на точку входа номер 19 модуля GDI (оба модуля являются ядром Windows). Во время загрузки программы в память Windows заменит эти ссылки адресами, по которым находятся указанные программы-функции. Любой модуль, предоставляющий подобные ссылки при компоновке, называется динамически компонуемой библиотекой (DLL). Каждая DLL декларирует набор точек входа, которые соответствуют внешним ссылкам. Бóльшая часть Windows представляет собой совокупность DLL, которые используются для взаимодействия между различными компонентами.

Приложения MS-DOS, работающие под управлением Windows, по-прежнему используют прерывания, в частности 21h, включающее всевозможные функции, обеспечивающие услуги MS-DOS. Специальный модуль Windows преобразует эти прерывания в функции интерфейса API WIN32, которые фактически и выполняются.

Работа современных компьютеров без системы прерываний немыслима.

Защита памяти. Память адресуется сегментами и смещениями внутри сегмента. Возникновение сегментов связано с внутренней структурой процессоров фирмы Intel, в которых под адресацию памяти выделяются два регистра: в одном хранится адрес сегмента, а в другом – смещение внутри сегмента от его начала, например, 0040:0017. Сегментом является участок памяти. При 32-х разрядных регистрах процессора сегмент составляет около 4 Гбайт. Встроенный менеджер памяти за счет использования виртуальной памяти позволяет работать программам так, как будто имеется до 16536 сегментов доступных каждой задаче. В защищенном режиме работы процессора (основной режим работы современных процессоров) сегментный адрес является селектором (индексом-указателем) на дескриптор истинного адреса сег-

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

Таблицы дескрипторов хранятся в ОЗУ, а информация об их местонахождении хранится в регистрах CPU специ-

Рис. 11 ального назначения. Каждый генерируемый CPU адрес включает селектор, который указывает, какую таблицу дескрипторов следует использовать и порядковый номер дескриптора в этой таблице. Позиции таблицы имеют длину в 8 байт. В каждой позиции хранится дескриптор – истинный адрес сегмента и его описание: пустой сегмент, хранит программу, хранит данные, используется только для чтения, уровень доступа к нему или привилегию.

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

В современных персональных компьютерах центральное устройство управления, АЛУ и ПЗУ процессора объединены в одной микросхеме, которая называется центральный микропроцессор (CPU). Для краткости в дальнейшем будем называть его просто процессор. Ведущие мировые фирмы по производству микропроцессоров это, прежде всего, INTEL (INTegrated Elec-tronics), AMD (Advanced Micro Devices), CYRIX, Chips and Technologies и др.

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

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

Лекция 15

| следующая лекция ==>
Классификация компьютеров | Архитектура, конфигурация и организация ЭВМ

Дата добавления: 2018-11-25 ; просмотров: 1662 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Комментировать
10 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector