===Writable stores===
Some computers wereare built using "writable microcode" — rather than storing the microcode in ROM or hard-wired logic, the microcode wasis stored in a RAM called a ''writable control store'' or ''WCS''. Such a computer is sometimes called a ''Writable Instruction Set Computer'' or ''WISC''.<ref>{{cite journal | url = http://www.ece.cmu.edu/~koopman/forth/rochester_87.pdf | title = Writable instruction set, stack oriented computers: The WISC Concept | journal = The Journal of Forth Application and Research | volume = 5 | issue = 1 | pages=49–71 | first = Philip | last = Koopman Jr. | date = 1987}}</ref> Many of these machines were experimental laboratory prototypes, such as the WISC CPU/16<ref>{{cite book | chapter-url = http://users.ece.cmu.edu/~koopman/stack_computers/sec4_2.html | chapter = Architecture of the WISC CPU/16 | title = Stack Computers: the new wave | url = https://users.ece.cmu.edu/~koopman/stack_computers/index.html | first = Philip | last = Koopman Jr. | date = 1989}}</ref> and the RTX 32P.<ref>{{cite book | chapter-url = http://users.ece.cmu.edu/~koopman/stack_computers/sec5_3.html | chapter = Architecture of the RTX 32P | title = Stack Computers: the new wave | url = https://users.ece.cmu.edu/~koopman/stack_computers/index.html | first = Philip | last = Koopman Jr. | date = 1989}}</ref>
The original [[IBM System/360|System/360]] models hadhave read-only control store, but later System/360, [[IBM System/370|System/370]] and successor models loadedload part or all of their microprograms from floppy disks or other [[Direct access storage device|DASD]] into a writable control store consisting of ultra-high speed [[random-access memory|random-access]] [[read–write memory]]. The System/370 architecture includedincludes a facility called '''Initial-Microprogram Load''' ('''IML''' or '''IMPL''')<ref>{{cite manual
| author = IBM
| title = IBM System/370 Principles of Operation
| pages = 98, 245
|mode=cs2
}}</ref> that couldcan be invoked from the console, as part of '''[[Power-on reset#Power-on reset on IBM mainframes|Power On Reset]]''' ('''POR''') or from another processor in a [[Tightly coupled system|tightly coupled]] [[multiprocessor]] complex. This permitted IBM to easily repair microprogramming defects in the field. Even when the majority of the control store is stored in ROM, computer vendors would often sell writable control store as an option, allowing the customers to customize the machine's microprogram. Other vendors, e.g., IBM, use the WCS to run microcode for emulator features<ref>{{cite manual
| author = IBM
| title = IBM System/360 Model 85 Functional Characteristics
}}</ref>
Other commercial machines that useduse writable microcode include the [[Burroughs Small Systems]] (1970s and 1980s), the Xerox processors in their [[Lisp machine]]s and [[Xerox Star]] workstations, the [[Digital Equipment Corporation|DEC]] [[VAX]] 8800 ("Nautilus") family, and the [[Symbolics]] L- and G-machines (1980s). Some DEC [[PDP-10]] machines storedstore their microcode in SRAM chips (about 80 bits wide x 2 Kwords), which wasis typically loaded on power-on through some other front-end CPU.<ref>{{Cite newsgroup|url=http://pdp10.nocrew.org/cpu/kl10-ucode.txt|title=Re: What was the size of Microcode in various machines|first=Eric|last=Smith|newsgroup=comp.arch|date=September 3, 2002}}</ref> Many more machines offeredoffer user-programmable writable control stores as an option (including the [[HP 2100]], DEC [[PDP-11|PDP-11/60]] and [[Varian Data Machines]] V-70 series [[minicomputer]]s).
The [[Mentec PDP-11#M11|Mentec M11]] and [[Mentec PDP-11#M1|Mentec M1]] storedstore its microcode in SRAM chips, loaded on power-on through another CPU.
The [[Data General Eclipse MV/8000]] ("Eagle") hadhas a SRAM writable control store, loaded on power-on through another CPU.<ref>{{cite web|author=Mark Smotherman|title=CPSC 330 / The Soul of a New Machine|url=http://www.cs.clemson.edu/~mark/330/eagle.html|quote=4096 x 75-bit SRAM writeable control store: 74-bit microinstruction with 1 parity bit (18 fields)}}</ref>
WCS offeredoffers several advantages including the ease of patching the microprogram and, for certain hardware generations, faster access than ROMs could provide. User-programmable WCS allowedallow the user to optimize the machine for specific purposes. However, it also had the disadvantage of making it harder to debug programs, and making it possible for malicious users to negatively affectingaffect the system and data.<ref>{{cite journal |last=McDowell |first=Charlie |date=1982 |title=Protection at the micromachine level |url=https://dl.acm.org/doi/pdf/10.1145/859520.859521 |journal=ACM SIGARCH Computer Architecture News |volume=10 |issue=1 |pages=5 |doi=10.1145/859520.859521 |access-date=2023-11-25}}</ref>
Some CPU designs compile the instruction set to a writable [[RAM]] or [[Flash memory|FLASH]] inside the CPU (such as the [[Rekursiv]] processor and the [[Imsys]] [[Cjip]]),<ref>{{cite web|url=http://cpushack.com/CPU/cpu7.html |title=Great Microprocessors of the Past and Present (V 13.4.0) |publisher=Cpushack.com |access-date=2010-04-26}}</ref> or an FPGA ([[reconfigurable computing]]).
|