АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Робота пам'яті

Наша машина може взаємодіяти з пам'яттю двома способами: через порт з послівною адресацією (32-бітовий) і через порт з байтовою адресацією (8-бітовий). Порт з послівною адресацією управляється двома регістрами: MAR (Memory Address Register — регістр адреси елементу пам'яті) і MDR (Memory Data Register — інформаційний регістр пам'яті), які показані на мал. 4.1. Порт з байтовою адресацією управляється регістром PC, який записує 1 байт в 8 молодших розрядів регістра MBR (Memory Buffer Register — буферний регістр пам'яті). Цей порт може прочитувати дані з пам'яті, але не може їх записувати в пам'ять. Кожний з цих регістрів, а також вся решта регістрів, зображених на мал. 7.1, запускається одним з сигналів управління. Біла стрілка під регістром указує на сигнал управління, який дозволяє передавати вихідний сигнал регістра на шину В. Регістр MAR не пов'язаний з шиною В, тому у нього немає сигналу дозволу. Біля регістра Н цього сигналу теж немає, оскільки він є єдиним можливим лівим входом АЛЛУ і тому завжди дозволений.

 

Не враховуються 32-бітний регістр MAR (вимірюється в словах)

32-бітна адресна шина (вимірюється в байтах)

 

Рис. 7.3. Розподілення бітів регістра MAR в адресній шині

 

Чорна стрілка під регістром указує на сигнал управління, який записує (тобто завантажує) регістр з шини С. Оскільки регістр MBR не може завантажуватися з шини С, у нього немає сигналу запису (та зате є два сигнали дозволу, про які мова піде нижчим).

Як вже було сказано вище, дані, лічені з пам'яті через 8-бітовий порт, зберігаються в 8-бітовому регістрі MBR. Цей регістр може бути скопійований на шину В двома способами: із знаком і без знаку. Коли потрібне значення без знаку, 32-бітове слово, що поміщається на шину В, містить значення MBR в молодших 8 бітах і нулі в решті 24 біт. Значення без знаку потрібні для індексації таблиць або для отримання цілого 16-бітового числа з двох послідовних байтів (без знаку) в потоці команд.

Інший спосіб перетворення 8-бітового регістра MBR в 32-бітове слово — розглядати його як значення із знаком між -128 і +127 і використовувати це значення для породження 32-бітового слова з тим же самим чисельним значенням. Це перетворення робиться шляхом дублювання знакового біта (найлівішого біта) регістра MBR у верхній 24 бітовій позиції шини В. Такий процес називається розширенням по знаку або знаковим розширенням. Якщо вибраний даний параметр, то або всі старші 24 біти приймуть значення 0, або всі вони приймуть значення 1, залежно від того, який найлівіший біт регістра MBR: 0 або 1.

У яке саме 32-бітове значення (із знаком або без знаку) перетвориться 8-бітове значення регістра MBR, визначається тим, який з двох сигналів управління (дві білі стрілки під регістром MBR на рис. 7.1) встановлений. Прямокутник, позначений на малюнку пунктиром, показує здатність 8-бітового регістра MBR діяти як джерело 32-бітових слів для шини В.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)