Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » 6_Архитектура младшей модели семейства Intel

6_Архитектура младшей модели семейства Intel (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования), страница 3

PDF-файл 6_Архитектура младшей модели семейства Intel (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования), страница 3 Практика расчётов на ПЭВМ (37035): Книга - 1 семестр6_Архитектура младшей модели семейства Intel (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования) - PDF, страница 3 (37035) - СтудИзба2019-04-28СтудИзба

Описание файла

Файл "6_Архитектура младшей модели семейства Intel" внутри архива находится в папке "В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования". PDF-файл из архива "В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 1 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

Сегментация памятиПамять нашей ЭВМ имеет уже знакомую нам сегментную организацию. В любой момент времени для младшей модели определены четыре сегмента (хотя для старших моделей число сегментовбольше). Это означает, что есть четыре сегментных регистра, которые указывают на определённыеобласти памяти. Каждый сегментный регистр имеет длину 16 разрядов, а в то же время для адресации любого места нашей памяти необходимо, как мы уже говорили, 20 разрядов. Для того чтобысегмент мог указывать на некоторое место оперативной памяти, адрес начала сегмента получаетсяпосле умножения значения сегментного регистра на число 16.

Правда, как легко понять, при такомспособе задания начала сегмента, он может начинаться не с любого места оперативной памяти, атолько с адресов, кратных 16 (в некоторых книгах по Ассемблеру такие участки памяти называютсяпараграфами).Итак, производить обмен с памятью можно только относительно одного из них этих сегментныхрегистров. Таким образом, физический адрес числа или команды вычисляется центральным процессором по формулеAфиз := (SEG*16 + A)mod 220,где SEG – значение сегментного регистра, а A –заданное в команде смещение.

Физический адрес берётся по модулю 220, чтобы он не вышел за максимальный адрес памяти.В качестве мнемонических обозначений сегментных регистров выбраны следующие двухбуквенные служебные имена: кодовый сегментный регистр (CS), сегментный регистр данных (DS),сегментный регистр стека (SS) и дополнительный сегментный регистр (ES). Эти имена (как и именавсех остальных регистров нашей ЭВМ) являются служебными в языке Ассемблера.

Напомним, чтослужебные имена нельзя использовать ни в каком другом смысле, кроме того, который определён вязыке.Смысл названий регистров скоро проясниться. Каждый из этих регистров может адресовать сегмент памяти длиной от 1 до 216 байт (напомним, что вся память состоит из 220 ячеек), при этом "настоящая" длина сегмента известна только программисту. Так как физический адрес в приведённойвыше формуле берётся по модулю 220, то, очевидно, что память, как и в нашей учебной ЭВМ,"замкнута в кольцо".

Другими словами, в одном сегменте могут находиться ячейки с самыми боль-1Для любознательных читателей отметим, что, например, в семейства ЭВМ IBM-360/370, которые началивыпускать свою первую модель позже, чем в нашем семействе, уже принят "естественный" для программистаформат целого числа, где крайний левый бит задаёт знак числа, а затем записывается прямой код модуля числа.7шими и самыми маленькими адресами основной памяти.

На рис. 6.1 показан пример расположениясегментов в памяти.Стоит отметить, что сегментные регистры являются специализированными,предназначенными только для хранения адресов сегментов, поэтому арифметиче- DSские операции (сложение, вычитание и др.) над их содержимым в языке машиныне предусмотрены.Заметим, что даже если все сегменты не перекрываются и имеют максималь- CSный размер, то и в этом случае центральный процессор в каждый момент времениимеет доступ только к одной четвёртой от общего объёма оперативной памяти.SS6.6. Мнемонические обозначения регистровВ силу того, что в ЭВМ все регистры имеют безликие двоичные обозначения,программисты предпочитают использовать в своих программах на Ассемблеремнемонические названия регистров. Регистры общего назначения, каждый из которых может складывать, вычитать и просто хранить данные, а некоторые – ещёумножать и делить, обозначают следующими служебными именами: AX, BX, CX,DX.

