Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Универсальные регистры

Читайте также:
  1. quot;УНИВЕРСАЛЬНЫЕ" УПРАЖНЕНИЯ
  2. Есть ли универсальные выражения эмоций на лице?
  3. Зубофрезерные станки подразделяются ив универсальные и упрощенные.
  4. Регистры
  5. Универсальные ценности
  6. УЧЕТНЫЕ РЕГИСТРЫ, СПОСОБЫ ЗАПИСЕЙ И ИСПРАВЛЕНИЕ ОШИБОК В НИХ

Наиболее часто программист оперирует регистрами общего назначения (РОН). К ним относятся регистры AX, BX, CX, DX, а в процессорах, начиная с Intel 80386 и выше – EAX, EBX, ECX, EDX. Регистры ЕхХ – 32-разрядные, хХ – 16-разрядные. Каждый из последних в свою очередь состоит из двух 8-битовых регистров xL и xH. Нижеприведенный рисунок иллюстрирует общую структуру РОН на примере регистра АХ.

 

 

AH AL

AX

 
 


EAX

Общая структура РОН

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

- регистры АН, ВН, СН, DH - старшие байты (Hight);

- регистры AL, BL, CL, DL - младшие байты (Low) соответствующих 2-ух байтовых регистров.

Регистры AL, АН образуют соответственно младший и старший байты условного регистра АХ.

Всеми этими регистрами можно пользоваться при программировании, но ряд команд использует их неявным способом. Например:

регистр АХ, аккумулятор, используется при умножении и делении слов, в операциях ввода-вывода и в некоторых операциях над строками;

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

регистр АН используется при умножении и делении байтов;

регистр ВХ, базовый регистр, часто используется при адресации данных в памяти; регистр СХ, счетчик, используется как счетчик числа повторений цикла и в качестве номера позиции элемента данных при операциях над строками. Регистр CL используется как счетчик при операциях сдвига и циклического сдвига на несколько битов;

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

 

Регистры смещений или иначе, указателей и индексов

 

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

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

Регистр SP хранит значение смещения, которое вместе с регистром SS указывает на текущее слово в стеке.

Регистр BP обрабатывает ссылочные параметры (данные и адреса), которые передаются между программой и подпрограммой (процедурой) через стек. Также, как и другие регистры указателей, ВР содержит смещение. Процессор сочетает это смещение с адресом в SS.

Регистры индексов SI и DI используются для индексированной адресации, а также в строковых операциях.

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

Для доступа к сегменту данных процессор извлекает номер блока из регистра DS, а смещение из регистра ВХ или индексного регистра - SI или DI.

Следует отметить, что регистр ВХ – единственный из РОН – можно использовать в качестве указателя (индекса) для расширения адресации. С это целью он может использоваться в сочетании с регистрами SI и DI.

 

Регистр флагов

Регистр флагов представляет собой 16-битовый регистр, где фиксируется информация о текущем состоянии процессора.

15 0

                OF DF IF TF SF ZF     AF     PF     CF

Рисунок 4.5. Регистр флагов

Флаг OF называется флагом переполнения и его значение, равное 1, свидетельствует о наличии ошибки в операциях над числами со знаком.

Флаг DF называется флагом направления, используется в командах работы со строками. При DF=1 регистр индекса, используемый в командах работы со строками увеличивается на 1 при каждом следующем выполнении команды, при DF=0 - регистр индекса на 1 уменьшается.

Флаг IF называется флагом прерывания. Обычно он устанавливается в 1 и такое его значение позволяет исполняемой программе пользователя реагировать на прерывания. Однако, когда вызывается программа обработки прерывания, флаг IF устанавливается в 0, чтобы никакие другие прерывания не могли помешать текущей обработке прерывания.

Флаг TF называется флагом трассировки, при его значении, равном 1, разрешается выполнение программы по шагам.

Флаг SF называется флагом знака и в соответствии со своим названием устанавливается в 1, если в результате выполнения операции над числами со знаком, получается отрицательное число.

Флаг ZF называется флагом нуля. Этот флаг устанавливается, если результатом операции является нулевое значение (если результат выполненной перед проверкой флага операции равен 0, флаг устанавливается в 1).

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

Флаг PF называется флагом четности, он устанавливается в 1, если результат операции имеет четное количество 1 в двоичном представлении результата.

Флаг CF называется флагом переноса и в него заносится перенос (или заем) из знакового (старшего) разряда числа (это заем или перенос за пределы разрядной сетки представления числа).

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

Еще раз обращаю внимание на формирование физического адреса в памяти компьютера.

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

Физический Адрес = смещение (IP) +1б*(регистр сегмента -CS).

В действительности длинная операция умножения при вычислении физического адреса не выполняется по той причине, что микропроцессор использует содержимое 16-битового регистра так, как если бы оно имело 4 дополнительных нулевых бита 0010->0100(*2)->1000(*4)->10000(*8)->100000(*16).

Например, пусть смещение будет 10Н (в шестнадцатеричной системе счисления), а адрес начала размещения сегмента (содержимое регистра сегмента) равно 2000Н. Тогда,

0000 0000 0001 0000 (смещение)

+0010 0000 0000 0000 0000 (номер блока)

___________________________________________

0010 0000 0000 0001 0000 (физический адрес)

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

 


Урок №11 Организация работы памяти

 

Уровни хранения информации

НМД обеспечивают долговременное хранение данных, что позволяет сохранять информацию между сеансами работы на ПК или в течение многих лет. Информация записывается путём намагничивания поверхности дисков, поэтому дисковые накопители являются энергонезависимыми (nonvolative) устройствами хранения информации. Это означает, что для сохранения содержимого необязательно постоянно подавать питание дисковому накопителю. ОЗУ (RAM – random access memory) – память произвольного доступа энергозависимая (volative). Это означает, что при отключении питания её содержимое утрачивается. Пользователи часто разделяют технологии устройств хранения информации с учётом быстродействия и ёмкости. Поэтому, так как дисковые накопители являются, механическими устройствами, они работают намного медленнее по сравнению с электронной памятью.

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


Урок№12 Классификацию памяти

 

Организация ОЗУ ПК

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

Следовательно, область хранения каждого байта можно считать ячейкой с уникальным адресом. Чтобы извлечь информацию из определённой ячейки или сохранить данные в память ЦП, должен указываться адрес ячейки. Количество разрядов в шине адреса определяет количество адресов памяти. Например, 32-разрядная шина адреса определяет память размером 232 байтов или ~4ГБ. Поэтому 64-разрядная шина адреса позволяет адресовать 264 или ~18,5∙1018 ячеек памяти.

Динамическое ОЗУ DRAM

Во многих компьютерах используется микросхема DRAM (Dynamic random access memory), благодаря их быстродействию, большой ёмкости и низкой стоимости. Для хранения одного бита информации в DRAM используется транзистор и конденсатор. Текущее значение бита определяется зарядом конденсатора. Проблема в том, что они сохраняют заряд в течение определённого времени. После чего, заряд требуется обновить. Чтобы обновить заряд конденсатора, контроллер памяти читает его значение, что приводит к разряду конденсатора (потеря значения). Затем контроллер должен восстановить значение заряда конденсатора. Обычно контроллер обновляет значение битов с частотой 66 MHz. Когда процессор запрашивает значение ячейки памяти DRAM, контроллер должен разрядить конденсатор, чтобы определить хранимое значение. Если оно составляет 1 (конденсатор был заряжен), контроллер должен восстановить его. Поскольку в результате считывания конденсатор разряжается, этот процесс называется разрушающим чтением.

Из-за необходимости постоянно обновлять содержимое микросхемы DRAM, они функционируют медленно, по сравнению с устройствами памяти, построенными на базе других технологий. Но так как им для хранения 1-го бита достаточны лишь 1 транзистор и один конденсатор, эти микросхемы обладают высокой плотностью записи. Это значит, что они способны хранить большие объёмы данных.

Статическое ОЗУ SRAM

В большинстве систем основной объём памяти реализован на микросхемах DRAM. Однако для повышения быстродействия в ПК используется высокоскоростная кэш-память. Обычно она построена на технологии SRAM (Static random access memory). В отличие от DRAM технология SRAM не требует постоянного обновления содержимого. Кроме того, контроллер памяти может считывать содержимое памяти без его разрушения. Поэтому время доступа к МС SRAM составляет 10нс и меньше. В МС SRAM для хранения 1-го бита информации не используются конденсатор, заряд которого необходимо обновлять, но используется несколько транзисторов (5-6), поэтому МС SRAM обладает меньшей ёмкостью, чем МС DRAM такого же размера. Высокое быстродействие понижает ёмкость и повышает цену. Высокая цена делает МС SRAM более пригодной для реализации кэш-памяти, а не ОЗУ.

Компоновка модулей RAM

