Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Структурна схема ЕОМ



Рисунок 2.5 – Структура ЕОМ.

Ефективне функціонування ЕОМ засноване на наступних принципах. Принцип збереженої в пам'яті програми: закодована програма зберігається в пам'яті разом з даними. Ті самі команди можуть потрібне число раз зчитуватися з пам'яті і виконуватися. Над командами як і над числами можуть виконуватися операції. Автоматичне керування процесом вирішення задачі досягається на основі принципу програмного керування. Алгоритм вирішення задачі визначає послідовність операцій, виконання якої над вихідними даними і проміжними результатами приводить до рішення. Опис алгоритму у формі, що прийнятна для ЕОМ, називається програмою. Програма складається з окремих команд. Кожна команда пропонує визначену дію і вказує над якими словами (операндами) ця дія вироконується. Команди закодовані в цифровій формі, для зручності сприйняття пристроями ЕОМ. Перед вирішенням задачі програма і вихідні дані розміщаються в оперативній пам'яті через пристрої введення (з перфострічок, перфокарт, магнітної стрічки, клавіатури, магнітних дисків) у закодованому вгляді. У ході обчислювального процесу з оперативної пам'яті зчитується код команди (здійснюється вибірка команди), по ньому визначається місцезнаходження даних, що повинні оброблятися, вони витягаються з пам'яті, процесор виконує зазначену в коді операцію і записує результат на збереження в пам'ять. Потім визначається місцезнаходження наступного коду команди і т.д.

2.8 Структура і типи команд.

Операція - перетворення інформації, що виконується під впливом однієї команди. Команда - код, що визначає операцію і дані, що беруть участь в операції. Команда містить у явній або неявній формі інформацію про адресу, по якій міститься результат операції, і про адресу наступної команди. Код команди в загальному випадку складається з операційної й адресної частин. Ці частини також можуть складатися з декількох полів (особливо адресна). Операційна частина містить код операції (Коп), що задає вид операції (додавання, множення, передача керування й ін.). Адресна частина команди містить інформацію про адреси операндів і результату операції, у деяких випадках інформацію про адресу наступної команди. Структура команди визначається складом, призначенням і розташуванням полів у команді.

Рисунок 2.6 – Структура команди

Формат команди - це структура команди з розміткою номерів розрядів (біт), що визначає межі окремих полів команди, або з указівкою числа біт у визначених полях. Спочатку команда складалася з п'яти полів (код операції і 4 адреси). Така команда містила в явному вигляді всю необхідну інформацію про операцію, що задається.

Рисунок 2.7 – Формат чотирьохадресної команди

Порядок вибірки команд при цьому називається примусовим. Коротку 4х адресну команду треба зберігати в 16 бітовому осередку пам'яті. Тоді під адресу приділяється 3 біти. (можна адресувати 23=8 осередків пам'яті). Сучасні мікроЕОМ адресують не менше 216 =65536 осередків. Тоді на всю команду потрібно 80 біт. Або прийдеться зберігати її в осередках пам'яті у вигляді окремих полів, або зменшувати число адресних полів команди. У сучасних ЕОМ чотирьохадресні команди практично не зустрічаються. Розвиток відбувався шляхом зменшення числа адресних полів команди. Можна установити, як це прийнято для більшості машин, що після виконання даної команди, яка розташована за адресою К і займає L осередків, виконується команда з (K+L) осередків. Такий порядок вибірки команд називається природним. Він порушується тільки спеціальними командами. У такому випадку відпадає необхідність вказувати в команді в явній формі адресу наступної команди.

Рисунок 2.8 – Формат трьохадресної команди

Такі команди також використовуються мало. Можна умовитися, що результат операції завжди міститься на місці одного з операндів. Для двохадресної команди адреса, за якою повинний бути розміщений результат збігається з адресою одного з операндів (для IBM PC з адресою першого з операндів). Найбільше поширення отримали в мікроЭВМ одноадресні і безадресні команди.

Рисунок 2.9 – Формат одноадресної команди

