Топ питань
Часова шкала
Чат
Перспективи

Архітектура load-store

З Вікіпедії, вільної енциклопедії

Remove ads

Архітектура load–store («завантажити—зберегти») — архітектура системи команд центрального процесора, у якій існує чіткий поділ інструкцій на дві категорії: команди доступу до оперативної пам'яті (такі як «зберегти значення з регістра за даною адресою», або «завантажити слово з даної адреси пам'яті у регістр»), і операції арифметико-логічного пристрою (які дозволяються лише між регістрами).[1]

Архітектури RISC-процесорів, таких як PowerPC, SPARC, RISC-V, ARM і MIPS є типовими представниками load–store архітектур.[1]

Архітектура load-store є більш «чистою» у розмежуванні інструкцій, яким дозволено доступ до пам'яті, у порівнянні, наприклад, з архітектурами типу «регістр+пам'ять», типових для CISC-процесорів. У останніх команди, де бере участь АЛП, дозволені на операндах, що є регістрами або адресами комірок пам'яті.

Найбільш раннім прикладом реалізації архітектури load-store є комп'ютер CDC 6600.[1]:54–56 Майже всі векторні процесори (включно з багатьма графічними процесорами) також побудовані навколо принципу load-store.[2][3]

Remove ads

Приклад: RISC-V

Наступний фрагмент програми ілюструє роботу інструкцій LW і SW у архітектурі RISC-V. Він зчитує 32-розрядне слово з адреси 0x40000001, додає до нього 4, і записує за адресою 0x50000005.

/*
 * Асемблювання: riscv64-linux-gnu-as example.S
 */
.equ MMIO1BASE, 0x40000000
.equ MMIO2BASE, 0x50000000

_start:
    li   a0, MMIO1BASE    # Базова адреса пристрою 1
    lw   s0, 1(a0)        # Зчитування комірки 1 пристрою 1 до регістра s0
    addi s0, s0, 4        # Арифметико-логічні операції дозволені лише з регістрами
    li   a1, MMIO2BASE    # Базова адреса іншого пристрою
    sw   s0, 5(a1)        # Запис комірки 5 пристрою 2
    wfi                   # Зупинка
Remove ads

Див. також

  • Архітектура «регістр+пам'ять»[en]

Джерела

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads