загрузка...
загрузка...
На головну

Скорочення витрат часу при роботі з процедурами

Найбільше час в програмах, написаних на МВР, витрачається на виклики процедур і повернення з них. Пов'язано це зі створенням і обробкою великого числа локальних змінних і констант. Одним з механізмів для боротьби з цим ефектом є реєстрові вікна. Головне їхнє завдання - спростити і прискорити передачу параметрів від викликає процедури до спричиненої і назад.


 Регістровий файл розбивається на групи регістрів, звані вікнами. Окреме вікно призначається глобальних змінних. Глобальні регістри доступні всім процедурам, виконуваним в системі в будь-який час. Кожній процедурі виділяється окреме вікно в регістровому файлі. Всі вікна мають однаковий розмір (зазвичай по 32 регістра) і складаються з трьох полів. Ліве поле кожного реєстрового вікна одночасно є і правим полем попереднього вікна (рис. 4.2). Середнє поле служить для зберігання локальних змінних і констант процедури.

RISC-процесори ефективні в тих областях застосування, в яких можна продуктивно використовувати структурні способи зменшення часу доступу до оперативної пам'яті. Якщо програма генерує довільні послідовності адрес звернення до пам'яті і кожна одиниця даних використовується тільки для виконання однієї команди, то фактично продуктивність процесора визначається часом звернення до основної пам'яті. У цьому випадку використання скороченого набору команд лише погіршує ефективність, т. К. Вимагає пересилання операндів між пам'яттю і регістром замість виконання команд «пам'ять-пам'ять».

RISC-архітектурою мають мікропроцесори RISC I, RISC II і MIPS (їх архітектуру називають «класичною»), а також PA-8000, Alpha 2106x, Power PC, R10000 (Rxxxxx) (Це універсальні процесори), мікропроцесори обробки сигналів TMS 32C1x, ADSP21xx, DSP 560xx і трансп'ютерів (T-2, T-4, T-8, T9000).

При розвитку мікропроцесорів намагаються зберегти спадкоємність програмного забезпечення та підвищити продуктивність, що суперечить одне одному. Процесори з системою команд х86, що відносяться до класу CISC-процесорів, мають більш низькі тактові частоти в порівнянні з RISC-процесорами. Внаслідок цього компанії NexGen, AMD і Intel в своїх останніх розробках універсальних процесорів застосували наступний підхід. У мікропроцесор з CISC-системою команд вбудовується апаратний транслятор, що перетворює команди x86, в команди RISC-процесора. При цьому одна команда х86 може породжувати до 4-х команд RISC-процесора. До таких процесорам відносяться наступні: К5 і К6 фірми AMD (RISC 86 - NexGen), Pentium Pro і Pentium II фірми Intel.

Запобігання конфліктам між командами при конвейеризации команд. «-- попередня | наступна --» мікропроцесор R10000
загрузка...
© om.net.ua