
- •Мови, рівні і віртуальні машини
- •Сучасні багаторівневі машини
- •Поняття архітектури пк
- •1.4. Розвиток комп’ютерної архітектури
- •Розвиток багаторівневих машин
- •Типи сучасних еом
- •Питання до лекції
- •2.1. Принципи розробки сучасних комп'ютерів
- •2.2. Паралелізм на рівні команд
- •2.3. Конвеєри
- •2.4. Суперскалярні архітектури
- •2.5. Паралелізм на рівні процесорів
- •2.6. Векторні комп'ютери
- •Блок управління
- •2.7. Мультипроцессори
- •2.8. Мультикомпьютери
- •Питання до лекції
- •3. Основи комп’ютерної організації : пам’ять
- •3.1. Ієрархічна структура пам'яті
- •3.2. Загальні відомості про пам'ять
- •3.4. Методи звертання до пам'яті
- •3.5. Модулі пам'яті
- •3.6. Ряди і банки пам'яті
- •3.8. Код з виправленням помилок
- •3. 9. Скільки потрібно пам'яті
- •Питання до лекції
- •4. Цифровий рівень побудови ом
- •4.1. Вентилі і булева алгебра
- •4.2. Булева алгебра
- •4.3. Реалізація булевих функцій
- •4.4. Еквівалентність схем
- •Основні цифрові логічні схеми Інтегральні схеми
- •4.5. Комбінаційні схеми
- •3 Входи і 8 виходів
- •4.6. Арифметичні схеми.
- •4.7. Тактові генератори
- •Питання до лекції
- •Цифровий рівень побудови ом.
- •5. Цифровий логічний рівень архітектури: пам’ять, мікропроцесори
- •5.2. Синхронні sr-защіпки
- •5.3. Синхронні d-защіпки
- •5.4. Тригери (flip-flops)
- •5.5. Регістри
- •5.6. Організація пам'яті
- •Тригер (б)
- •Кожний ряд представляє одне з 3-бітних слів. При операції зчитування і запису завжди зчитується або записується ціле слово
- •5.7. Мікросхеми пам'яті
- •5.9. Мікросхеми процесорів
- •Стрілочки указують вхідні і вихідні сигнали. Короткі діагональні лінії вказують на наявність декількох висновків.
- •Питання до лекції
- •6. Шини
- •6.1. Ширина шини
- •6.2. Синхронізація шини
- •6.3. Синхронні шини
- •6.5. Асинхронні шини
- •6.6. Арбітраж шини
- •6.7. Принципи роботи шини
- •Питання до лекції
- •7. Мікроархітектурний рівень
- •7.1. Приклад мікроархітектури
- •7.2. Тракт даних
- •В цьому розділі
- •Табліця 7.1. Деякі комбінації сигналів аллу і відповідні їм функції
- •7.3. Синхронізація тракту даних
- •7.4. Робота пам'яті.
- •7.5. Мікрокоманди
- •7.6. Управління мікрокомандами: Mic-1
- •7.7. Приклад архітектури команд: ijvm
- •7.8. Модель пам'яті ijvm
- •Питання до лекції
- •8. Рівень архітектури команд
- •8.1. Моделі пам'яті
- •8.2. Загальний огляд рівня архітектури команд
- •8.3. Властивості рівня команд
- •8.4. Регістри
- •8.5. Команди
- •8.6. Загальний огляд рівня команд машини Pentium II
- •8.8. Загальний огляд рівня команд системи ultrasparc II
- •8.9. Загальний огляд віртуальної машини Java
- •8.10. Типи даних
- •8.11. Числові типи даних
- •8.12. Нечислові типи даних
- •8.13. Типи даних процесора Pentium II
- •Підтримувані типи відмічені хрестом (х)
- •8.14. Типи даних машини UltraSparc II
- •8.16. Типи даних віртуальної машини Java
- •8.17. Формати команд
- •Питання до лекції
- •9. Адресація
- •9.1. Способи адресації
- •9.2. Безпосередня адресація
- •9.3. Пряма адресація
- •9.4. Регістрова адресація
- •9.5. Непряма регістрова адресація
- •Лістинг 9.1 - Програма на асемблері для обрахунку суми елементів масиву.
- •9.6. Індексна адресація
- •Листинг 9.2. Програма на мові асемблера для обчислення операції або від (Аі і Ві ) для масиву з 1024 елементів.
- •9.7. Відносна індексна адресація
- •9.8. Стекова адресація
- •9.9. Зворотній польський запис
- •9.10. Обчислення формул в зворотнім польськім записі
- •Питання до лекції
8.12. Нечислові типи даних
Хоча найперші комп'ютери працювали в основному з числами, сучасні комп’ютери часто використовуються для нечислових додатків, наприклад, для обробки текстів або управління базою даних. Для цих додатків потрібні інші, нечислові, типи даних. Вони часто підтримуються командами рівня архітектури команд. Тут дуже важливі символи, хоча не кожен комп'ютер забезпечує апаратну підтримку для них. Найбільш поширеними символьними кодами є ASCII і UNICODE. Вони підтримують 7-бітні і 16-бітові символи відповідно. Ці коди обговорювалися у розділі 2.
На рівні команд часто є особливі команди, призначені для операцій з ланцюжками символів. Ці ланцюжки іноді розмежовуються спеціальним символом в кінці. Натомість для визначення кінця ланцюжка може використовуватися поле довжини ланцюжка. Команди можуть виконувати копіювання, пошук, редагування ланцюжків і інші дії.
Крім того, важливі значення булевої алгебри. Цих значень два: істина і брехня. Теоретично булеве значення може представляти один біт: 0 — брехня, а 1 — істина (або навпаки). На практиці ж використовується байт або слово, оскільки окремі біти в байті не мають власних адрес, і отже, до них важко звертатися. У звичайних системах застосовується наступна угода: 0 означає брехню, а все інше означає істину.
Єдина ситуація, в якій булеве значення представлено 1 бітом, — це коли є цілий масив бітів і 32-бітове слово може містити 32 булевих значення. Така структура даних називається бітовим відображенням. Вона зустрічається в різних контекстах. Наприклад, бітове відображення може використовуватися для того, щоб стежити за вільними блоками на диску. Якщо диск містить n блоків, тоді бітове відображення містить n бітів.
Останній тип даних — це покажчики, які представляють машинні адреси. Ми вже неодноразово розглядали покажчики. У машинах Mic-х: регістри SP, PC, LV і СРР — це приклади покажчиків. Доступ до змінної на фіксованій відстані від покажчика (а саме так працює команда ILOAD) широко застосовується на всіх машинах.
8.13. Типи даних процесора Pentium II
Pentium II підтримує двійкові цілі числа із знаком, цілі числа без знаку, числа двійково-десяткової системи числення і числа з плаваючою крапкою по стандарту IEEE 754 (табл. 8.2). Ця машина є 8-, 16-розрядною і оперує з цілими числами такої довжини. У неї є численні арифметичні команди, булеві операції і операції порівняння. Операнди необов'язково повинні бути вирівняні в пам'яті, але якщо адреси слів кратні 4 байтам, то спостерігається вища продуктивність.
Таблиця 8.2 - Числові типи даних процесора Pentium II.
Підтримувані типи відмічені хрестом (х)
ТИП |
8 бітів |
16 бітів |
32 біта |
64 біта |
128 бітів |
Цілі числа із знаком Цілі числа без знаку Двійково-десяткові цілі числа Числа з плаваючою крапкою |
х х х |
х х |
х х
х |
х |
|
Pentium II також може маніпулювати 8-розрядними символами ASCII: існують спеціальні команди для копіювання і пошуку ланцюжків символів. Ці команди використовуються і для ланцюжків, довжина яких відома наперед, і для ланцюжків, в кінці якого стоїть спеціальний маркер. Вони часто використовуються в бібліотеках операцій над рядками.