Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.АРХІТЕКТУРА.doc
Скачиваний:
12
Добавлен:
15.09.2019
Размер:
2.21 Mб
Скачать

5. Класифікація архітектури комп’ютера за складом системи команд. Складна та проста система команд. Доповнена система команд. Спеціалізована система команд.

Система команд — угода про надаваний архітектурою засобах програмування, а саме: певних типах данных, инструкций, системы регистров, методов адресации, моделей памяти, способів обробки прерываний і исключений, методів ввода и вывода.

Система команд представляється специфікацією відповідності (микро)команд наборам кодов (микро)операций, виконуваних при виклику команди, обумовлених (мікро)архітектурою системи. (При цьому, на системах з різної (мікро)архітектурою може бути реалізована та сама система команд. Наприклад, Intel Pentium і AMD Athlon мають майже ідентичні версії системи команд x86, але мають радикально різний внутрішній дизайн.)

Базовыми командами є, як правило, що випливають:

  • арифметические, наприклад «додавання» і «вирахування»;

  • битовые, наприклад «логічне й», «логічне або» і «логічне не»;

  • присваивание данных, наприклад «перемістити», «завантажити», «вивантажити»;

  • ввода-вывода, для обміну даними із зовнішніми пристроями;

  • управляющие инструкции, наприклад «перехід», «условный переход», «виклик подпрограммы», «повернення з підпрограми».

Оптимальними в різних ситуаціях є різні способи побудови системи команд.

  • Якщо об'єднати найбільше часто використовувану послідовність мікрооперацій під однією мікрокомандою, то треба буде забезпечувати менше мікрокоманд. Така побудова системи команд зветьсяCISC (Complex Instruction Set Computer), у розпорядженні є невелике число складених команд.

  • С іншої сторони, це об'єднання зменшує гнучкість системи команд. Варіант із найбільшою гнучкістю — наявність безлічі близьких до елементарних операцій команд. Це RISC (Reduced Instruction Set Computer), у розпорядженні є усічені, прості команди.

  • Ще більшу гнучкість системи команд можна одержати використовуючи MISC підхід, побудований на зменшенні кількості команд до мінімального й спрощенні обчислювального пристрою обробки цих команд.

7. Організація стекової пам’яті. Операції зі стеком. Машинне представлення стеку, черги стеку. Програмна модель стеку. Інфіксна й постфіксна форма представлення арифметичних виразів. Стекові процесори.

Стек – це упорядкована множина елементів даних, тільки один із яких може бути доступний при кожному зверненні. Доступний елемент називається множиною стека і розміщується в вершині стека. Кількість елементів в стеку (довжина стека) змінна. Елементи можуть добавлятися тільки в вершину стека і видаляються тільки з вершини стека, тому стек іноді називають магазинним стеком (pushdown list) і списком з дисципліною обслуговування в зворотному порядку (LIFO-list, last-in-first-out – останнім ввійшов, першим вийшов). Операція PUSH (заштовхує) добавляє новий елемент в вершину стека, а операція POP (виштовхує) видаляє елемент, який розміщений в вершині стека. В обох випадках вершина стека відповідно зміщується.

Для роботи зі стеком потрібно знати значення трьох адресів, які частіше всього зберігаються в регістрах процесора:

  • вказівник стека – містить адрес вершини стека (поточного верхнього елемента стека); якщо в стек добавляється новий елемент або із стека видаляється верхній елемент, значення вказівника відповідно збільшується або зменшується, тому в кожен момент часу він вказує на поточний верхній елемент;

  • адрес основи стека – містить адрес „дна” стека, тобто початковий адрес області пам’яті, виділений під стек. У випадку спроби виконати операцію POP, коли значення вказівника стека рівний адресу основи стека формується повідомлення про виникнення помилки;

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

Традиційно в більшості комп’ютерів основа стека розприділяється в області більших адрес виділеної області пам’яті і вказівник стека по мірі його заповнення зміщується в сторону менших адрес. Для прискорення операцій зі стеком два верхніх елемента зі стека іноді розміщують в регістрах процесора, як показано на рис. 2. В цьому випадку вказівник стека фактично містить адрес не верхнього, а третього елемента стека.

Форма представлення арифметичних виразів, які використовуються в математичній літературі називаються інфіксною (infix) формою. Основна її відмінність, це те що знак бінарної операції розміщується між операндами, тобто а+b. В склад виразів також входять дужки, які вказують на порядок виконання. Альтернативна форма запису виразу отримала назву постфіксної (postfix). В цій формі знак операції слідує за операндами. Наприклад:

a+b перетворюється в ab+

a+(b×c) перетворюється в abc×+

(a+b) ×c перетворюється в ab+c×

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

  1. Якщо елемент змінна або константа, то помістити його в стек.

  2. Якщо елемент – оператор (знак операції), то вилучити із стека два верхніх елемента, виконати з ними відповідну операцію і помістити його результат в стек.

Після того, як всі вирази буде оброблено таким способом, то в вершині стека сформується результат.

Послідовність зміни стану стека при обчисленні виразу показано на рис. 3.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]