Для обеспечения многообразия форматов данных каждый из них разбит на двечасти по 8 бит. Биты нумеруются немного непривычно справа налево, начиная снуля, такая нумерация естественна для записи чисел: последняя двоичная цифра вчисле задаёт младший разряд этого числа (с показателем основания в нулевой степени:15AXBXCXDX7AHBHCHDHESРис. 6.1. Примерположения сегментов в памяти.0ALBLCLDL16 битКаждый из регистров AH, AL, BH, BL, CH, CL, DH и DL может быть использован в машинных командах как самостоятельный регистр, на них можно выполнять операции сложения и вычитания.

Вдальнейшем условное обозначение r8 мы будем использовать для обозначения любого короткого (8разрядного) адресуемого регистра.Существуют также четыре регистра с именами SI, DI, SP и BP, которые также могут использоваться для проведения сложения и вычитания, но они уже не делятся на половинки:150SIDISPBP16 битВ основном эти четыре регистра используются как индексные, т.е.

на них обычно храниться положение конкретного элемента в некотором массиве. Условное обозначение r16 будем использоватьдля указания любого из регистров AX, BX, CX, DX, SI, DI, SP и BP.Кроме перечисленных выше регистров программист имеет дело с регистром IP (instructionpointer), который называется счётчиком адреса (в учебной машине мы обозначали его как RA).

Этотрегистр содержит адрес следующей исполняемой команды (точнее, содержит смещение этой команды относительно начала кодового сегмента, адрес начала этого сегмента равен значению сегментного регистра CS, умноженному на 16).16 битIPИ, наконец, как уже упоминалось, архитектурой изучаемой ЭВМ предусмотрен регистр флагов сименем FLAGS. Он содержит шестнадцать одноразрядных флагов, например, ранее упоминавшиеся8флаги CF и OF. Конкретные номера битов, содержащих тот или иной флаг, для понимания архитектуры несущественны, и приводиться здесь не будут.

Заметим также, что эти номера нам не надо будет знать и при программировании на языке Ассемблера.16 битFLAGSCFOF………Как уже показывалось на рисунках, все биты в регистрах пронумерованы справа налево: в шестнадцатибитных – от 0 до 15, в восьмибитных – от 0 до 7. Как и в Паскале, в языке Ассемблера принято такое же соглашение по семантике всех имён: большие и маленькие буквы не различается. Таким образом, имена можно писать как заглавными, так и прописными буквами, например, именаAX,Ax,aX и ax обозначают в нашем языке Ассемблера один и тот же регистр.Рассмотрим теперь особенности хранения чисел в регистровой и основной памяти ЭВМ. Запишем, например, шестнадцатеричное число 1234h в какой-нибудь 16-тиразрядный регистр (каждаяшестнадцатеричная цифра занимает по 4 бита):1 2 3 4Теперь перешлём машинной командой содержимое этого регистра в память в ячейки с адресами,например, 100 и 101.

Так вот: в ячейку с первым (старшим) адресом 100 при такой пересылке запишется число из младшего байта регистра 34h, а в ячейку со вторым (младшим) адресом 101 запишется число из первого (старшего) байта регистр 12h. Говорят, что целое число представлено восновной памяти (в отличие от регистров) в перевёрнутом виде. Это связано с тем, что в младшихмоделях ЭВМ при каждом обращении к памяти в центральный процессор читался всего один байт.Таким образом, для того, чтобы считать двухбайтное целое число, было необходимо дважды обратиться к памяти, поэтому было удобно (например, для проведения операция сложения "в столбик")получать из памяти сначала младшие цифры числа, а затем – старшие.

В современной архитектуре заодно обращение из памяти получают сразу 8, 16 и бóльшее число байт, но из-за совместимости моделей семейства пришлось оставить перевёрнутое представление чисел, что, конечно, весьма неудобно для программистов. Заметим, что в отличие от чисел, команды хранятся в памяти в обычном(не перевернутом) виде.6.7. Структура командТеперь рассмотрим структуру машинных команд самых распространённых форматов регистррегистр (RR) и регистр-память (RX). Формат регистр–регистр.6 битКОП1 бит1 бит2 бита3 бита3 битаw11R1R2dКоманды этого формата занимают в памяти 2 байта. Первое поле команды – код операции – занимает 6 первых бит, что позволяет задавать до 64 различных операций. Далее следуют однобитныеполя с именами d и w, где d – так называемый бит направления, а w – бит размера аргумента, последующие два бита для этого формата всегда равны 11, а последние две части (по 3 бита каждая)задают номера регистров-операндов команды.Стоит подробнее рассмотреть назначение битов d и w.

Бит d задаёт направление выполнениякоманды, а именно:<R1> := <R1>  <R2> при d = 0<R2> := <R2>  <R1> при d = 1.Для формата регистр-регистр этот бит не имеет большого значения, так как программист всегдаможет поменять в команде регистры первого и второго операнда местами, однако для формата регистр-память этот бит очень важен, так как может превращать формат регистр-память (RX) в форматпамять-регистр (XR). Именно поэтому в форматах команд указывается только один вид RX.Бит w задаёт размер регистров-операндов, а соответствие двоичных номеров регистров и ихимён можно определить по таблице 6.1.9Таблица 6.1r1,2000001010011100101110111w = 1AXCXDXBXSPBPSIDIw = 0ALCLDLBLAHCHDHBHВ младших моделях ЭВМ нашего семейства в таком формате возможна работа лишь с упомянутыми в таблице регистрами.

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

операции над регистрами разной длины запрещены, например,команды типа add AL,BX являются неправильными. Исходя из этого, для проведения операций надчислами разной длины появляется необходимость преобразования типов из короткого целого вдлинное, и из длинного в сверхдлинное (и наоборот). Такое преобразование, как можно (и нужно!)понять, зависит от знаковой или беззнаковой трактовки числа.Беззнаковое число всегда расширяется из короткого формата в более длинный приписываниемслева двоичных нулей, а для знакового числа слева размножается его знаковый (крайний слева) бит.Таким образом, Вам необходимо понять, что для знаковых чисел незначащими левыми двоичнымицифрами будут 0 для неотрицательных и 1 для отрицательных значений. Для преобразования знаковых целых чисел из более короткого формата в более длинный в языке машины предусмотрены безадресные команды, имеющие в Ассемблере такую мнемонику:cbw(convert byte to word)иcwd(convert word to double),которые производят знаковое расширение соответственно значения регистра AL до AX и AX до значения пары регистров <DX,AX> (так называемой регистровой пары), которые в этом случае рассматриваются как один длинный 32-х битный регистр.Преобразование целого значения из более длинного формата в более короткий (усечение) производится путём отбрасывания соответствующего числа левых битов целого числа.

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