Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17




НазваниеСодержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17
страница14/78
Дата конвертации11.12.2012
Размер5.58 Mb.
ТипРеферат
1   ...   10   11   12   13   14   15   16   17   ...   78

Машинный язык


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

Система команд


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

Различают два подхода к тому, каким должен быть центральный процессор. При первом подходе считается, что центральный процессор должен выполнять минимальный набор машинных команд. Результатом такого подхода является вычислительная машина с сокращенным набором команд (Reduced Instruction Set Computer — RISC-машина). В защиту RISC-процессора приводится аргумент, что такой процессор является эффективным и быстродействующим. В то же время, есть сторонники центрального процессора, способного выполнять большое количество сложных команд, даже если многие из них избыточны. Результатом этого подхода является вычислительная машина со сложным набором команд (Complex Instruction Set Computer — CISC-машина). В защиту CISC-архитектуры приводят аргумент, что более сложный процессор легче программировать, так как можно обойтись одной командой для выполнения задачи, которая в RISC-процессоре потребовала бы длинной последовательности команд.

Кэш-память


Было бы полезно рассмотреть регистры общего назначения, находящиеся в центральном процессоре, в рамках всей памяти компьютера. Регистры используются для того, чтобы хранить под рукой данные, которые в настоящий момент подвергаются обработке. Назначение оперативной памяти — хранение данных, которые могут потребоваться в ближайшем будущем. Устройства хранения данных — это память, используемая для хранения данных, которые, скорее всего, не потребуются в ближайшем будущем. Многие машины снабжены дополнительной памятью, которая называется кэш-памятью. Кэш-память (cache memory, или часто просто cache) — это порция быстродействующей памяти (несколько килобайтов), время отклика которой примерно равно времени отклика регистров. Часто она находится в центральном процессоре. В этой области памяти машина хранит копию той части оперативной памяти, которая сейчас используется. При этом передача данных, которая обычно осуществляется между регистрами и оперативной памятью, происходит между регистрами и кэш-памятью. Все изменения затем передаются в оперативную память, но в более подходящее время. В результате машина выполняет цикл за более короткое время и, следовательно, быстрее выполняет задачу.

И CISC-процессоры, и RISC-процессоры выпускаются серийно. Процессор Pentium, разработанный компанией Intel, является примером CISC-архитектуры; процессор PowerPC, разработанный альянсом Apple Computer, IBM и Motorola, является примером RISC-архитектуры. Для простоты изложения в этой главе мы будем рассматривать RISC-процессор.

Все машинные команды можно разделить на три группы:

♦ команды передачи данных,

♦ арифметико-логические команды,

♦ команды управления.

Команды передачи данных

В эту группу входят команды, которые предписывают перемещение данных из одного места в другое. Шаги 1, 2 и 4 алгоритма сложения значений, хранящихся в оперативной памяти (см. раздел 2.1 «Архитектура ЭВМ»), попадают в эту категорию. Как и в случае оперативной памяти, данные при перемещении из одной ячейки в другую не удаляются из исходной ячейки. Процесс передачи данных больше похож на копирование данных, а не на их перемещение. В этом смысле общепринятые термины «передавать» (transfer) и «перемещать» (move) употребляются неправильно, поскольку термины «копировать» (сору) и «клонировать» (clone) являются более строгими.

Говоря о терминологии, следует упомянуть, что для передачи данных между центральным процессором и оперативной памятью существуют специальные термины. Требование заполнить регистр общего назначения содержимым ячейки памяти обычно называется командой загрузки, и наоборот, требование переместить содержимое регистра в ячейку памяти называется командой сохранения. Шаги 1 и 2 являются командами загрузки, а шаг 4 — командой сохранения.

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

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

Арифметико-логические команды


В эту группу входят команды, которые предписывают устройству управления активизировать арифметико-логическое устройство. К этой категории команд относится шаг 3. Как можно понять из его названия, арифметико-логическое устройство выполняет не только простые арифметические операции. К некоторым дополнительным операциям относятся логические операции AND, OR и XOR, которые мы обсуждали в главе 1 и будем рассматривать более подробно в этой главе. Эти операции часто используются для того, чтобы манипулировать отдельными битами регистра, не затрагивая остальных. Другие операции, доступные в большинстве арифметико-логических устройств, позволяют сдвигать содержимое регистра вправо или влево. Они называются операциями сдвига (SHIFT) или циклического сдвига (ROTATE) в зависимости то того, удаляются ли биты, находящиеся на конце регистра, в направлении которого происходит сдвиг, или используются для заполнения пространства на другом его конце.

Команды управления


В эту группу входят команды, которые управляют выполнением программы, а не манипулируют данными. К этой категории команд относится шаг 5, хотя он и является слишком простым примером. Эта группа включает наиболее интересные машинные команды, такие как команды перехода (JUMP) или ветвления (BRANCH), которые предписывают устройству управления выполнять не следующую инструкцию, а какую-нибудь другую. Команды перехода разделяются на команды безусловного и условного перехода. Примером первых может быть инструкция «перейти к шагу 5», примером второй — «если полученное значение равно 0, тогда перейти к шагу 5». Различие заключается в том, что условный переход осуществляется только тогда, когда выполняется условие. Рассмотрим в качестве примера алгоритм деления двух чисел, в котором шаг 3 является условным переходом, исключающим возможность деления на ноль.

Деление двух значений, хранящихся в памяти


Шаг 1. Загрузить в регистр значение из памяти.

Шаг 2. Загрузить в другой регистр другое значение из памяти.

Шаг 3. Если второе значение равно нулю, перейти к шагу 6.

Шаг 4. Разделить содержание первого регистра на содержание второго регистра и поместить результат в третий регистр.

Шаг 5. Сохранить содержание третьего регистра в памяти.

Шаг 6. Стоп.

Пример машинного языка

Рассмотрим, как закодированы команды в типичной машине, описанной в приложении В и представленной на рис. 2.2. Она имеет 16 регистров общего назначения и 256 ячеек памяти, каждая емкостью восемь битов. Мы маркировали регистры значениями от 0 до 15, а ячейкам памяти присвоили адреса со значениями от О до 255. Затем мы представили эти метки и адреса в двоичной системе счисления и сжали получившийся код при помощи шестнадцатеричного представления. Следовательно, в нашей машине регистры маркированы значениями от 0 до F, а адреса ячеек памяти имеют значения от 00 до FF.



Закодированная машинная команда состоит обычно из двух частей: поля кода операции (op-code field) и поля операнда (operand field). Набор битов, расположенный в поле кода операции, обозначает, какая из элементарных операций, таких как операции сохранения, сдвига, XOR или перехода, запрашивается командой. Набор битов, находящийся в поле операнда, содержит подробные сведения об объектах, участвующих в операции, определенной кодом операции. Например, в случае команды сохранения в поле операнда содержится информация о том, в каком регистре находятся данные, которые нужно сохранить, и какая ячейка памяти должна получить эти данные.

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

Поле операнда каждой команды в нашей машине состоит из трех шестнадца-теричных цифр (12 битов) и в каждом случае (кроме команды останова, которая



не нуждается в дальнейшем уточнении) поясняет команду, представленную кодом операции. Например (рис. 2.4), если первая шестнадцатеричная цифра команды — 3 (код операции сохранения), то следующая за ней цифра обозначает, какой регистр нужно сохранить, а две другие — какая ячейка памяти должна получить данные. Следовательно, команда 35А7 содержит следующие инструкции: «сохранить двоичный код, находящийся в регистре 5, в ячейке памяти с адресом А7».



Рассмотрим другой пример. Код операции 7 говорит о том, что нужно выполнить операцию OR над двумя регистрами (мы рассмотрим, что означает операция OR над двумя регистрами, в разделе 2.4; сейчас нас интересует, как закодированы команды). В этом случае следующая шестнадцатеричная цифра указывает, куда нужно поместить результат, а остальные две цифры в поле операнда означают, над какими двумя регистрами нужно выполнить операцию OR. Значит, команда 70С5 содержит такие инструкции: «выполнить операцию ИЛИ над содержанием регистра С и регистра 5 и сохранить результат в регистре О».

Существует тонкое различие между двумя командами загрузки. Код операции 1 относится к команде, которая загружает в регистр содержимое ячейки памяти, а код операции 2 относится к команде, загружающей в регистр некоторое значение. Различие состоит в том, что поле операнда первой команды содержит адрес ячейки памяти, в то время как поле операнда второй команды содержит двоичный код, который нужно загрузить.

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

В завершение мы приводим закодированный вариант команд (табл. 2.1) алгоритма сложения. При этом мы предполагакм, что складываемые значения хранятся в виде двоичного дополнительного кода в ячейках памяти с адресами 6С и 6D, а сумму следует поместить в ячейку с адресом 6Е.

Таблица

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

Команда

Описание команды

156С

Загрузить в регистр 5 двоичный код, находящийся в ячейке памяти с адресом 6С.

166D

Загрузить в регистр 6 двоичный код, находящийся в ячейке памяти с адресом 6D.

5056

Сложить содержимое регистров 5 и 6 как двоичные дополнительные коды и сохранить результат в регистре 0.

306Е

Сохранить содержимое регистра 0 в ячейке памяти с адресом 6Е.

СООО

Останов.
1   ...   10   11   12   13   14   15   16   17   ...   78

Похожие:

Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconОсновы работы с Sharepoint в какое место веб-страницы разрешается вставить новую веб-часть (в браузере)?
В какое представление веб-страницы будут вноситься изменения, если выбрать команду Настроить эту страницу?
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconВведение в физику и технологию элементной базы ЭВМ и компьютеров
Введение   8
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconСодержание
Содержание размещают после титульного листа отчёта (как правило, на стр. 2). Слово «Содержание» рас­полагают посередине страницы...
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconСоздание веб-страницы в простом текстовом редакторе
Давайте создадим  веб-страницу. Для этого нужно напечатать ее исходный код в простом текстовом редакторе  блокнот
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconЗагрузка uploading теория
После того как набор html страниц веб-сайта создан. Все они связаны между собой с помощью ссылок. Страницы наполнены контентом. Таким...
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconЛитература 153 Алфавитный указатель 155 Предисловие редактора русского издания Глубокоуважаемые коллеги! Содержа­ние этой книги значительно шире и глуб­же, нежели заявлено в ее названии. Я бы назвала ее «Лечение и реставрация молочных зубов»
Предисловие редактора русского издания 6 Введение 9 Предисловие 11 Благодарности 13
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 icon        Информатика  Системы счисления и  арифметические основы эвм  
Введение   
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconЯндекс - поисковая машина, способная по вашему запросу найти в русскоязычной части интернета наиболее подходящие веб-страницы, новости, картинки, статьи
Яндекс — поисковая машина, способная по вашему запросу найти в русскоязычной части интернета наиболее подходящие веб-страницы, новости,...
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconВзаимодействие веб-сайтов по культуре с пользователем. 
Предисловие к русскому изданию   4 
Содержание предисловие 2 веб-страницы 3 введение 6 1архитектура ЭВМ 17 iconВзаимодействие веб-сайтов по культуре с пользователем. 
Предисловие к русскому изданию   4 
Разместите кнопку на своём сайте:
kak.znate.ru


База данных защищена авторским правом ©kak.znate.ru 2012
обратиться к администрации
KakZnate
Главная страница