Wikipedia

CompactRISC

(redirected from CR16)

CompactRISC is a family of instruction set architectures from National Semiconductor. The architectures are designed according to reduced instruction set computing principles, and are mainly used in microcontrollers.[1] The subarchitectures of this family are the 16-bit CR16 and CR16C and the 32-bit CRX.[2]

CR16 architectures

Features of CR16 family: compact implementations (less than 1 mm2 with 250nm), addressing of 2 MB (2^21), frequencies up to 66 MHz, hardware multiplier for 16-bit integers.[1]

It has complex instructions such as bit manipulation, saving/restoring and push/pop of several registers with single command.[1]

CR16 has 16 general purpose registers of 16 bits, and address registers of 21 bits wide. There are 8 special registers: program counter, interrupt stack pointer ISP, interrupt vector address register INTBASE, status register PSR, configuration register and 3 debug registers. Status register implements flags: C, T, L, F, Z, N, E, P, I.[1]

Instructions are encoded in two-address form in several formats, usually they have 16-bit encoding, but there are two formats for medium immediate instructions with length of 32-bit. Typical opcode length is 4 bits (bits 9-12 of most encoding types. Basic encoding formats are: Register-to-Register, Short 5-bit immediate value to Register, Medium immediate of 16-bit value to Register (32 bit encoding), Load/Store relative with short 5-bit displacement (2 bit opcode), Load/Store relative with medium 18-bit displacement (32 bit encoding, 2 bit opcode).[1] CR16C comes with a different opcode encoding format, has 23-32bits wide address registers and provides two 32bit general purpose registers.[3]

CR16 implements traps and interrupts. Implementations of CR16 has three-stage pipeline: Fetch, Decode, Execute.[1]

CR16 products

CR16 was used in several National Semiconductor microcontrollers, and since 2001 integrated microcontrollers were available having built-in flash memory.[4][5] Since 2007 CR16-based IP was available to licensing[6]

References

  1. ^ a b c d e f Brunvand, Erik. "National Semiconductor CR16, Compact RISC Processor, Baseline ISA and Beyond" (PDF). CS/EE 3710. University of Utah. Retrieved 3 December 2016.
  2. ^ von Hagen, William (2011). The Definitive Guide to GCC. Apress. p. 422. ISBN 9781430202196.
  3. ^ "CR16C Programmer's Reference Manual" (PDF).
  4. ^ Graham, Jeanne (2001-02-22). "National Semi's 16-bit MCU integrates flash, analog". EETimes. Retrieved 3 December 2016.
  5. ^ "National's 16-bit RISC MCU touts high-endurance flash". EETimes. 2001-03-13. Retrieved 3 December 2016.
  6. ^ Hammerschmidt, Christoph (2007-02-21). "NatSemi taps IPextreme for embedded IP resale". EETimes. Retrieved 3 December 2016.

External links


This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.