Git Product home page Git Product logo

riscv-glossary's People

Contributors

cmuellner avatar elisa-riscv avatar kersten1 avatar rpsene avatar wmat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

riscv-glossary's Issues

Add entries for extension name schemas

Extension name schemas: e.g. Z* for unpriv extensions, S* for priv extensions, Za* for atomics, Zb* for bitmanip stuff, Zv* for vector extensions, Zk* for crypto extensions, Sv* for Supervisor virtual memory extensions, Sh* for supervisor items, Sm* for Machine Mode extensions, and so on. I’m no expert on the schemas, so I would suggest working with Andrew Waterman to review the above.

Determine way of single sourcing the glossary entries

Rather than just linking to the glossary, would like to create a way to single source the entries. So that after we agree on a term, that term can be populated in the priv and unpriv (or populated FROM the priv and unpriv) to the glossary and to other stand alone documents. Could use the anchor name to pull in? Then we would have a single source of truth for defintions.

Add disambiguous entries

Disambiguation entries, sort of like what Wikipedia does, for things which have the same acronym. For example you have IMSIC as one acronym, but not the one from AIA: Incoming MSI Controller, which in the RISC-V world is arguably more important. Also PLIC is Platform-Level Interrupt Controller. Also RV is sometimes an abbreviation for RISC-V.

Bunch o'new terms

TSO for Total Store Ordering
All the misa letters (e.g. D for Double-precision FP, V for Vector, )
RV32E
RV64E
Hart — Hardware thread
binary16, binary32, binary64 — formats from IEEE 754
binary8p3, binary8p4, binary8p5 — formats proposed for IEEE standardization
AES — Advanced Encryption Standard
GCM — Galois Counter Mode
CBO — Cache Block Operation
Second Level Page Table — hypervisor page tables for supervisors
Indirect CSRs
BTB — Branch Target Buffer
Control Flow Integrity
CHERI — Capability Hardware Enhanced RISC Instructions
APLIC — Advanced Platform-Level Interrupt Controller
IPI — Interprocessor interrupts
IOMMU
IOPMP
Smmtt
SPMP
DMA — Direct Memory Access
ELF — Executable and Linkable Format
GOT — Global Offset Table
PLT — Program Linkage Table (aka Procedure Linkage Table)
NMI — Non-maskable Interrupt
Things from vector spec: SEW, VLEN, EEW, etc.
OoO — Out of Order
PC — Program Counter
QoS — Qualtify of Service
RTOS — Real-time Operating System
SIMD — Single Instruction Multiple Data
TEE — Trusted execution environment
Word — 32 bits
Doubleword — 64 bits
Shadow Stack
ulp — Unit in the Last Place https://en.wikipedia.org/wiki/Unit_in_the_last_place
COW — Copy on Write
CMODX — Concurrent Modification and Execution of Instructions
CoVE — Confidential VM Extension ABI for Confidential Computing
May-Be-Operations (MOPs)
Hints

Possible to remove?

ASLR — Address Space Layout Randomization
HBM — High-bandwidth Memory
HPC — High-performance Computing
ILP — Instruction Level Parallelism
LP64, ILP64 etc. — C/C++ data type size codes
NOC — Network on Chip
Acquire and Release — the paper Memory consistency and event ordering in scalable shared-memory multiprocessors by Gharachorloo et al
ROP — Return Oriented Programming

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.