При цьому один з операндів вказується в команді адресою, а в якості іншого використовується зміст внутрішнього регістра процесора - регістра результату або акумулятора (регістр - пристрій для проміжного збереження двійкової інформації). Це викликано тим, що часто результат виконання попередньої операції використовується в наступної як операнд. Використання одноадресних команд дозволяє збільшити швидкодію, тому що зменшується число звернень процесора до оперативної пам'яті. Приклад: Додавання A=B+C+D+E за допомогою одноадресних команд.

Рисунок 2.10 – Додавання за допомогою одноадресної команди

Остання команда (останов) - безадресна. Безадресні команди (команди з неявною адресацією) використовуються при роботі зі стековою пам'яттю, з конкретними пристроями (акумулятором), тобто коли адреси обох операндів і результату припускаються.

Рисунок 2.11 – Формат безадресної команди

Висновки:

1) трьохадресні команди забезпечують мінімальний час обчислень.

2) одноадресні команди забезпечують мінімальні витрати пам'яті на представлення алгоритмів.

3) двохадресні команди по показниках ефективності займають проміжне положення між відповідними показниками 3-х і 1-но адресних команд. Однак, ці показники ефективності ще багато в чому залежать від алгоритмів. Для науково-технічних розрахунків більш економічні одноадресні команди, а при обробці даних - 2х адресні.

2.9 14 регістрів мікропроцесора Intel 8086

Мікропроцесор 8086 спроектований так, щоб одночасно виконувати інструкції (команди арифметичні, логічні й ін.), приймати наступні інструкції і звертатися до пам'яті. Це робиться за допомогою 16–розрядних регістрів.

Усього має місце 14 спеціалізованих регістрів. Intel 8086 -шістнадцятирозрядний мікропроцесор, тобто довжина його регістрів 16 розрядів (2 байти) і обмін даними, наприклад з оперативною пам'яттю, можливий тільки порціями по 16 розрядів.

Регістр – пристрій, призначений для проміжного збереження двійкової інформації в процесі виконання обчислювальних операцій, а також для її перетворення.

Register – у перекладі з англ. журнал записів або реєструвати.

    15 8   7 0  
AX (акумулятор) AH AL Арифметичні
BX (ваза) BH BL (робочі)
CX (лічильник) CH CL регістри
DX (дані) DH DL  
  15 0    
CS (сегмент коду)      
DS (сегмент даних)     Регістри
SS (сегмент стека)     сегментів
ES (додатковий сегмент)      
  15 0  
IP (вказівник команд)    
SP (вказівник стека)   Регістри
BP (вказівник бази)   зсуву
SI (вказівник джерела)    
DI (вказівник призначення)    
       
Прапори FLAGH FLAGL Регістр прапорів
  – 4-х розрядний регістр, у дійсності не існуючий.

Основний час при роботі комп'ютера витрачається на звернення до пам'яті. Якщо проміжні результати обчислень та операнди зберігати усередині процесора, то ефективність роботи програм зросте. Для цього служать 4 арифметичних регістри (робочі регістри).

АРИФМЕТИЧНІ РЕГІСТРИ позначаються AX, BX, CX, DX.

Ці регістри допускають довільне використання, тобто можуть містити як дані, так і адреси. Вони взаємозамінні, однак кожний має і деякі спеціальні функції:

AX (A ccumulate – акумулювати, накопичувати) – акумулятор, основний регістр, що використовується в арифметичних операціях.

BX (B ase – база, основа) – використовується для збереження адреси початку таблиці перекодування символів, для збереження зсуву при непрямій адресації.

CX (C ounter – лічильник) – лічильник числа повторень циклів і блокових пересилань.

DX (D ate – дані) – використовується у якості розширення акумулятора для операцій, що дають 32х розрядний результат.

Арифметичні регістри використовують також для передачі значень або адрес параметрів до підпрограм.

Кожний з арифметичних регістрів можна розглядати як пари восьмирозрядних (1 байт) регістрів, що адресуються незалежно. Старші половинки (H igh – високий) позначаються AH, BH, CH, DH, а молодші (L ow – низький) – AL, BL, CL, DL.

СЕГМЕНТНІ РЕГІСТРИ

Повна адреса пам'яті формується з адреси початку сегмента розміром 64 кілобайти і зсуву байта відносно початку цього сегмента.

