Mikrokodo
Mikrokodo estas la nomo por kelkaj instrukcioj aŭ datumstrukturoj kiuj estas implikitaj en efektivigado de pli altnivela maŝinkodo en multaj procesoroj, precipe mikroprogramitaj. Mikrokodo estas en memoro, kiu estas tre rapide alirebla. Kiam maŝinnivela instrukcio devas esti efektivigita, mikrokodo diras al la procesoro kiuj elektronikaj cirkvitoj devas esti uzitaj. Kiam nova procesoro estas dezajnita, inĝeniero ankaŭ skribas la mikrokodon por la instrukcioj de maŝinkodo. Ĉi tio nomiĝas mikroprogramado, la rezulta kodo nomiĝas mikroprogramo.
En fruaj procesoroj, ĉiu instrukcio estis fikse kablita. Ĉi tio havis plurajn malavantaĝojn, la plej evidenta estas, ke korekti eraron en la dezajno de procesoro signifas, ke la procesoro devas esti anstataŭigita.[1] [2]
Ekzemplo
redaktiProcesoro devas adicii du valorojn, kiuj estas en registroj A kaj B.
- Agordu la ALU-n por adicio
- Metu la valoron de registro A sur unu enigon de la ALU
- Metu la valoron de registro B sur unu enigon de la ALU
- Post mallonga tempo, por ebligi la adicion, la rezulto devas esti kopiita en registron, kiu ankoraŭ ne estis uzata
- La valoro de tiu registro devas esti kopiita al registro A
- La sekva instrukcio devas esti prenita el memoro
Eroj 1-3, same kiel 5-6, povas esti kodigitaj kiel unu instrukcio. Eblas ankaŭ fikse kabligi la logikon necesan por ĉi tiu operacio. Ĉi tio havas la avantaĝon esti pli rapida, sed la malavantaĝon, ke ĝi ne plu permesas ŝanĝojn, kiuj eble estos bezonataj poste.
La koncepto de mikroprogramado estis evoluigita fare de Maurice Wilkes en 1951, uzante diodo-matricojn por la memorelemento.
Referencoj
redakti- ↑ Kent; James G. Williams. (1993-04-05) Encyclopedia of Computer Science and Technology: Volume 28 - Supplement 13: AerosPate Applications of Artificial Intelligence to Tree Structures (angle). ISBN 978-0-8247-2281-4.
- ↑ Fog, Agner. The microarchitecture of Intel, AMD and VIA CPUs. Technical University of Denmark (2017-05-02). Arkivita el la originalo je 2017-03-28. Alirita 2018-04-08.
Vidu ankaŭ
redaktiFonto
redaktiEn tiu ĉi artikolo estas uzita traduko de teksto el la artikolo Microcode en la baza angla Vikipedio.