RISC5

RISC5
Разработчик Никлаус Вирт
Разрядность 32
Тип RISC

RISC5архитектура набора команд виртуальной машины, разработанная швейцарским компьютерным учёным Никлаусом Виртом в Швейцарской высшей технической школе Цюриха (ETH Zurich). Архитектура была создана специально для поддержки языков программирования семейства Паскаль/Модула/Оберон и операционной системы Оберон.

История создания

RISC5 была разработана в конце 1980-х — начале 1990-х годов в рамках проекта Оберон под руководством Никлауса Вирта в ETH Zurich. Проект был частью исследований по созданию простой, элегантной и эффективной компьютерной системы, которая демонстрировала бы принципы хорошего дизайна как в аппаратном, так и в программном обеспечении[1].

Архитектура создавалась с учётом потребностей языков высокого уровня семейства Паскаль, включая сам Паскаль, Модула-2 и Оберон. Особое внимание уделялось поддержке структурного программирования и модульности — ключевых принципов, продвигаемых Виртом[2].

Архитектура

RISC-5 следует принципам RISC-архитектуры (Reduced Instruction Set Computer), предполагающим использование простого и регулярного набора команд.

Регистры

16 регистров общего назначения (R0-R15)

Регистр R15 используется как указатель стека

Регистр R14 часто используется как регистр связи (link register)

Система команд[3]

Все команды имеют фиксированную длину 32 бита

Простой и ортогональный набор команд

op Команда Действие Комментарий
1 MOV a, n R.a := n
2 LSL a, b, n R.a := R.b ← n shift left by n bits
3 ASR a, b, n R.a := R.b → n shift right by n bits with sign extension
4 ROR a, b, n R.a := R.b rot n rotate right by n bits
5 AND a, b, n R.a := R.b & n logical operations
6 ANN a, b, n R.a := R.b & ~n
7 IOR a, b, n R.a := R.b or n
8 XOR a, b, n R.a := R.b xor n
9 ADD a, b, n R.a := R.b + n integer arithmetic
10 SUB a, b, n R.a := R.b – n
11 MUL a, b, n R.a := R.a х n
12 DIV a, b, n R.a := R.b div n
13 FAD a, b, c R.a := R.b + R.c floating-point arithmetic
14 FSB a, b, c R.a := R.b – R.c
15 FML a, b, c R.a := R.a х R.c
16 FDV a, b, c R.a := R.b / R.c

при v = 0 extension of im with 16 zero bits

при v = 1 extension of im with 16 one bits

Формат F0
4 4 4 4 12 4
00u0 a b op c
Формат F1
4 4 4 4 16
01uv a b op imm

N := bit 31 of result. Hence, N indicates whether the result is negative.

Z := all bits of result zero. Z indicates whether the result is zero.

C := carry out bit. (For addition and subtraction only).

V := overflow. (For addition and subtraction only)

Команды загрузки и сохранения для работы с памятью

Команды условных и безусловных переходов

Адресация памяти

Простая модель памяти

Поддержка различных режимов адресации

Эффективная работа с массивами и структурами данных

Примечания

  1. Wirth, Niklaus. Digital Circuit Design for Computer Science Students. — Springer-Verlag, 1995.
  2. Wirth, Niklaus (1988). The Programming Language Oberon. Software: Practice and Experience. 18 (7): 671—690.
  3. Niklaus Wirth. The Design of a RISC Architecture and its Implementation with an FPGA (англ.). — 2015.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.