<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=CompactRISC</id>
	<title>CompactRISC - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=CompactRISC"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=CompactRISC&amp;action=history"/>
	<updated>2026-05-12T23:33:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=CompactRISC&amp;diff=5447980&amp;oldid=prev</id>
		<title>imported&gt;Citation bot: Altered url. URLs might have been anonymized. Add: archive-date, archive-url. | Use this bot. Report bugs. | Suggested by Josve05a | Linked from User:Josve05a/cite/wayback | #UCB_webform_linked 69/1451</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=CompactRISC&amp;diff=5447980&amp;oldid=prev"/>
		<updated>2025-09-26T19:04:55Z</updated>

		<summary type="html">&lt;p&gt;Altered url. URLs might have been anonymized. Add: archive-date, archive-url. | &lt;a href=&quot;/wiki143/index.php?title=En:WP:UCB&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:UCB (page does not exist)&quot;&gt;Use this bot&lt;/a&gt;. &lt;a href=&quot;/wiki143/index.php?title=En:WP:DBUG&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:WP:DBUG (page does not exist)&quot;&gt;Report bugs&lt;/a&gt;. | Suggested by Josve05a | Linked from User:Josve05a/cite/wayback | #UCB_webform_linked 69/1451&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:04, 26 September 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Load/store relative with medium 18-bit displacement (32-bit encoding, 2-bit opcode).&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Load/store relative with medium 18-bit displacement (32-bit encoding, 2-bit opcode).&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CR16C comes with a different opcode encoding format, has 23–32-bit-wide address registers and provides two 32-bit general purpose registers.&amp;lt;ref&amp;gt;{{cite web|url=https://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dump&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bitcheese&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;net&lt;/del&gt;/files/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;zujukix/Prog_16C&lt;/del&gt;.pdf|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;title&lt;/del&gt;=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;CR16C Programmer&#039;s Reference Manual&lt;/del&gt;}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CR16C comes with a different opcode encoding format, has 23–32-bit-wide address registers and provides two 32-bit general purpose registers.&amp;lt;ref&amp;gt;{{cite web |&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;title=CR16C Programmer&#039;s Reference Manual |url=http://www.national.com/appinfo/compactrisc/files/prog_16c.pdf |archive-&lt;/ins&gt;url=https://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;web&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;archive&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;org/web/20041029173013/http://www.national.com/appinfo/compactrisc&lt;/ins&gt;/files/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prog_16c&lt;/ins&gt;.pdf |&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;archive-date&lt;/ins&gt;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;29 October 2004 &lt;/ins&gt;}}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CR16 implements traps and interrupts. Implementations of CR16 has three-stage pipeline: fetch, decode, execute.&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CR16 implements traps and interrupts. Implementations of CR16 has three-stage pipeline: fetch, decode, execute.&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[https://web.archive.org/web/20060618230034/http://www.national.com/appinfo/compactrisc/ CompactRISC Core Architecture] page on  National Semiconductor website (archived copy from 2007)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[https://web.archive.org/web/20060618230034/http://www.national.com/appinfo/compactrisc/ CompactRISC Core Architecture] page on  National Semiconductor website (archived copy from 2007)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.eng.utah.edu/~cs3710/handouts/cr16.pdf CR16B Programmer’s Reference Manual],  National Semiconductor, 1997&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[http://www.eng.utah.edu/~cs3710/handouts/cr16.pdf CR16B Programmer’s Reference Manual],  National Semiconductor, 1997&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[https://gcc.gnu.org/onlinedocs/gcc/CR16-Options.html GCC CR16 port]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[https://gcc.gnu.org/onlinedocs&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/gcc-12.2.0&lt;/ins&gt;/gcc/CR16-Options.html GCC CR16 port]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Microcontrollers}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Microcontrollers}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Citation bot</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=CompactRISC&amp;diff=866870&amp;oldid=prev</id>
		<title>imported&gt;SimLibrarian at 02:49, 7 January 2024</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=CompactRISC&amp;diff=866870&amp;oldid=prev"/>
		<updated>2024-01-07T02:49:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Family of instruction set architectures}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CompactRISC&amp;#039;&amp;#039;&amp;#039; is a family of [[instruction set architecture]]s from [[National Semiconductor]].&lt;br /&gt;