Обычно модуль RAM содержит несколько МС памяти. Существует 2 категории МС памяти: SIMM и DIMM. SIMM (Single in Line Memory Module) – память с односторонним расположением выводов, DIMM (Dual in Line Memory Module) – модуль с двухрядным расположением выводов. SIMM – 72 контактный разъем может одновременно передавать 32 разряда данных, DIMM – 168 контактов – 64 разряда.

Банки памяти

Модули памяти вставляются в гнезда системной платы, которая иногда называется банками памяти. Точнее говоря, банк соответствует группе гнезд, которые обеспечивают передачу данных в количестве, соответствующем разрядности системной шины. Предположим, системная шина 64 разряда. Если используется 32 разряда модулей для обеспечения необходимого количества разрядов нужно объединить 2 модуля. При установке памяти обычно следует формирование банка. В рассмотренном примере нельзя использовать один модуль памяти для 64 разрядной шины, т.к. он предоставляет только 32 разряда данных. Необходимо установить 2 модуля. Конструкция системной платы может накладывать и другие ограничения на установленные модули памяти. Часто требуется, чтобы модули одного банка имели один размер, т.е. нельзя вставить в первое гнездо модуль, использующий 32 МБ, а во второй 128 МБ.

Для некоторых системных плат необходимо, чтобы модули одного банка имели одинаковое быстродействие. Часто допускается установка модулей различной емкости в различные банки. Например, вставить 2 модуля емкостью по 32 МБ в первое гнездо, а затем поместить в 2 следующие гнезда модули по 16 МБ.


Урок №13 Общие принципы управления памятью в ООС

Простое непрерывное распределение — это самая простая схема, согласно которой вся память условно может быть разделена на три области:

область, занимаемая операционной системой;

область, в которой размещается исполняемая задача;

незанятая ничем (свободная) область памяти.

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

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

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

Если есть необходимость создать программу, логическое адресное пространство которой должно быть больше, чем свободная область памяти, или даже больше, чем весь возможный объем оперативной памяти, то используется распределение с перекрытием — так называемые оверлейные структуры (от overlay — перекрытие, расположение поверх чего-то). Этот метод распределения предполагает, что вся программа может быть разбита на части — сегменты. Каждая оверлейная программа имеет одну главную (main) часть и несколько сегментов (segments), причем в памяти машины одновременно могут находиться только ее главная часть и один или несколько не перекрывающихся сегментов.

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

Первоначально программисты сами должны были включать в тексты своих программ соответствующие обращения к операционной системе (их называют системными вызовами) и тщательно планировать, какие сегменты могут находиться в оперативной памяти одновременно, чтобы их адресные пространства не пересекались. Однако с некоторых пор такого рода обращения к операционной системе системы программирования стали подставлять в код программы сами, автоматически, если в том возникает необходимость. Так, в известной и популярной в недалеком прошлом системе программирования Turbo Pascal программист просто указывал, что данный модуль является оверлейным. И при обращении к нему из основной программы модуль загружался в память и получал управление. Все адреса определялись системой программирования автоматически, обращения к DOS для загрузки оверлеев тоже генерировались системой Turbo Pascal.

Распределение оперативной памяти в MS DOS

Как известно, MS DOS1 — это однопрограммная операционная система для персонального компьютера типа IBM PC. В ней, конечно, можно организовать запуск резидентных, или TSR-задач2, в результате которого в памяти будет находиться не одна программа, но в целом система MS DOS предназначена для выполнения только одного вычислительного процесса. Поэтому распределение памяти в ней построено по схеме простого непрерывного распределения. Система поддерживает механизм распределения памяти с перекрытием (оверлейные структуры).

Как известно, в IBM PC использовался 16-разрядный микропроцессор 18088, который за счет введения сегментного способа адресации позволял указывать адрес ячейки памяти в пространстве объемом до 1 Мбайт. В последующих персональных компьютерах (IBM PC AT, AT386 и др.) было принято решение поддерживать совместимость с первыми, поэтому при работе в DOS прежде всего рассматривают первый мегабайт. Вся эта память разделялась на несколько областей, что иллюстрирует рис. 3.2. На этом рисунке показано, что памяти может быть и больше, чем 1 Мбайт, но более подробное рассмотрение этого вопроса мы здесь опустим, отослав желающих изучить данную тему глубже к монографии [2].

