Регістровий файл - це

Система команд мікропроцесора (архітектура) практично завжди визначає набір регістрів, які будуть зберігати дані для обробки функціональними пристроями чіпа. У найпростіших процесорах такі архітектурні регістри відображаються один-в-один в фізичний регістровий файл. У більш складних ЦПУ використовується перейменування регістрів (register renaming), яке дозволяє динамічно змінювати відповідність між апаратними та архітектурними регістрами під час виконання.

Реалізація

Традиційно регістровий файл реалізується як масив запам'ятовуючих осередків, зчитування вертикально. Слова розташовані в горизонтальних рядках (word lines), і при читанні осередку видають своє значення на вертикальні бітові лінії (Bit lines). У нижній частині ці лінії підключені до підсилювачів, які перетворять сигнали з осередків, ослаблені при передачі, в булеві сигнали повної амплітуди. У лівій частині розташовані декодери, що активують рядок, відповідну замовленому регістру або регістрів. Великі реєстрові файли іноді організовуються як мозаїка з декількох відображених і повернених простіших реєстрових файлів.

Реєстрові файли містять по одному рядку слів на кожен порт, по одній бітової лінії на біт слова для кожного порту читання і по дві бітові лінії на біт слова для кожного порту записи. Також кожна клітинка повинна мати входи харчування Vdd і землі Vss. Отже, зі збільшенням кількості портів площа, необхідна під розведення зростає квадратично, а площа, яку займає транзисторами - лінійно. В якийсь момент, можливо, буде більш оптимально за площею або по затримках мати кілька реєстрових файлів з дублюється інформацією і половиною портів читання в кожному, ніж один великий регістровий файл відразу з усіма портами читання.

Наприклад, реєстровий файл в целочисленном АЛУ мікропроцесора MIPS R8000. має 9 портів читання, 4 порту записи, що містить 32 64-бітових регістра і реалізований на техпроцессе 0,7 мкм, має такі розміри, що добре помітний неозброєним оком навіть на відстані близько 30 см.

  • Декодер зазвичай розділений на предекодер і decoder proper.
  • Декодер є послідовністю елементів І (AND-gate), які виставляють лінії слів.
  • Для кожного порту читання або запису потрібно один декодер. Наприклад, якщо файл має 4 порти читання і 2 порту, в ньому буде 6 ліній слів в кожному осередку пам'яті в масиві і 6 елементів І (AND-gate) на кожен ряд в декодере.

Типовий регістровий файл з 3 портами, в якому можливе одночасне читання з 2 регістрів і запис в 1 регістр, складається з осередків схожих на зображену.

Базова схема бітової комірки:

  • Стан зберігається в парі інверторів.
  • Читання відбувається через транзистор NMOS на бітову лінію (транзистор відкривається лінією слів даного порту)
  • Дані записуються замиканням однієї чи іншої сторони на землю через два NMOS транзистора.

Отже, кожен порт читання вимагає один додатковий транзистор на кожну клітинку, порт записи вимагає 4 транзистора.

мікроархітектура

У багатьох реалізаціях реєстрових файлів немає спеціального захисту від спроб записи в одну і ті ж осередок відразу з декількох портів записи. Замість цього, апаратура планування інструкцій повинна гарантувати що на кожному такті не більше однієї інструкції буде проводити запис в будь-який осередок. Якщо ж заплановано кілька інструкцій, які пишуть в одну клітинку, то тільки одна з них повинна мати включеної лінію «write enable» (дозвіл запису).

Пара зустрічно включених інверторів вимагає деякого часу для стабілізації стану після початку операції записи, протягом якого читання з комірки або буде довшим або поверне сміття. Тому в багатьох реалізаціях вводяться прохідні (bypass) мультиплексори, які можуть замикати записуються дані безпосередньо на порти читання, коли відбувається одночасні запис і читання в один регістр. Ці прохідні мультиплексори часто є лише однією з частин більш складної мережі байпасів, яка пересилає результати безпосередньо між різними функціональними пристроями процесора, без очікування їх записи в регістри. (Тобто якщо на даному такті одне ФУ вимагає на вході дані, які є виходом іншого ФУ на попередньому такті, вони можуть бути переслані по байпасу, а не через запис і читання в регістровий файл, які можуть зажадати кілька тактів. Читання відбувається з байпасів, запис ж в регістр відбувається одночасно з роботою першого ФУ.)

Примітки

Технології цифрових процесорів

Дивитися що таке "Регістровий файл" в інших словниках:

Файл - Цей термін має також інші значення див. Файл (значення). Файл (англ. File) блок інформації на зовнішньому пристрої, що запам'ятовує комп'ютера, який має певний логічне представлення (починаючи від простої послідовності ... ... Вікіпедія

Регістрове вікно - Регістровий файл з чотирма регістровими вікнами Регістрове вікно один з методів організації роботи з регістрами процесора, метою якого є зниження накладних витрат н ... Вікіпедія

UltraSPARC - Процесор UltraSPARC UltraSPARC 64 бітний мікропроцесор, розроблений корпорацією Sun Microsystems і вироблений Texas Instruments, який використовує ... Вікіпедія

Позачергове виконання - (англ. Out of order execution) парадигма, що застосовується при розробці обчислювальних пристроїв, з метою підвищення продуктивності. Її особливість в тому, що інструкції надходять у виконавчі модулі не в порядку їх слідування, як ... Вікіпедія

Кеш процесора - Кеш мікропроцесора кеш (сверхоперативная пам'ять), який використовується мікропроцесором комп'ютера для зменшення середнього часу доступу до комп'ютерної пам'яті. Є одним з верхніх рівнів ієрархії пам'яті [1] ... Вікіпедія

Pentium 4 - <> Центральний процесор Виробництво ... Вікіпедія

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

  • Регістровий файл. Джессі Рассел. Ця книга буде виготовлена ​​в відповідності з Вашим замовленням за технологією Print-on-Demand. High Quality Content by WIKIPEDIA articles! Регістровий файл (register file) - модуль ... Детальніше Купити за +1125 руб

Схожі статті