Читайте также:
|
|
Команды и операнды (информация, подлежащая обработке) размещаются в компьютере либо во внутренних регистрах процессора, либо в оперативной (виртуальной) памяти компьютера, либо в его периферийных устройствах. В процессе функционирования компьютера под управлением центрального процессора в нем осуществляется выборка команд исполняемых программ, считывание необходимых данных, сохранение результатов обработки и пр. Адреса операндов, т.е. кодов, подвергающихся тем или иным операциям в процессе обработки информации в компьютере, размещаются в командах программы.
Команда в обобщенном виде представляет собой двоичный код, который в общем виде должен содержать в себе следующую информацию:
· тип операции, которую следует выполнить (КОП – код операции);
· адрес в памяти, по которому следует выбрать первый операнд (А1);
· адрес в памяти, по которому следует выбрать второй операнд (А2);
· адрес в памяти, куда следует записать результат операции (А3);
· адрес в памяти, по которому следует выбрать следующую команду (А4).
Каждому из этих видов информации соответствует своя часть (поле) двоичного кода команды, а совокупность полей (их длины, расположение в командном слове, способ кодирования информации в них) составляет формат команды.
Таким образом, в самом общем виде, обобщенное представление такой четырехадресной команды может быть изображено рис. X.1.
Дело в том, что при большей части вычислений существует линейная последовательность выборки команд. Если же следующая команда, которая должна быть выбрана, не следует в программе непосредственно за выполненной, или ее адрес будет зависеть от результатов выполнения предыдущей команды то, в таких случаях, используют специальные команды безусловных или условных переходов. В случае принудительной выборки команд, эти команды условных и безусловных переходов не нужны. Однако опыт показал, что при правильно составленной программе, при «естественном» порядке выборки команд, команды переходов используются достаточно редко. Поэтому в общем случае естественная (последовательная) выборка команд гораздо эффективнее принудительной. Таким образом, в современных компьютерах четырехадресные команды практически не используются.
Однако существуют команды, которые определяют операции над одним операндом (увеличение или уменьшение его на единицу, получение его обратного или дополнительного кода, и т.п.). В таких случаях, в команде указывается только один адрес (он же адрес результата), и такие команды называются одноадресными.
И, наконец, в системе команд компьютера имеются и безадресные команды, в которых адрес вообще не указывается. Это такие команды, как например, команды управления процессором: NOP, HLT, WAIT и др.
Адреса операндов, размещенных в команде, как и адреса самих команд, могут формироваться (указываться) по-разному.
Адресация – это способ указания процессору о месторасположении (места хранения) команд и операндов в компьютере.
В современных компьютерах используется довольно большое разнообразие различных способов адресации информации в соответствующем сегменте. Наиболее распространенная классификация.
1. Неявная (подразумеваемая) адресация.
2. Непосредственная адресация.
3. Прямая адресация.
4. Косвенная адресация:
а) регистровая;
б) базовая;
в) индексная;
г) базовая индексная;
5. Относительная адресация.
6. Адресация устройств ввода/вывода.
Неявная адресация. Под неявной или подразумеваемой адресацией понимается такой метод адресации, когда в команде адрес операнда прямо не указывается, а подразумевается. Сам адрес операнда процессором определяется однозначно по коду операции самой команды.
Примеры: 1. STD – установить в 1 флаг DF.
2. CMC – инвертировать флаг CF.
3. PUSH BX– содержимое регистра BX занести в стек, по адресу, определяемому содержимым указателя стека SP.
4. MUL CX – содержимое регистра AX умножить на содержимое регистра CX; старшие разряды результата поместить в регистр DX, а младшие – в регистр AX.
Непосредственная адресация. При этом виде адресации операнд находится непосредственно в самой команде.
Примеры: 1. MOV AX, 0FA2Bh – занести в регистр AX константу 0FA2Bh.
2. AND AL, 0Fh – осуществить операцию конъюнкции между константой 0Fh и содержимым регистра AL; результат занести в регистр AL.
Прямая адресация. При этом способе адресации адрес операнда прямо указывается в команде. Это указание определяется либо приведением имени регистра, где находится требуемый операнд (тогда, часто, такая адресация называется – прямой регистровой), либо указанием прямого адреса в ОЗУ. При программировании на языке ассемблера этот прямой адрес может выделяться квадратными скобками.
Примеры: 1. ADD AX, BX – сложить содержимое регистров AX и BX; результат поместить в регистр AX.
2. INC CX – увеличить на 1 содержимое регистра CX.
3. CALL 10FAh – передать управление на подпрограмму по адресу 10FAh.
4. SHL WORD PTR [0FA2Bh], CL – сдвинуть влево слово, расположенное в ОЗУ по адресу 0FA2Bh, на число разрядов, указанное в регистре CL.
Косвенная адресация. Косвенная адресация является самым распространенным способом адресации данных, расположенных в ОЗУ. При косвенной адресации в команде указывается регистр, где находится адрес операнда, либо некоторое выражение по которому вычисляется этот адрес в основной памяти. В последнем случае, в формировании адреса участвуют, в общем случае, базовые и индексные регистры, а также некоторые константы. При написании программы на языке ассемблера, выражение для косвенного адреса в памяти указывается в квадратных скобках. Этот адрес обычно носит название эффективного адреса (EA). Различают несколько разновидностей косвенной адресации.
а) Регистровая косвенная адресация, при которой адрес размещен в указываемом в команде регистре.
Пример: 1. ADD AX, [BX] – сложить содержимое регистра AX и ячейки памяти ОЗУ, расположенной по адресу, указанному в регистре BX; результат поместить в регистр AX.
б) Базовая косвенная адресация. При базовой адресации эффективный адрес операнда определяется как сумма содержимого одного из базовых регистров плюс некоторая константа, называемая смещением в команде. Эта адресация весьма удобна для адресации одинаковых элементов равновеликих массивов чисел, когда смещение, т.е. начало массивов, устанавливается еще на стадии разработки программы, а значение регистра вычисляется динамически в процессе выполнения программы.
Примеры: 1. MOV AX, [BX+1234h] – передать в регистр AX содержимое ячейки памяти (слово) по эффективному адресу, определяемому как сумма содержимого базового регистра ВX плюс константа 1234h.
2. MOV [BP+4321h], DX – переслать в ячейку памяти ОЗУ по эффективному адресу, определяемому как сумма содержимого базового регистра BP плюс константа 4321h, содержимое регистра DX.
в) Индексная косвенная адресация. Индексная косвенная адресация может быть со смещением в команде, или без смещения. Дело в том, что при индексной адресации используются индексные регистры SI или DI, которые при адресации цепочек (строк) автоматически могут осуществлять инкремент или декремент своего содержимого, в соответствии с масштабом, указанным в команде. Этим достигается существенное увеличение быстродействия исполнения цепочечных команд. Поэтому часто различают просто индексную адресацию, используемую при работе с цепочечными командами, и индексную адресацию со смещением, т.е. с добавлением некоторой константы. Этот способ адресации очень удобен для адресации последовательности чисел в массиве.
Примеры: 1. SUB AX, [SI+1234h] – из содержимого регистра AX вычесть содержимое ячейки памяти ОЗУ по адресу, равному содержимому регистра SI плюс константа 1234h; результат поместить в регистр AX.
2. DIV Word PTR [SI+4321h] – разделить содержимое двойного слова, расположенного в регистре DX (старшие два байта) и регистре AX (младшие два байта) на слово в ОЗУ по адресному смещению, равному содержимому регистра SI плюс константа 4321h; частное будет помещено в регистр AX, а остаток в регистр DX.
3. MOVSB – скопировать цепочку байт из сегмента DS, начальный адрес которой определяется по адресному смещению в сегменте DS, занесенному в регистр SI, в сегмент ES, по адресному смещению, занесенному в регистр DI. При этом длина цепочки в байтах, равна числу, занесенному в регистр CX. Пересылку символов осуществить, начиная с младшего байта, если флаг DF установлен в нулевое состояние, и со старшего байта, если флаг DF установлен в состояние единицы.
г) Базовая индексная косвенная адресация. При этом способе адресации эффективный адрес (адресное смещение в сегменте) определяется как сумма содержимого базового и индексного регистров со смещением (константой) или без него. Этот способ адресации удобен для адресации элементов двумерных матриц, когда номер строки определятся содержимым индексного регистра, а номер столбца – содержимым базового регистра. При этом начальный адрес размещения матрицы определяется смещением (константой).
Примеры: 1. MOV AX, [BX+SI+1234h] – переслать в регистр AX слово, расположенное в сегменте DS ОЗУ по адресному смещению, вычисленному как сумма содержимого регистров BX, SI и константы 1234h.
Относительная адресация. Этот способ адресации относится только к адресации команд. На линейных участках программы, адрес команды берется из регистра IP, т.е. имеет место косвенная регистровая адресация. Однако при передачах управления, после выполнения команд условных переходов, а также вызова подпрограмм, адрес точки перехода определяется как сумма содержимого регистра IP и некоторого смещения относительно IP, автоматически вычисляемого по указанному в команде адресу перехода. При этом команда в исполняемом файле программы становится короче, и занимает меньше адресного пространства и выполняется быстрее.
Примеры: 1. JС 1234h – если после выполнения предыдущей команды был перенос из старшего разряда, то осуществляется передача управления по указанному адресу.
Адресация ввода/вывода. Он используется для адресации устройств ввода/вывода только в тех компьютерах, в которых предусмотрено отдельное адресное пространство ввода/вывода. Так, он характерен для всех компьютеров, в которых используются процессоры Intel и совместимые с ними. Однако в компьютерах Macintosh, где используются процессоры фирмы Motorola, такие команды отсутствуют. Там адресное пространство совмещено с общим адресным пространством ОЗУ и обращение к устройствам ввода/вывода осуществляется как к обычным ячейкам памяти ОЗУ по командам MOV.
Адресация же устройств ввода/вывода в компьютерах с раздельным адресным пространством осуществляется по специальным командам ввода IN (INS) и вывода – OUT (OUTS), путем использования как прямой, так и косвенной регистровой адресации. При этом, при косвенной регистровой адресации используется исключительно регистр DX и сама она применяется только в тех случаях, когда число регистров ввода/вывода в компьютере превышает 256. Это объясняется тем, что под адрес периферийного устройства, указываемого в командах IN или OUT, отводится всего один байт.
Кроме того, следует помнить, что любой обмен данными между процессором и периферийными устройствами осуществляется только через регистр AX (AL).
Примеры:1. IN AL, 51h – прямая адресация при вводе данных из устройства по адресу 51h.
2. IN AX, DX – косвенная адресация при вводе данных из устройства, адрес которого находится в регистре DX.
3. OUT 17h, AX – прямая адресация при выводе данных в устройство по адресу 17h.
4. OUT DX, AX – косвенная адресация при выводе данных в устройство, адрес которого находится в регистре DX.
15. АРХИТЕКТУРА СИСТЕМНОЙ ПЛАТЫ СОВРЕМЕННОГО ПК
Системная или материнская плата (System board или Motherboard)персонального компьютера является основой системного блока, определяющей архитектуру и производительность компьютера.
Основные компоненты, устанавливаемые на материнской плате:
Центральный процессор (ЦПУ).
Оперативная память (слоты памяти), которая используется для хранения ядра операционной системы, основных ее процедур и задач прикладного программного обеспечения.
Постоянная или репрограммируемая память (ROM или Flash BIOS), объемом обычно 64 Кбайт, реализуемая в виде отдельной микросхемы, распаянной на системной плате.
Функции ROM BIOS:
- Предоставление операционной системе драйверов (управляющих программ) основных устройств находящихся на системной плате и осуществление сопряжения между системной платой и остальными средствами PC (периферийными устройствами).
- Осуществление тестовой проверки всех важнейших компонентов компьютера с помощью содержащейся в ней программе POST (Power On Self Test). Программа POST включает в себя 15-20 процедур, осуществляющих проверку:
Проверка сопровождается сообщениями об ошибках, как на экране монитора, так и звуковыми сигналами.
- Установление параметров BIOS и аппаратной конфигурации компьютера с помощью программы CMOS Setup, с использованием специальной области памяти CMOS RAM, откуда эта информация считывается программами ROM BIOS
- Начальная загрузка операционной системы через программу Bootstrap, которая инициируется, после успешного завершения программы проверки системы POST, по прерыванию INT 19H.
Набор системных микросхем (НМС или Chipset), связывающих CPU, основную электронную память и периферийные устройства в единую систему – компьютер. В них, кроме связующей логики, включаются такие контроллеры, как контроллер прерывания, контроллер прямого доступа к памяти, контроллер шины, аудио-контроллер и др.
Кварцевый генератор синхронизации.
Элемент питания памяти установочных данных и таймера (т.е. питания памяти CMOS RAM).
Интерфейсные схемы и разъемы шин расширения. Разъемы шин расширения – это стандартизированные разъемы для подключения к системной плате дополнительных печатных плат расширения, на которых располагаются микросхемы и другие электронные компоненты для согласования подсоединяемых к ядру процессора периферийных устройств, не относящихся к стандартным ПУ (таким, как монитор, клавиатура, мышь). Микросхемы же интерфейса стандартных ПУ располагаются непосредственно на материнской плате. Однако вопрос о том, какие ПУ относить к стандартным, а какие нет, решается, разработчиками материнских плат по разному.
Схема формирования сброса системы по сигналу PG (Power Good -питание в норме) от блока питания или кнопки Reset.
Регуляторы напряжения питания – VRM (Voltage Regulation Module). Как правило, это управляемые преобразователи напряжения +5В в более низкое напряжение, требуемое для современных низковольтных процессоров и интерфейсов.
Средства мониторинга состояния системного блока: измерителя скорости вращения вентиляторов и температуры процессора и других «горячих» компонентов; измерители питающих напряжений; сигнализаторы несанкционированного доступа и т.п. Эти средства позволяют программно (через загружаемое ПО или меню CMOS Setup) снимать показания измерителей и датчиков, а также при должной настройке вырабатывать прерывание, сигнализирующее о критических событиях, и даже предпринимать экстренные меры (вплоть до выключения питания при перегреве).
Архитектуру любой системной платы и ее функциональные возможности во многом определяет так называемый чипсет.
Chipset – это набор микросхем (НМС), расположенный на системной (материнской) плате, для обеспечения обмена информацией между центральным процессором, электронной памятью и периферийными устройствами компьютера.
Chipset определяет функциональные возможности системной платы:
- тип устанавливаемых процессоров;
- тип и объем оперативной памяти, а также кэш-L3;
- тактовую частоту системной шины;
- другие поддерживаемые шины и т.п.
Подавляющее большинство наборов микросхем Chipset состоит из двух микросхем, которые получили условное название «северного моста» (North Bridge) и «южного моста» (South Bridge) и эта архитектура получила название «мостовой».
Дата добавления: 2015-10-26; просмотров: 291 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПРИНЦИПЫ ОРГАНИЗАЦИИ СОВРЕМЕННЫХ ОЗУ | | | СТРУКТУРА БАЗОВОГО ПРОЦЕССОРА СЕМЕЙСТВА Х86 И НАЗНАЧЕНИЕ ЕГО ВЫВОДОВ |