0000-003FF 1 Кбайт Таблица векторов прерываний
00400-005FF 51 2 байт Глобальные переменные BIOS; глобальные переменные DOS В ранних версиях здесь располагались глобальные переменные интерпретатора Бейсик
00600-ОАООО 35-60 Кбайт Модуль Ю. SYS; Модуль MSDOS. SYS: - обслуживающие функции; - буферы, рабочие и управляющие области; - устанавливаемые драйверы; Резидентная часть COMMAND. COM: - обработка программных прерываний; - системная программа загрузки; - программа загрузки транзитной части COMMAND. COM Размер этой области зависит от версии MSDOS и, главное, от конфигурационного файла CONFIG. SYS
580 Кбайт Область памяти для выполнения программ пользователя и утилит MS DOS. В эту область попадают программы типа *.СОМ и *.ЕХЕ Объем этой области очень зависит от объема, занимаемого ядром ОС. Программа может перекрывать транзитную область COMMAND. COM
  Область расположения стека исполняющейся программы Стек «растет» снизу вверх
18 Кбайт Транзитная часть командного процессора COMMAND. COM Собственно командный интерпретатор
AOOOO-C7FFF 160 Кбайт Видеопамять. Область и размер используемого видеобуфера зависят от текущего режима При работе в текстовом режиме область памяти АОООО-ВОООО свободна и может быть использована в программе
С8000-ЕОООО 96 Кбайт Зарезервировано для расширения BIOS
FOOOO-FFFF 64 Кбайт Область ROM BIOS (System BIOS) Обычно объем этой области равен 32 Кбайт, но может достигать и 128 Кбайт, занимая младшие адреса
Более 100000 High Memory Area. При наличии драйвера HIMEM. SYS здесь можно расположить основные системные файлы MS DOS, освобождая тем самым область основной памяти в первом мегабайте Может использоваться при наличии специальных драйверов. Используются спецификации XMS и EMS

Если не вдаваться в детали, можно сказать, что в состав MS DOS входят следующие основные компоненты.

Подсистема BIOS (Base Input-Output System — базовая подсистема ввода-вывода), включающая в себя помимо программы POST (Power On Self Test — самотестирование при включении компьютера)3 программные модули обработки прерываний, с помощью которых можно управлять основными контроллерами на материнской плате компьютера и устройствами ввода-вывода. Эти модули часто называют обработчиками прерываний. По своей функциональной сути они представляют собой драйверы. BIOS располагается в постоянном запоминающем устройстве компьютера. В конечном итоге почти все остальные модули MS DOS обращаются к BIOS. Если и не напрямую, то через модули более высокого уровня иерархии.

Модуль расширения BIOS — файл IO.SYS (в других DOS-системах он может называться иначе, например _ВЮ.СОМ).

Основной, или базовый, модуль обработки прерываний DOS — файл MSDOS.SYS. Именно этот модуль в основном реализует работу с файловой системой.

Командный процессор (интерпретатор команд) — файл COMMAND.COM.

Утилиты и драйверы, расширяющие возможности системы.

Программа загрузки MS DOS — загрузочная запись (Boot Record, BR), расположенная на дискете или на жестком диске (подробнее о загрузочной записи и о других загрузчиках см. главу 6).

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

В самых младших адресах памяти (первые 1024 ячейки) размещается таблица векторов прерывания (см. раздел «Система прерываний 32-разрядных микропроцессоров i80x86» в главе 4). Это связано с аппаратной реализацией процессора i8088. В последующих процессорах (начиная с i80286) адрес таблицы прерываний определяется через содержимое соответствующего регистра, но для обеспечения полной совместимости с первым процессором при включении или аппаратном сбросе в этот регистр заносятся нули. При желании, однако, в случае использования современных микропроцессоров i80x86 вектора прерываний можно размещать и в других областях.

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

Наконец, третья часть адресного пространства отведена для постоянных запоминающих устройств и функционирования некоторых устройств ввода-вывода. Эта область памяти получила название UMA (Upper Memory Area — область памяти, адрес которой выше основной).

