A few computers were built using "writable microcode" -- rather that storing the microcode in ROM or hard-wired logic, the microcode was stored in a RAM called a ''Writable COntrolControl Store'' or ''WCS''. Many of these machines were experimental laboratory prototypes, but there were also commercial machines that used writable microcode, such as early [[Xerox PARC|Xerox]] workstations, the [[Digital Equipment Corporation|DEC]] [[VAX]] 8800 ("Nautilus") family, and a number of [[IBM]] [[System/370]] implementations. Many more machines offered user-programmable writeable control stores as an option (including the [[HP]] [[HP 2100|2100]] and DEC [[PDP-11|PDP-11/60]] [[minicomputer]]s). WCS offered several advantages including the ease of patching the microprogram and, for certain hardware generations, faster access than ROMs could provide. User-programmable WCS allowed the user to optimize the machine for specific purposes.
A CPU that uses [[microcode]] generally takes several clock cycles to execute a single instruction, one clock cycle for each step in the microprogram for that instruction. Some [[CISC]] processors include instructions that can take a very long time to execute. Such variations in instruction length interfere with [[pipelining]] and [[interrupt]] [[latency]].