ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6763
Скачиваний: 22
30
виведення. За складом системи команд комп'ютери можуть бути поділені на наступні типи: комп'ютери з складною (комплексною) системою команд, комп'ютери з простою (спрощеною) системою команд, комп'ютери з доповненою системою команд, комп'ютери з орієнтованою (спеціалізованою) системою команд.
Значна кількість типів архітектури комп'ютера може бути виділена залежно від організації його вузлів, а саме процесора, пам'яті і пристроїв введення-виведення. Наприклад, це можуть бути комп'ютери з паралельною та конвеєрною обробкою даних, з ієрархічною та лінійною пам'яттю і т. д.
Архітектура комп'ютера має визначальний вплив на його споживчі характеристики: коло вирішуваних на комп'ютері задач, продуктивність, ємність основної пам'яті, ємність зовнішньої пам'яті, вартість, організація технічного обслуговування, надійність і т. д.
Для вибору кращої з множини можливих варіантів архітектури комп'ютера потрібно знати зв'язок між архітектурою комп'ютера та його характеристиками, тобто як ті чи інші структурні особливості та організація роботи комп'ютера і його вузлів зв'язані з можливостями, які надаються користувачу, які є альтернативи при створенні комп'ютера і за якими критеріями повинні прийматися ті чи інші проектні рішення, як зв'язані між собою характеристики окремих пристроїв комп'ютера і який вплив вони мають на загальні його характеристики. А це саме ті питання, які є предметом даної книги.
1.3.2. Архітектурні принципи Джона фон Неймана
Описана в 1946 році Джоном фон Нейманом архітектура комп'ютера дістала назву його імені. Оскільки це був опис реалізованого Преспером Екертом та Джоном Моучлі універсального комп'ютера ЕNІАС, створеного в Принстонському університеті, часом її іще називають принстонською. Головні особливості архітектури комп'ютера Джона фон Неймана:
-
Інформація в комп'ютері ділиться на команди і дані.
-
Команди вказують комп'ютеру, які дії і над якими операндами виконувати.
-
Послідовність команд, за якою виконується алгоритм вирішення задачі, називають програмою.
-
Весь набір виконуваних комп'ютером команд називають системою команд комп'ютера.
-
Дані - це числа і закодовані символи, які використовуються командами як операн-ди. Одні команди для інших також можуть бути операндами.
-
Команди і дані представлено двійковим кодом.
-
Немає відмінностей в представленні команд і даних. Наприклад, двійкове число 100011011100 може бути як командою, так і даним.
-
Команди і дані зберігаються в одній пам'яті.
-
Команди і дані зберігаються в пам'яті за відповідними адресами.
-
Пам'ять мас довільну адресацію, тобто в кожному такті можна звернутися до довільної її комірки.
-
Пам'ять є лінійною. Її адресу кодують двійковим кодом, починаючи від молодшої, всі розряди якої рівні нулю (00...0), до старшої, всі розряди якої рівні одиниці (11 ...1).
В основу роботи цього комп'ютера покладено принцип програмного керування. Тобто функціонування цього комп'ютера здійснюється потактово за вказівкою команд про-
31
грами. Програма разом з даними, які підлягають обробці, спочатку записується до основної пам'яті. В кожному такті, залежно від типу архітектури комп'ютера, виконується команда або частина команди - мікрокоманда. Команда вказує тип виконуваної операції та місце розміщення операндів і результату операції. Для виконання однієї команди необхідно провести наступні дії: записати до програмного лічильника адресу команди, зчитати із основної пам'яті команду за вмістом програмного лічильника, провести дешифрування команди з метою її розпізнання, визначити адреси комірок пам'яті, в яких знаходяться операнди та до яких мають бути записані результати, зчитати ці операнди з пам'яті та подати в арифметико-логічний пристрій для опрацювання, виконати операцію над операндами та записати результати до основної пам'яті. Таким чином проводиться виконання всіх команд програми. По закінченню в основній пам'яті будуть знаходитися результати виконання програми.
Як буде видно далі, ці особливості характерні для більшості сучасних комп'ютерів.
1.3.3. Ненейманівські архітектури комп'ютерів
До цього часу більшість універсальних комп'ютерів будують за принципами архітектури Джона фон Неймана. Але недоліки цієї архітектури, пов'язані з закладеним в ній послідовним характером організації обчислень, ставлять перепони в пошуку шляхів побудови швидких комп'ютерних систем. Тому крім архітектури Джона фон Неймана за час існування комп'ютерної техніки було створено цілий ряд інших архітектур. До них, зокрема, належать гарвардська архітектура, асоціативна машина, машина потоків даних, редукційна машина. Було запропоновано покласти в якості обчислювальної парадигми нейронні мережі, в яких використана ідея з моделей мозку та генетичні алгоритми, в яких застосовані ідеї з біології та еволюції архітектури комп'ютерних мереж. Останнім часом багато уваги приділяється квантовим комп'ютерам, елементи яких працюють за законами квантової механіки, біологічним комп'ютерам, а також паралельним комп'ютерам, оскільки практично всі сьогоднішні комп'ютери є паралельними.
Коротко виділимо основні риси деяких з названих архітектур.
Гарвардська архітектура вперше була реалізована Ховардом Айкеном в комп'ютері Марк-1 в Гарварді. Вона передбачає розділення пам'яті на пам'ять даних і пам'ять команд. Тим самим розділяються шини передачі керуючої і оброблюваної інформації (рис. 1.9). При цьому підвищується продуктивність комп'ютера за рахунок суміщення в часі пересилання та обробки даних і команд.
Рис. 1.9. Ядро комп'ютера гарвардської архітектури, утворене процесором та пам'яттю команд і даних
32
Необхідність використання гарвардської архітектури можна пояснити так. Ядро комп'ютера Джона фон Неймана складається з процесора та основної пам'яті. Бажано, аби обидві компоненти ядра не пригальмовували одна одну, тобто працювали із рівною швидкодією. На практиці вузол пам'яті є значно (на порядок) повільнішим від процесора і цей розрив у швидкодії з прогресом інтегральних технологій лише зростає. Зменшити розрив можна структурними методами, збільшуючи розрядність інформаційного слова пам'яті. Саме цей підхід реалізує гарвардська архітектура з двома запам'ятовувальними пристроями. Зрозуміло, що тут паралельно виконуються операції вибирання команд програми, з одного боку, а з другого - вибирання та запис кодів даних і результатів обчислень.
Дуальна пристонсько-гарвардська архітектура. Швидкі комп'ютери гарвардської архітектури є складнішими щодо програмування порівняно з комп'ютерами принстон-ської архітектури. Зрозуміло, що бажано створити комп'ютер з дуальною архітектурою, яка водночас запозичує нову якість - швидкодію від гарвардської архітектури та стандартну парадигму розробки програм від принстонської архітектури. Злиття двох архітектур виконують на рівні кеш пам'яті шляхом її поділу на кеш даних та кеш команд (рис' 1.10). Злиттям архітектур програмісту надано зручність програмних технологій принстонської архітектури, а з боку процесора реалізовано гарвардську архітектуру, в результаті чого він значно менше пригальмовується з боку основної пам'яті.
Асоціативна машина передбачає маніпуляції з даними не відповідно до їх адрес, як це є в машині Джона фон Неймана, а відповідно до значення цих даних або їх частин. Базовими тут є операції пошуку і порівняння. Основою асоціативної архітектури є асоціативна пам'ять, яка забезпечує одночасний доступ до багатьох даних, в яких співпадають значення відповідних розрядів. Тим самим за рахунок високої паралельності обробки досягається висока продуктивність на класі операцій, для виконання яких ця машина є ефективною (зокрема, логічні операції, операції пошуку та сортування). Асоціативна машина є складовою практично кожного сучасного комп'ютера.
Машина потоків даних. Керування обчислювальним процесом в машині потоків даних здійснюється даними за їх готовністю до обробки. Кожне дане в такій машині має спеціальні ознаки. За цими ознаками пристрій керування знаходить дані, які готові до обробки, і передає їх в АЛП для виконання відповідних операцій. Тим самим тут за рахунок можливого паралельного аналізу та обробки даних досягається гранично ви-
33
сока продуктивність. Принципи машини потоків даних використовуються в багатьох сучасних високопродуктивних комп'ютерах.
Паралельні комп'ютерні системи. Перші паралельні комп'ютерні системи, до складу яких входило лише два процесори, були побудовані в кінці 60-х років минулого століття. В 70-х роках такі системи мали в своєму складі до 64-х процесорів, в 80-х роках - до 1000, а в кінці 90-х років фірма IBM анонсувала конструкцію суперкомп'ютера з паралельною архітектурою, який включав понад мільйон процесорів і на даний час є найпродуктивнішим у світі. Паралельна обробка інформації є ключовим напрямком побудови високопродуктивних комп'ютерних систем. Однак і паралельні комп'ютерні системи мають обмеження. По-перше, зі збільшенням кількості процесорів ускладнюється задача розподілу завдань між процесорами. Для її вирішення використовуються додаткові процесори, кількість яких може значно перевищувати кількість процесорів, зайнятих безпосередньо виконанням алгоритму. По-друге, послідовна природа багатьох алгоритмів обмежує прискорення, якого можна досягти, використовуючи багатопроцесорну організацію.
1.4. Типи сучасних комп'ютерів
Аналіз сфер використання комп'ютерів показує, що можна виділити два основних напрямки їх використання. Перший напрямок - це підсилення інтелектуальних можливостей людини в досить широкому розумінні цього поняття. Мається на увазі прискорення обчислень, зберігання великих об'ємів інформації, швидкий пошук та відображення необхідної інформації і т. д. Комп'ютери цього напрямку повинні мати велику ємність пам'яті, потужне програмне забезпечення, розвинуті засоби взаємодії з людиною.
Другий напрямок - це використання комп'ютера як елемента електротехнічної системи, наприклад, системи керування, інформаційно-вимірювальної системи, системи передачі даних і т. д. На рис. 1.11 показано приклад використання комп'ютера в складі системи керування. Тут параметри об'єкта керування знімаються давачами, перетворюються в цифрову форму за допомогою аналого-цифрових перетворювачів АЦП та подаються в комп'ютер. В комп'ютері здійснюється оцінка стану об'єкта керування та виробляється послідовність керуючих кодів, які в цифро-аналогових перетворювачах ЦАП перетворюються в аналогову форму та подаються на органи керування з метою забезпечення утримання параметрів об'єкта керування в заданих межах.