Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Архітектурні вирішення 70х років



 

До принципових вирішень архітектури комп'ютера 70х років можна віднести такі відкриття:

1. Шини.

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

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

 

Особливості нововведення:

· у обміні беруть участь багато регістрів;

· інформація передається в будь-якому напрямі.

Оскільки джерелом інформації може бути тільки один регістр, а приймачем – багато, то виникла необхідність введення якогось роду протоколів, що повідомляють джерело, кому саме йде передача інформації. Багатобічна передача інформації стала причиною створення регістрів нової структури: регістри на 3 стани (а саме, буфери). Шини без буферів не існують. Об'єкт повинен підключатися через свій контроллер до шини. Оскільки приймачів може бути багато, виникають паралельні лінії (ланцюги). Тому, для усунення спотворень, з'являються буфери.

При побудові складної багатопроцесорної системи виникає питання про її відмовостійку. Оскільки вихід з ладу одного або двох елементів (наприклад, встановлення на них постійного нульового або одиничного потенціалу) приведе по ланцюгу до неправильної роботи системи.

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

2. Буфери.

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

 

3. Конвеєри (а саме його реалізація на мікрокомандному рівні).

Конвеєри – це принципово новий спосіб обробки інформації, при якому вона йде по блоках (можливо із зворотними зв'язками) послідовно.

Будь-який алгоритм, що вирішується на ЕОМ, можна розглянути як послідовність мікрокоманд, тобто тих дій, які виконуються за один такт роботи машини. Для підвищення швидкодії розробники прагнули розпаралелювати завдання, що поступають. Розпаралелювати завдання на рівні макро досить просто (оскільки висока вірогідність появи незалежних один від одного завдань), проте на рівні мікро – дуже складно. Ідея конвеєра виникла практично у всіх розвинених країнах одночасно.

Для вирішення одного завдання конвеєр повинен виконувати певну групу операцій. Тому виникла складність раціонального представлення алгоритму, від якого залежить і довжина конвеєра та інші його параметри.

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

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

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

Оскільки ЗУ працюють набагато повільніше за оперативну пам'ять, виникає проблема зупинки роботи конвеєра зважаючи на затримки читання даних для мікрокоманд. З метою хоч якось погасити втрати часу було ухвалено рішення читати відразу не одну команду, а декілька.

 

 




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

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.