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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Архітектура 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]

Приклад: 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                   # Зупинка

Див. також[ред. | ред. код]

Джерела[ред. | ред. код]

  1. а б в Michael J. Flynn (1995). Computer architecture: pipelined and parallel processor design. с. 9-12. ISBN 0867202041.
  2. AMD GCN reference (PDF). Архів оригіналу (PDF) за 27 квітня 2021. Процитовано 27 лютого 2020.
  3. Harvey G. Cragon (1996). Memory systems and pipelined processors. с. 512—513. ISBN 0867204745.