Det är min fria översättning från engelskans micro-code som bland annat används som term för de programalgoritmer som kontrollerar intern kommunikation i exempelvis mikroprocessorer. Implementering kan göras i hårdvaran och/eller i ett kommunikationsgränssnitt såsom BIOS.
Ordet maskinkod använder åtminstone jag som term för de instruktionsuppsättningar som blivit översätta av en kompilator/assemblator i ett högre lager för den specifika instruktionsuppsättning som den aktuella processorn stödjer utåt.
Även om de kan trampa på varandras tår i gränsnittet så innehåller "mikrokod" också algoritmer och instruktioner som inte är avsedda att anropas direkt av exempelvis operativsystemet eller drivrutinerna. Naturligtvis kan drivrutiner och OS gå "förbi" BIOS för direkt kommunikation med periferienheter via olika bussprotokoll men vad processorn anbelangar används endast de instruktioner och interrupt som processorarkitekturen stödjer.
Jag önskar att göra en åtskillnad mellan processorn instruktionsuppsättning som ändå kan uppfattas som relativt "högnivå" och de algoritmer som exempelvis styr timing i de interna lagren i CPU:n. Naturligtvis kommunicerar CPU:n via de olika bussarna på moderkortet och kan därför påverkas via modifiering av BIOS-programmet men i princip all viktig "micro-code" finns inuti CPU:n.
Dessutom betraktas delar av "mikrokod" som företagshemligheter (exempelvis hur cache logiken sköts på detaljnivå) En "enkel" matematisk algoritm kan ha tagit 10000-tals timmar att utveckla.
Som sammanfattning vill jag säga att maskinkod är i mina ögon "högnivå" och "mikrokod" huvudsakligen "lågnivå eller mycket lågnivå". Det förefaller då för mig som lämpligt att använda olika ord för dessa. Jag kan ha fel, och ändrar mig gärna om så är fallet.
PS:
Tackar för länken till Wikipedia. Skummade igenom texten. Jag verkar besitta en relevant definition av vad "mikrokod" respektive "maskinkod" är. Jag har haft programmering som passion i över 30 år nu. Däremot begränsas min "lågnivåprogrammeringserfarenhet" till kontrollprogram i assembler för enchipsdatorn på 80-talet.
Silikon borde rimligen heta kisel. Ursäkta svengelskan. Point taken.
Hare/PeSi