The architectures are designed according to [[reduced instruction set computing]] principles, and are mainly used in [[microcontroller]]s.&amp;lt;ref name=cr16-utah-beyond&amp;gt;{{cite web|url=http://www.eng.utah.edu/~cs3710/slides/cr16x2.pdf|title=National Semiconductor CR16, Compact RISC Processor, Baseline ISA and Beyond|last=Brunvand|first=Erik |work=CS/EE 3710|publisher=University of Utah |accessdate=3 December 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
The subarchitectures of this family are the 16-bit &amp;#039;&amp;#039;&amp;#039;CR16&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;CR16C&amp;#039;&amp;#039;&amp;#039; and the 32-bit &amp;#039;&amp;#039;&amp;#039;CRX&amp;#039;&amp;#039;&amp;#039;.&amp;lt;ref&amp;gt;{{cite book|last=von Hagen|first=William |title=The Definitive Guide to GCC|publisher=Apress|date=2011|page=422|isbn=9781430202196|url=https://books.google.com/books?id=wQ6r3UTivJgC&amp;amp;q=national+cr16+crx&amp;amp;pg=PA422}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Architectures==&lt;br /&gt;
Features of CR16 family: compact implementations (less than 1 mm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; with [[250 nanometer|250&amp;amp;nbsp;nm]]), addressing of 2&amp;amp;nbsp;MB (2{{sup|21}}), frequencies up to 66&amp;amp;nbsp;MHz, hardware multiplier for 16-bit integers.&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It has complex instructions such as bit manipulation, saving/restoring and push/pop of several registers with single command.&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
* Register-to-register,&lt;br /&gt;
* Short 5-bit immediate value to register,&lt;br /&gt;
* Medium immediate of 16-bit value to register (32-bit encoding),&lt;br /&gt;
* Load/store relative with short 5-bit displacement (2-bit opcode),&lt;br /&gt;
* Load/store relative with medium 18-bit displacement (32-bit encoding, 2-bit opcode).&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CR16C comes with a different opcode encoding format, has 23–32-bit-wide address registers and provides two 32-bit general purpose registers.&amp;lt;ref&amp;gt;{{cite web|url=https://dump.bitcheese.net/files/zujukix/Prog_16C.pdf|title=CR16C Programmer&amp;#039;s Reference Manual}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CR16 implements traps and interrupts. Implementations of CR16 has three-stage pipeline: fetch, decode, execute.&amp;lt;ref name=cr16-utah-beyond/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CR16 products==&lt;br /&gt;
CR16 was used in several National Semiconductor microcontrollers, and since 2001 integrated microcontrollers were available having built-in flash memory.&amp;lt;ref&amp;gt;{{cite news|url=http://www.eetimes.com/document.asp?doc_id=1128340|title=National Semi&amp;#039;s 16-bit MCU integrates flash, analog|last= Graham|first=Jeanne |publisher=EETimes|accessdate=3 December 2016|date=2001-02-22}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news|url=http://www.eetimes.com/document.asp?doc_id=1290094|title=National&amp;#039;s 16-bit RISC MCU touts high-endurance flash|date=2001-03-13|publisher=EETimes|accessdate=3 December 2016}}&amp;lt;/ref&amp;gt; Since 2007 CR16-based IP was available to licensing&amp;lt;ref&amp;gt;{{cite news|url=http://www.eetimes.com/document.asp?doc_id=1240853|title=NatSemi taps IPextreme for embedded IP resale|last=Hammerschmidt|first=Christoph |date=2007-02-21|publisher=EETimes|accessdate=3 December 2016}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://microcontroller.com/National_Semiconductor_Embedded_Microcontrollers.htm National Semiconductor Embedded Microcontrollers] (CR16 and [[COP8]])&lt;br /&gt;
*[https://web.archive.org/web/20060618230034/http://www.national.com/appinfo/compactrisc/ CompactRISC Core Architecture] page on  National Semiconductor website (archived copy from 2007)&lt;br /&gt;
*[http://www.eng.utah.edu/~cs3710/handouts/cr16.pdf CR16B Programmer’s Reference Manual],  National Semiconductor, 1997&lt;br /&gt;
*[https://gcc.gnu.org/onlinedocs/gcc/CR16-Options.html GCC CR16 port]&lt;br /&gt;
&lt;br /&gt;
{{Microcontrollers}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Microcontrollers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{microcompu-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;SimLibrarian</name></author>
	</entry>
</feed>