Чотири сегментних регістри CS, DS, SS, ES зберігають початкові адреси чотирьох сегментів розміром 64 кілобайти.

CSC ode S egment – сегмент коду – зберігає адреса сегмента коду виконуваної програми.

DSD ata S egment – сегмент даних – указує на сегмент даних, що використовуються програмою.

SSS tack S egment – сегмент стека – указує на сегмент стека, область даних, яка призначена для тимчасового збереження параметрів і адрес, що використовуються програмою.

ESE xtra S egment - додатковий сегмент – дозволяє програмі працювати більш ніж з 64 Кбайт пам'яті одночасно. Цей регістр бере участь у міжсегментних пересиланнях даних.

Усі ці 4 регістри 16-розрядні, але їхній уміст зміщений на 4 розряди вліво стосовно інших регістрів.

РЕГІСТРИ ЗСУВУ

П'ять регістрів служать для точної вказівки адреси байта або слова відносно початку відповідного сегмента.

IPI nstruction P ointer – вказівник інструкції – указує на адресу наступної виконуваної інструкції в сегменті коду, що адресується за допомогою сегментного регістра CS. Цей регістр встановлюється автоматично засобами мікропроцесора і значення регістра IP не може бути явно отримано або змінене програмою. Однак є команди (наприклад безумовного переходу, виклику підпрограм), що неявно змінюють значення IP, зберігають його значення в стеку, відновлюють його значення зі стека.

Регістри SPS tack P ointer – вказівник стека
BPB ase P ointer – вказівник бази

містять зсув у сегменті стека. SP указує на вершину стека. BP використовується для фіксації положення стека у визначений момент часу, щоб потім адресуватися до даних, що розташовані у стеку.

Регістри SIS ourse I ndex – індекс джерела
DID estination I ndex – індекс призначення

використовуються для формування складних адрес.

РЕГІСТР ПРАПОРІВ

Значення його бітів встановлюються в залежності від результату виконання команди арифметико–логічним пристроєм, наприклад від результату арифметичної операції (позитивний, негативний або дорівнює нулю). Уміст цього регістра використовується для визначення подальшого порядку виконання програми.

У регістрі прапорів 9 прапорців:

1 – прапор установлений, виставлений

0 – прапор скинутий, очищений

CF – Прапор переносу. Переустановлюється в кожній операції додавання, віднімання.

NC – (0) – немає переносу (N o C arry)

CY – (1) – перенос (C arry Y es)

CY установлюється, якщо при додаванні (відніманні) з'являється 17-й біт рівний 1. Крім того, цей прапор містить останній висунутий біт при операції зсуву або циклічного зсуву.

ZF – Прапор нуля. Указує, чи не є результатом операції 0, або на рівність при порівнянні. Установлюється після кожної операції.

ZR – (1) – нуль (Z ero)

NZ – (0) – не нуль (N o Z ero)

SF – Прапор знака. Указує знак результату арифметичних операцій.

NG – (1) – мінус (N egative)

PL – (0) – плюс (P lus)

OF – Прапор переповнення. Указує на арифметичне переповнення.

OV – (1) – переповнення

NV – (0) – немає переповнення

PF – Прапор паритету (парності). Указує на парність числа одиниць у молодших 8 бітах даних

1 - парне число одиниць

0 - непарне число одиниць

AF – Допоміжний прапор переносу (зовнішній перенос). Указує на корегування, що необхідне при двійково-десяткових (BCD) арифметичних операціях.

Це 6 статусних прапорів (прапори стану), що відбивають результати арифметичних і логічних операцій. Три прапори, що залишилися - керуючі, тобто такі, що змінюють режими роботи процесора.

DF – Прапор напрямку – Керує напрямком уліво/вправо в операціях, що повторюються (пересилання строкових даних наприклад)

IF – Прапор переривань – Керує дозволом/забороною зовнішніх переривань.

TF – Прапор трасування (пастки). Керує однокроковими операціями (при використанні DEBUG), генеруючи програмні переривання наприкінці кожної команди.

Регістр прапорів має вигляд

                               
        OF DF IF TF SF ZF   AF   PF   CF

Сім біт у регістрі прапорів не використовуються.





Дата публикования: 2014-11-18; Прочитано: 2449 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...