В младших адресах основной памяти размещается то, что можно условно назвать ядром этой операционной системы — системные переменные, основные программные модули, блоки данных для буферизации операций ввода-вывода. Для управления устройствами, драйверы которых не входят в базовую подсистему ввода-вывода, загружаются так называемые загружаемые, или устанавливаемые, драйверы. Перечень устанавливаемых драйверов определяется специальным конфигурационным файлом CONFIG.SYS. После загрузки расширения BIOS — файла IO.SYS -последний (загрузив модуль MSDOS.SYS) считывает файл CONFIG.SYS и уже в соответствии с ним подгружает в память необходимые драйверы. Кстати, в конфигурационном файле CONFIG.SYS могут иметься операторы, указывающие на количество буферов, отводимых для ускорения операций ввода-вывода, и на количество файлов, которые могут обрабатываться (для работы с файлами необходимо зарезервировать место в памяти для хранения управляющих структур, с помощью которых выполняются операции с записями файла). В случае использования микропроцессоров i80x86 и наличия в памяти драйвера HIMEM.SYS модули IO.SYS и MSDOS.SYS могут быть размещены за пределами первого мегабайта в области, которая получила название НМA (High Memory Area — область памяти с большими адресами).

Память с адресами, большими чем lOFFFFh, может быть использована в DOS-программах при выполнении их на микропроцессорах, имеющих такую возможность (например, микропроцессор i80286 имел 24-разрядную шину адреса, а i80386 -уже 32-разрядную). Но для этого с помощью специальных драйверов необходимо переключать процессор в другой режим работы, при котором он сможет использовать адреса выше lOFFFFh. Широкое распространение получили две основные спецификации: XMS (Extended Memory Specification) и EMS (Expanded Memory Specification). Последние годы система MS DOS практически перестала применяться. Теперь ее используют в основном для запуска некоторых утилит, с помощью которых подготавливают дисковые устройства, или для установки других операционных систем. И поскольку основным утилитам, необходимым для обслуживания персонального компьютера, спецификации EMS и XMS, как правило, не нужны, мы не будем здесь их рассматривать.

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

Для того чтобы предоставить больше памяти программам пользователя, в MS DOS применено то же решение, что и во многих других простейших операционных системах, — командный процессор COMMAND.COM состоит из двух частей. Первая часть является резидентной и размещается в области ядра, вторая часть транзитная и размещается в области старших адресов раздела памяти, выделяемой для программ пользователя. И если программа пользователя перекрывает собой область, в которой была расположена транзитная часть командного процессора, то последний при необходимости восстанавливает в памяти свою транзитную часть, поскольку после выполнения программы она возвращает управление резидентной части COMMAND.COM.

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

 


Урок №14 Интерфейсы

 

Структурно современные. ЭВМ и ПК состоит из 2-х частей: центральной и периферийной. К центральной части относят процессор и ОЗУ.

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

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

Кроме ОП во всех ПК имеется внутренняя постоянная память для хранения постоянных данных и программ. ОП - дорогая часть аппаратуры. Объем ее ограничен, поэтому большие массивы или таблицы информации хранятся в ВЗУ. К ним относят: накопители на магнитных дисках (НМД), накопители на магнитных лентах (НМЛ), накопители на оптических и магнитооптических дисках.

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

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

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

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

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

непосредственно информация (данные);

управляющие сигналы;

адреса.

На рисунке 2.2 приведена схема обмена информацией между устройствами в ЭВМ с общей шиной.

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

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

 

 

 

 

Урок №15 Системная шина

Ранние компьютерные шины представляли собой параллельные электрические шины с несколькими подключениями, но сейчас данный термин используется для любых физических механизмов, предоставляющих такую же логическую функциональность, как параллельные компьютерные шины. Современные компьютерные шины используют как параллельные, так и последовательные соединения и могут иметь параллельные (multidrop) и цепные (daisy chain) топологии. В случае USB и некоторых других шин могут также использоваться хабы (концентраторы).

Примеры внутренних компьютерных шин:

 

Параллельные

· Проприетарная ASUS Media Bus, использовалась на некоторых материнских платах ASUS с Socket 7 и представляла собой шину ISA в специфическом разьеме, размещенном в одну линию с разьемом шины PCI.

· CAMAC для измерительных систем (instrumentation systems)

· Extended ISA или EISA

· Industry Standard Architecture или ISA

· Low Pin Count или LPC

· MicroChannel или MCA

· MBus

· Multibus для промышленных систем

· NuBus или IEEE 1196

· OPTi local bus, использовалась для ранних материнских плат для Intel 80486

· Peripheral Component Interconnect или PCI, также PCI-X

· S-100 bus или IEEE 696, использовалась в Altair и похожих микрокомпьютерах

· SBus или IEEE 1496

· VESA Local Bus или VLB или VL-bus, использовалась в основном на материнских платах для 80486 процессоров и была подключена непосредственно к выводам микропроцессора. Однако встречалась и реализация этой шины в сочетании с ЦПУ IBM BL3 (аналог i386SX) и ранними Pentium

· VMEbus, VERSAmodule Eurocard bus

· STD Bus для 8-ми и 16-ти битных микропроцессорных систем

· Unibus

· Q-Bus

 

Последовательные

· 1-Wire

· HyperTransport

· I²C

· PCI Express или PCIe

· Serial Peripheral Interface Bus или шина SPI

· USB, Universal Serial Bus, чаще используется как внешняя

· FireWire, i.Link, IEEE 1394, чаще используется как внешняя

· [править] Примеры внешних компьютерных шин

· Advanced Technology Attachment или ATA (также известна, как PATA, IDE, EIDE, ATAPI) — шина для подключения дисковой и ленточной периферии.

· SATA, Serial ATA — современный вариант ATA

· USB, Universal Serial Bus, используется для множества внешних устройств

· HIPPI HIgh Performance Parallel Interface

· IEEE-488, GPIB (General-Purpose Instrumentation Bus), HPIB, (Hewlett-Packard Instrumentation Bus)

· PC card, ранее известная как PCMCIA, часто используется в ноутбуках и других портативных компьютерах, но теряет своё значение с появлением USB и встраиванием сетевых карт и модемов

· SCSI, Small Computer System Interface, шина для подключения дисковых и ленточных накопителей

· Serial Attached SCSI, SAS — современный вариант SCSI


Урок №16 Архитектура системной платы

Матери́нская пла́та (англ. motherboard, MB, также используется название англ. mainboard — главная плата; сленг. мама, мать, материнка) — это сложная многослойная печатная плата, на которой устанавливаются основные компоненты персонального компьютера (центральный процессор, контроллер ОЗУ и собственно ОЗУ, загрузочное ПЗУ, контроллеры базовых интерфейсов ввода-вывода). Как правило, материнская плата содержит разъёмы (слоты) для подключения дополнительных контроллеров, для подключения которых обычно используются шины USB, PCI и PCI-Express.

Основные компоненты, установленные на материнской плате:

· Северный мост (англ. Northbridge), MCH (Memory controller hub), системный контроллер — обеспечивает подключение ЦПУ к узлам, использующим высокопроизводительные шины: ОЗУ, графический контроллер.

Для подключения ЦПУ к системному контроллеру могут использоваться такие FSB-шины, как Hyper-Transport и SCI.

Обычно к системному контроллеру подключается ОЗУ. В таком случае он содержит в себе контроллер памяти. Таким образом, от типа применённого системного контроллера обычно зависит максимальный объём ОЗУ, а также пропускная способность шины памяти персонального компьютера. Но в настоящее время имеется тенденция встраивания контроллера ОЗУ непосредственно в ЦПУ (например, контроллер памяти встроен в процессор в AMD K8 и Intel Core i7), что упрощает функции системного контроллера и снижает тепловыделение.

В качестве шины для подключения графического контроллера на современных материнских платах используется PCI Express. Ранее использовались общие шины (ISA, VLB, PCI) и шина AGP.

· Южный мост (англ. Southbridge), ICH (I/O controller hub), периферийный контроллер — содержит контроллеры периферийных устройств (жёсткого диска, Ethernet, аудио), контроллеры шин для подключения периферийных устройств (шины PCI, PCI-Express и USB), а также контроллеры шин, к которым подключаются устройства, не требующие высокой пропускной способности (LPC — используется для подключения загрузочного ПЗУ; также шина LPC используется для подключения мультиконтроллера (англ. Super I/O) — микросхемы, обеспечивающей поддержку «устаревших» низкопроизводительных интерфейсов передачи данных: последовательного и параллельного интерфейсов, контроллера клавиатуры и мыши).

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

ОЗУ может изготавливаться как отдельный блок или входить в конструкцию однокристальной ЭВМ или микроконтроллера.

 


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


Читайте в этой же книге: Перевод целого числа из десятичной системы счисления в любую другую систему счисления. | Перевод чисел из двоичной системы счисления в восьмеричную систему счисления. | Перевод чисел из двоичной системы счисления в шестнадцатеричную систему счисления. | Phenom X4 | Мультипрограммирование, многопользовательский режим работы и режим разделения времени |
<== предыдущая страница | следующая страница ==>
Вычитание чисел в двоичной системе счисления.| Классификация материнских плат по форм-фактору

mybiblioteka.su - 2015-2024 год. (0.04 сек.)