Главная » Просмотр файлов » К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)

К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 16

Файл №1114649 К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003)) 16 страницаК. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649) страница 162019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

Команды 1оаб А,Кг' Бсоге КВА АгЫ АЮ представляют собой пример команд арпад, 31оге и Айй, в которых Кг выполняет функцию сумматора. Но даже в том случае, когда в команде явно задается единственный адрес, она все равно может занимать больше одного слова памяти. Если в процессоре имеется несколько регистров общего назначения, он может поддерживать ряд команд, все операнды которых располагаются в регистрах.

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

2.4. Команды и последовательности команд 65 В программах часто требуется переслать данные нз одного места в другое. Для этого используется команда Моче Источник, Приемник помещающая в приемник копию содержимого источника. Команда Моче может использоваться для пересылки данных из памяти в регистр процессора и из регистра процессора в память вместо команд Есаул и БСоге, поскольку направление пересылки в ней задается просто порядком операндов. Поэтому команда Моче А,К1 означает то же, что и команда 1лаб А,К1 а команда Моче КАА — то же, что и команда З~оге К1,А Мы же в этой главе вместо команд аглай и Ыоге будем использовать команду Моче. В тех процессорах, которые производят арифметические операции только над содержимым регистров, задача С А + В может быть выполнена путем применения такой последовательности команд: Моче А,И Моче В,Ку А<Ы К1 ф Моче ф,С Если процессор позволяет использовать операнды, из которых один находится в памяти, а все остальные в регистрах, то эту же задачу можно реализовать и по-другому: Моче А,К1 АИ ВК1 Моче К~,С Время выполнения конкретной задачи зависит от того, насколько быстро команды пересылаются из памяти в процессор и насколько быстро осуществляется доступ к операндам этих команд.

Операции, в которых участвует память, выполняются гораздо медленнее, чем операции с участием регистров. Поэтому значительного ускорения работы можно добиться в тех случаях, когда несколько операций подряд выполняются над хранящимися в регистрах данными без обращения к памяти. При компиляции программ, написанных на языке высокого уровня, в машинный язык важно минимизировать частоту перемешений данных между памятью и регистрами процессора. 66 Глава 2. Машинные команды и программы Итак, теперь вы имеете представление об одно-, двух- и трехадресных командах и знаете о возможности использовать команды, в которых все операнды задаются неявно. Такие команды применяются в машинах, хранящих операнды в структуре, которая называется стеком. А сами команды называются ноль-адресными.

Концепция стека вводится в разделе 2.8, а компьютер, в котором используется такой подход, описан в главе 11. 2.4.4. Выполнение команд и линейный код В предыдущем разделе мы рассматривали форматы команд на примере операции С +- (А] + (В~. На рис. 2.8 показан фрагмент программы, выполняющей эту задачу, в том виде, в каком он представлен в памяти компьютера. Мы предполагаем, что компьютер поддерживает только одноадресные команды и что его процессор содержит много регистров. Длина слова составляет 32 разряда, а память адресуется побайтово. Три команды программы расположены в следующих друг за другом словах, начиная с адреса г] Поскольку каждая команда занимает 4 байта, вторая и третья команды начинаются по адресам ] + 4 и 1+ 8. Для того чтобы упростить задачу, мы также предполагаем, что полный адрес целиком задается в команде, занимающей одно слово, хотя при таких размерах адресного пространства и той длине слова, которая поддерживается современными процессорами, подобное, как правило, невозможно.

Содержимое Здесь начинается выполнение ] я 4 агмент программы, тоящий из трех команд ]я 8 А Данные для программы Рис. 2.8. Программа Лля выполнения операции С <- [А] + (Н] 2.4. Команды и последовательности команд Ет Рассмотрим процесс выполнения этой программы подробно. Процессор содержит регистр, называемый счелгчиком команд (Ргойгаш Соппгег, РС), в котором хранится адрес следующей команды. Чтобы программа начала выполняться, адрес ее первой команды (в нашем примере 1) должен быть помещен в регистр РС. Затем управляющие схемы процессора будут использовать информацию из этого регистра для выполнения последовательно расположенных в памяти команд, по одной за раз, в порядке увеличения их адресов.

Этот процесс называется последовательньгм выполнением программы, а сама программа, представленная в памяти как список команд, называется линейной. В ходе выполнения каждой команды адрес, хранящийся в регистре РС, увеличивается на 4, чтобы этот регистр указывал на следующую команду программы. Таким образом, после выполнения команды Моче, расположенной по адресу( + 8, регистр РС будет содержать значение 1 + 12, указывающее на первую команду следующего фрагмента программы. Выполнение команды производится в два этапа. На первом этапе, называемом фазой выборки команды, из памяти извлекается команда, хранящаяся по адресу, указанному в регистре РС.

Эта команда помещается в регистр команды (1пз1гпс11оп Ке81з1ег, 1К). После этого начинается второй этап, называемый фазой вьщолнения команды. На этом этапе процессор анализирует команду в регистре 1К, чтобы узнать, какое действие ему следует выполнить. Затем он производит это действие, для чего обычно требуется выбрать операнды из памяти или из регистров, выполнить арифметическую или логическую операцию и сохранить результаты по указанному адресу.

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

2.8. Адреса, по которым хранятся и чисел, символически обозначены как К ПМ1, 1ч ПМ2, ..., ХПМж Для сложения каждого из этих чисел с содержимым регистра КО используется отдельная команда АЫ После того как все числа сложены, результат записывается в память по адресу Я1М. Но вместо того чтобы использовать длинный список команд АЙЙ, можно поместить всего одну такую команду в программный цикл (рис. 2.10). Цикл — это последовательность команд, выполняемых необходимое количество раз. В нашей программе цикл начинается по адресу 1.ООР и заканчивается командой ВгапсЬ>0. На каждом шаге этого цикла определяется адрес следующего числа, и это число извлекается из памяти и добавляется к содержимому регистра КО. Адрес операнда можно задать разными способами, о которых подробно рассказывается в разделе 2.5.

А пока мы должны сосредоточить внимание на том, как создаются и выполняются программные циклы. 6В Глава 2. Машинные команды и программы 1 е 4п — 4 1+4п Я1М 1чШМ1 гч 11М2 ХПМп Рис. 2.9. Прямолинейная программа для сложения л чисел Предположим, что количество складываемых чисел, и, хранится в памяти по адресу Х (рис. 2.10). Регистр 21 используется в качестве счетчика, определяющего количество повторений цикла. Поэтому в начале программы в регистр К1 загружается содержимое памяти, находящееся по адресу Х.

В теле цикла команда Песгешепс К1 уменьшает значение 21 на единицу. (Аналогичная операция выполняется командой 1псгешепц которая увеличивает свой операнд на единицу.) Тело цикла выполняется раз за разом до тех пор, пока результат операции Песгешепт остается большим нуля. Теперь нам нужно ввести понятие команда перехода. Указанная команда загружает в счетчик команд заданное значение. Процессор выбирает из памяти и выполняет команду, хранящуюся по адресу и определяемую командой перехода, а не следующей командой в порядке увеличения адресов, как в случае прямолинейной программы. Вызов команды условного перехода приводит к переходу в другую точку программы только в случае выполнения заданного условия.

Если это условие не выполняется, значение в регистре РС увеличивается обычным образом и из памяти выбирается и выполняется очередная команда в порядке уве- личения адресов. 2.4. Команды и последовательности команд 69 1.00Р Программный БПМ Х ХБМ1 ХПМ2 ХПМл Рис. 2.10. Цикл для сложения л чисел В программе, представленной на рис. 2.10, команда Вгапсй>0 1.ООР (чпереход, если больше пуляя) является командой условного перехода, выполняющей перемещение по адресу ПООР в том случае, если результат предыдущей инструкции, увеличившей значение в регистре К1, больше нуля.

Характеристики

Тип файла
PDF-файл
Размер
10,19 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее