This HTML5 document contains 324 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dbpedia-dahttp://da.dbpedia.org/resource/
dbthttp://dbpedia.org/resource/Template:
n24http://c2.com/cgi/
dbpedia-nohttp://no.dbpedia.org/resource/
n42https://web.archive.org/web/20170202042033/http:/www.microcorelabs.com/
dbpedia-svhttp://sv.dbpedia.org/resource/
wikipedia-enhttp://en.wikipedia.org/wiki/
n64http://domino.research.ibm.com/tchjr/journalindex.nsf/a3807c5b4823c53f85256561006324be/
dbrhttp://dbpedia.org/resource/
dbpedia-fihttp://fi.dbpedia.org/resource/
n54http://hy.dbpedia.org/resource/
n14http://dbpedia.org/resource/System/
dbpedia-hrhttp://hr.dbpedia.org/resource/
dbpedia-shhttp://sh.dbpedia.org/resource/
dbpedia-arhttp://ar.dbpedia.org/resource/
dbpedia-hehttp://he.dbpedia.org/resource/
n38http://www-03.ibm.com/ibm/history/exhibits/attic3/
n34http://www.cs.clemson.edu/~mark/
n65http://ml.dbpedia.org/resource/
n23http://doi.ieeecomputersociety.org/10.1109/
dbpedia-frhttp://fr.dbpedia.org/resource/
n46https://web.archive.org/web/20161103224205/http:/www.microcorelabs.com/
dctermshttp://purl.org/dc/terms/
rdfshttp://www.w3.org/2000/01/rdf-schema#
dbpedia-kkhttp://kk.dbpedia.org/resource/
n52http://people.cs.clemson.edu/~mark/
dbpedia-azhttp://az.dbpedia.org/resource/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
n67http://dbpedia.org/resource/Z/
n41http://www.microcorelabs.com/
n19https://web.archive.org/web/20030309102752/http:/www.eetimes.com/news/97/963news/
dbphttp://dbpedia.org/property/
n6http://www.research.ibm.com/journal/rd/102/
n4https://lists.debian.org/debian-user/2013/09/
xsdhhttp://www.w3.org/2001/XMLSchema#
dbpedia-ukhttp://uk.dbpedia.org/resource/
dbohttp://dbpedia.org/ontology/
dbpedia-srhttp://sr.dbpedia.org/resource/
dbpedia-jahttp://ja.dbpedia.org/resource/
dbchttp://dbpedia.org/resource/Category:
dbpedia-dehttp://de.dbpedia.org/resource/
dbpedia-plhttp://pl.dbpedia.org/resource/
n33http://dbpedia.org/resource/PL/
n39https://web.archive.org/web/20150907195925/http:/inertiawar.com/microcode/
n9http://dbpedia.org/resource/Star_Wars:
dbpedia-ruhttp://ru.dbpedia.org/resource/
wikidatahttp://www.wikidata.org/entity/
n44http://dbpedia.org/resource/Channel_I/
dbpedia-nlhttp://nl.dbpedia.org/resource/
n10https://ieeexplore.ieee.org/document/
n12https://global.dbpedia.org/id/
n49http://dbpedia.org/resource/IBM_System/
n48http://research.microsoft.com/~gbell/Computer_Structures_Principles_and_Examples/
dbpedia-ithttp://it.dbpedia.org/resource/
n17https://web.archive.org/web/20181221000146/http:/www.microcorelabs.com/
n63http://www.bitsavers.org/pdf/digitalScientific/
dbpedia-cahttp://ca.dbpedia.org/resource/
provhttp://www.w3.org/ns/prov#
n15http://dbpedia.org/resource/IBM_AS/
foafhttp://xmlns.com/foaf/0.1/
n27http://bs.dbpedia.org/resource/
dbpedia-simplehttp://simple.dbpedia.org/resource/
dbpedia-zhhttp://zh.dbpedia.org/resource/
n51http://dbpedia.org/resource/Data_General_Eclipse_MV/
dbpedia-kohttp://ko.dbpedia.org/resource/
dbpedia-trhttp://tr.dbpedia.org/resource/
dbpedia-fahttp://fa.dbpedia.org/resource/
n35https://archive.org/details/
dbpedia-eshttp://es.dbpedia.org/resource/
n30http://www.securiteam.com/securityreviews/
freebasehttp://rdf.freebase.com/ns/
owlhttp://www.w3.org/2002/07/owl#

Statements

Subject Item
dbr:Microcode
rdfs:label
Microcodi الكود المصغر 微程序 Microprogrammation Мікрокод Microcódigo Mikrocode Microprogrammazione Mikroprogram 마이크로코드 Microcode マイクロプログラム方式 Микрокод Mikroprogram Microcode
rdfs:comment
マイクロプログラム方式(マイクロプログラムほうしき、マイクロプログラミング、英:microprogramming)は、プロセッサの制御装置の実装手法のひとつであり、CPU内のマイクロプログラム(マイクロコード)を使用して、複雑な命令を比較的容易に実装する。 利点としては、オペレーティングシステムを含めたソフトウェアから見た場合のハードウェア(命令セットアーキテクチャ、ISA)を、容易に追加・拡張したり、あるいはプロセッサ間で標準化して互換性を高める、更には異なる命令セットのCPUのエミュレートにも応用可能である(仮想化技術のひとつともいえる)。 反面、複雑な命令の増加はパイプラインの効果が薄れる結果ともなりやすい。 一般にROM (Read Only Memory) またはPLA()、またはそれらを組み合わせたものに格納される。コントロールストアをRAMで構成すると、動的にプログラマブル可能にできるが起動時に読み込みが必要である。ROMにすれば読み込みは必要ないが、動的にプログラム可能という利点がなくなる。 マイクロプログラム方式は、主にCISCのCPUで採用されている。 マイクロプログラム方式に対し、論理ゲートとフリップフロップを配線でつなぎあわせて直接実装する方式はワイヤードロジック(布線論理)と呼ばれる。RISCは原則としてはワイヤードロジックで構築される。 마이크로프로그래밍(microprogramming, 이를테면 마이크로코드(microcode)의 기록)은 CPU 안에 기계어를 상대적으로 쉽게 추가할 수 있도록 이용하는 방식으로, 다른 방식들에 비해 하드웨어를 덜 사용한다. 이것은 매우 상세하면서도 기초가 되는 가장 낮은 수준의 루틴의 모임이며 이러한 루틴은 특정한 명령어를 수행하는 데 필요한 동작들을 제어하고 나열한다. 또, 이따금씩 이들을 해석하기도 한다. 그러므로 일련의 마이크로 명령어가 추가한 기계어는 인터프리터가 기계어를 사용하여 고급 프로그래밍 언어의 명령문을 추가하는 방식과 비슷하다고 볼 수 있다. 마이크로코드는 디자인 단계에서 일반적으로 CPU 기술자가 기록한다. 그러나 일반 프로그래머, 심지어는 어셈블리 프로그래머도 이를 보면서 바꿀 수 있다는 것을 뜻하지는 않는다. 왜냐하면 설계상 마이크로코드는 새로운 마이크로아키텍처가 만들어질 때마다 극적으로 바뀔 수 있기 때문이다. 기계어는 하위 호환성을 유지한다. 마이크로코드는 마이크로아키텍처가 다른 강력한 아키텍처를 에뮬레이트하는 데 사용해왔다. Un microcódigo o microprograma es el nombre de una serie de instrucciones o estructuras de datos implicados en la implementación de lenguaje máquina de nivel más alto en muchos procesadores , especialmente los microprogramados . El Microcódigo está almacenado en una memoria que es de acceso muy rápido. Mikroprogram, mikrokod – program implementujący listę rozkazów procesora. Podobnie jak język wysokiego poziomu jest kompilowany do kodu maszynowego, tak każdy rozkaz kodu maszynowego ma postać ciągu mikroinstrukcji nazywanego mikroprogramem lub mikrokodem. Elementy tworzące mikroprogram znajdują się na pojęciowo niższym poziomie niż instrukcje języka maszynowego (asemblera). Aby więc odróżnić je od elementów programowania niskopoziomowego, stosuje się przedrostek mikro-: mikroprogram, mikrokod, mikroinstrukcja, mikroasembler. Микроко́д — программа, реализующая набор инструкций процессора. Так же, как одна инструкция языка высокого уровня преобразуется в серию машинных инструкций, в процессоре, использующем микрокод, каждая машинная инструкция реализуется в виде серии микроинструкций — микропрограммы, микрокода. Микропрограммы состоят из серий микроинструкций, часто называемых элементарными операциями. Микроинструкции управляют процессором на самом низком уровне. Например, отдельная микроинструкция может содержать указание следующих действий: Мікропрограма (також мікрокод англ. microcode) — програма на спеціалізованій, апаратно-залежній мові програмування, що реалізує керування процесором в системах з мікропрограмним керуванням. Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови асемблера. З точки зору програміста ці інструкції є атомарними — у програміста відсутні можливості відслідкувати деталі виконання кожної з таких інструкцій. З точки ж зору роботи процесора — у випадку мікропрограмної архітектури — кожна з таких інструкцій виконує декілька більш примітивних операцій — мікрооперацій, — таких як завантаження і обробка команди та операндів, запис результату, встановлення признаку результату (коду завершення) тощо. In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal finite-state machine sequencing in many digital processing elements. Microcode is used in general-purpose central processing units, although in current desktop CPUs, it is only a fallback path for cases that the faster hardwired control unit cannot handle. La microprogrammation est une technique de réalisation du séquenceur d'un processeur, utilisé dans la technologie CISC, dans laquelle le comportement du séquenceur est décrit par le contenu d'une mémoire. Ce contenu est appelé microprogramme ou microcode. Il peut être vu comme un programme destiné à une machine très simple appelée micro-séquenceur ; le processeur final est alors considéré comme une machine virtuelle simulée par le micro-séquenceur. Par opposition la technologie RISC ne contient pas de microcode. La microprogrammazione è una tecnica utilizzata per l'implementazione dell'unità di controllo della CPU, il dispositivo in grado di controllare l'esecuzione di istruzioni in linguaggio macchina, di interpretare ogni istruzione in linguaggio macchina tramite una sequenza di micro-operazioni eseguite direttamente dall'hardware, e di generare nella giusta sequenza i segnali di controllo che provocano l'esecuzione di ogni operazione elementare. Essa cominciò ad avere successo alla fine degli anni cinquanta grazie a Maurice Wilkes. Un approccio differente a quello classico di Wilkes è stato oggetto dell'attività di Giovan Battista Gerace nello sviluppo della Calcolatrice Elettronica Pisana. Microcodi o microprograma és el nom d'una sèrie d'instruccions o estructures de dades implicats en la implementació de llenguatge màquina de nivell més alt en molts processadors, especialment els microprogramats. Microcodi està emmagatzemat en una memòria que és d'accés molt ràpid. Quan una instrucció de nivell de màquina ha de ser executada, el microcodi indica al processador quins circuits electrònics han de ser utilitzats. Quan s'ha dissenyat un nou processador, un enginyer també escriu el microcodi per a les instruccions de llenguatge màquina. Això s'anomena microprogramació, i el codi resultant s'anomena un microprograma. Der Mikrocode ist der Binärcode eines Mikrobefehls oder einer Mikrobefehlssequenz eines Mikroprogramms. Der Mikrocode kann als „Maschinensprache“ des Mikroprogrammsteuerwerks zum Steuern des Rechenwerks in einem Prozessor angesehen werden. In der Realität erlauben einige Prozessoren zum Zeitpunkt der Initialisierung das Überschreiben des bei der Fertigung festgelegten und in einem Festwertspeicher (Mikroprogrammspeicher) abgelegten Mikrocodes. Die Erzeugung von Mikrocode zur Steuerung einer virtuellen Recheneinheit wird mit dem Mikrocodesimulator MikroSim auf didaktische Weise vermittelt. Microcode is programmacode die door een CPU wordt uitgevoerd en die machinetaal interpreteert. Een CPU die microcode gebruikt (zoals Intels x86 serie) voert machinetaal niet direct in de hardware uit. In plaats daarvan wordt de machinetaal geïnterpreteerd door een microcodeprogramma, dat op zijn beurt wel direct door de hardware uitgevoerd wordt. Microcode wordt vooral gebruikt in processors die veel en complexe instructies hebben (CISC-processors). Het decoderen en uitvoeren van instructies is bij deze processors te complex om in de hardware te implementeren. الكود المصغر هي تقنية عتاد الكمبيوتر التي تفرض مترجمًا بين أجهزة وحدة المعالجة المركزية ومجموعة تعليمات المبرمج المرئية للكمبيوتر. على هذا النحو، فإن الكود المصغر هي طبقة من التعليمات على مستوى العتاد التي تقوم بتطبيق تعليمات لغة الآلة ذات المستوى الأعلى أو تسلسل أجهزة في العديد من عناصر المعالجة الرقمية. يتم استخدام الكود المصغر في وحدات المعالجة المركزية ذات الأغراض العامة، على الرغم من أنه في وحدات المعالجة المركزية (CPU) الحالية على سطح المكتب، لا يعدو ذلك سوى المسار الاحتياطي للحالات التي لا تستطيع وحدة التحكم (Control unit) الأسرع التعامل معها. Mikroprogram eller mikrokod implementerar CPU-instruktioner (maskininstruktioner). En processor kan tillverkas så att varje bit i en instruktion direkt styr en funktion i processorn. Vissa bitar anger vilka register som skall användas, vissa bitar hur minnet skall adresseras, vissa vilken operation det är frågan om, o.s.v. Eftersom alla kombinationer inte är meningsfulla kan man spara arbets- och cacheminne genom att en instruktion istället fungerar som en nyckel till ett minimalt program i sådan form, lagrat i processorhårdvaran. Maskinkodsinstruktionen behöver då inte ha en bit för varje av processorns funktioner och maskinkodsinstruktionen kan driva processorn i flera klockcykler. De minimala inbyggda programmen kallas mikroprogram eller mikrokod. 微指令(英語:microcode),又稱微碼,是在CISC結構下,執行一些功能複雜的指令時,所分解一系列相對簡單的指令。相關的概念最早在1947年開始出現。 微指令的作用是將與相關的電路實作分離,這樣一來機器指令可以更自由的進行設計與修改,而不用考慮到實際的電路架構。與其他方式比較起來,使用微指令架構可以在降低電路複雜度的同時,建構出複雜的多步驟機器指令。撰寫微指令一般稱為(microprogramming),而特定架構下的處理器實作中,微指令有時會稱為微程式(microprogram)。 現代的微指令通常由CPU工程师在设计阶段编写,並且儲存在唯讀記憶體(ROM, read-only-memory)或可程式邏輯陣列(PLA, programmable logic array)中。然而有些機器會將微指令儲存在靜態隨機存取記憶體(SRAM)或是快閃記憶體(flash memory)中。它通常对普通程序员甚至是組合語言程式設計師来说是不可见的,也是无法修改的。與機器指令不同的是,機器指令必須在一系列不同的處理器之間維持相容性,而微指令只設計成在特定的電路架構下執行,成為特定處理器設計的一部分。
dcterms:subject
dbc:Firmware dbc:BIOS dbc:Instruction_processing dbc:Central_processing_unit
dbo:wikiPageID
19999
dbo:wikiPageRevisionID
1123134222
dbo:wikiPageWikiLink
dbr:Bit dbr:Varian_Data_Machines dbr:VAX dbr:Microdata_Corporation dbr:Pick_operating_system dbr:Combinatorial_logic n9:_Rogue_Squadron dbr:Flash_memory dbr:IBM_Future_Systems_project dbr:Fortran dbr:The_Soul_of_a_New_Machine n14:360 n15:400 dbr:Pascal_MicroEngine dbr:8086 dbr:Diode_matrix dbr:Intel_Microcode dbr:EMIDEC_1100 dbr:Digital_processing dbr:Electronic_circuit dbr:AMD_K5 dbr:Arithmetic_and_logic_unit dbr:Intel_Core_2 dbr:Intel_80486 dbr:Xeon dbr:Bit_slicing dbr:EE_Times dbr:Denormal_number dbr:Assembly_language dbr:Backward_compatibility dbr:AMD_Am2900 dbr:Address_generation_unit n14:370 dbr:Digital_Equipment_Corporation dbr:Maurice_Wilkes dbr:Computer_bug dbr:COBOL dbr:MCP-1600 dbr:Two's_complement dbr:Interrupt_latency dbr:Microarchitecture dbr:Video_card dbr:Millicode dbr:Hardware_logic dbr:IBM_1410 dbr:Patchable_microcode dbr:Factor_5 dbr:Processor_design dbr:CPUID dbr:Athlon dbr:I486 dbr:Disk_controller dbr:Nintendo_64 dbr:X86 dbr:State_machine dbr:Static_random-access_memory dbr:Finite-state_machine dbr:Reality_Coprocessor dbr:PDP-10 dbr:Program_counter dbr:Graphics_processing_unit dbr:PDP-11 dbr:Microcontroller dbr:Pipeline_(computing) dbr:Multi-level_cache dbr:DEC_Alpha dbc:Firmware dbr:Firmware dbr:Operand dbr:Read-only_memory dbr:Computer_bus dbr:Magnetic-core_memory n14:390 dbr:I-unit dbr:Network_interface_controller n33:I dbr:Central_processing_unit dbc:BIOS dbr:Register_file dbr:RISC dbr:Programmable_logic_array dbr:Arithmetic_logic_unit dbr:IBM_Systems_Journal dbr:Programmable_logic_device dbr:Cyrix_6x86 dbr:Read-write_memory dbr:HP_2100 dbr:Computer_storage dbr:Floating-point_unit dbr:Simulator dbr:Xerox_Alto n44:O dbr:Memory_address_register dbr:Conditional_(programming) dbr:Memory_data_register dbr:Pentium_Pro dbr:Very_long_instruction_word dbr:Microassembler dbr:Superscalar dbr:Digital_signal_processor dbr:VAX_8800 dbr:Meltdown_(security_vulnerability) dbr:IBM dbr:Complex_instruction_set_computer dbr:Operating_system dbr:Symbolics dbr:IBM_2030 dbr:Computer_organization dbr:Hardwired_control dbr:Direct_memory_access dbr:Power-on_reset n49:360_Model_85 dbr:Whirlwind_(computer) dbr:Data_General_Eclipse n51:8000 dbr:Data_General dbr:Instruction_pipeline dbr:Transistor dbr:IBM_RS64 n9:_Battle_for_Naboo dbr:PlayStation_2 dbr:Motorola_68040 dbr:CPU_design dbr:PALcode dbr:Resident_Evil_2 dbr:Burroughs_Corporation dbr:Full_motion_video dbr:Network_processors dbr:Pentium_FDIV_bug dbr:IBM_1130 dbr:Indiana_Jones_and_the_Infernal_Machine dbr:Hard_disk_drive dbr:Ad_hoc dbr:Control_store dbr:Combinational_logic dbr:Prefetching dbr:Micro-operation dbr:BIOS dbr:Wireless_network_interface_controller n49:38 dbr:Sony dbr:Control_unit dbr:Electronics dbr:MikroSim dbr:Microprocessor dbr:Instruction_set n67:Architecture dbr:Instruction_set_architecture n49:360_Model_30 n49:360_Model_40 n49:360_Model_50 dbr:Sequential_circuit dbr:Hardwired_control_unit dbr:Emulator dbr:P6_(microarchitecture) dbr:Spectre_(security_vulnerability) n49:360_Model_25 dbr:Instruction_pipelining dbr:Transcendental_function dbc:Instruction_processing dbr:Execution_unit dbr:Instruction_register dbr:Microsequencer dbc:Central_processing_unit dbr:Stack_pointer dbr:NCR_315 dbr:Xerox_PARC dbr:Western_Digital dbr:Microcode dbr:Rockstar_San_Diego dbr:FreeBSD dbr:Western_Digital_WD16 dbr:Z80 dbr:B1700 dbr:Annals_of_the_History_of_Computing dbr:Burroughs_Small_Systems dbr:Player_piano dbr:Processor_register dbr:Tightly_coupled_system dbr:MOS_Technology_6502 dbr:Minicomputer dbr:Proceedings_of_the_Cambridge_Philosophical_Society dbr:VAX_9000 dbr:CPU_clock dbr:Machine_code dbr:Word_length dbr:Multiprocessor
dbo:wikiPageExternalLink
n4:msg00126.html n6:ibmrd1002F.pdf n10:8662722 n17:mcl65.html n19:hole.html n23:MAHC.1986.10035 n24:wiki%3FWritableInstructionSetComputer n30:5FP0M1PDFO.html n34:uprog.html n35:microprogramming00huss n38:attic3_016.html n39:hawkes_intel_microcode.pdf n41:mcl51.html n41:mcl86.html n23:MAHC.1988.10039 n48:csp0174.htm n52:uprog.html n41:mcl65.html n46:mcl86.html n63: n42:mcl51.html n64:758c1e6a8a3e5d0285256bfa00685a2f%3FOpenDocument
owl:sameAs
n12:iEiV dbpedia-ru:Микрокод dbpedia-es:Microcódigo dbpedia-fr:Microprogrammation dbpedia-fi:Mikro-ohjelma dbpedia-kk:Көлденең_микрокод freebase:m.050sg dbpedia-zh:微程序 dbpedia-sh:Mikroprogramiranje n27:Mikroprogram dbpedia-ja:マイクロプログラム方式 dbpedia-it:Microprogrammazione dbpedia-de:Mikrocode dbpedia-sr:Микропрограм dbpedia-uk:Мікрокод dbpedia-hr:Mikroprogramiranje dbpedia-tr:Mikroprogramlama dbpedia-da:Mikroprogram dbpedia-fa:ریزبرنامه‌سازی dbpedia-pl:Mikroprogram n54:Միկրոկոդ dbpedia-nl:Microcode dbpedia-ca:Microcodi dbpedia-az:Mikrokod dbpedia-ko:마이크로코드 dbpedia-sv:Mikroprogram n65:മൈക്രോകോഡ് dbpedia-he:מיקרוקוד dbpedia-simple:Microcode dbpedia-no:Mikrokode wikidata:Q175869 dbpedia-ar:الكود_المصغر
dbp:wikiPageUsesTemplate
dbt:Efn dbt:Page_needed dbt:Processor_technologies dbt:Further dbt:Reflist dbt:External_links dbt:Main dbt:Sxhl dbt:Webarchive dbt:Program_execution dbt:Div_col dbt:Div_col_end dbt:Wiktionary dbt:Short_description dbt:Anchor dbt:Citation_needed dbt:Rp dbt:Portal dbt:Cite_journal dbt:For dbt:Notelist dbt:Cite_book dbt:Cn
dbp:date
2017-02-02 2016-11-03 2018-12-21
dbp:url
n42:mcl51.html n46:mcl86.html n17:mcl65.html
dbo:abstract
Mikroprogram, mikrokod – program implementujący listę rozkazów procesora. Podobnie jak język wysokiego poziomu jest kompilowany do kodu maszynowego, tak każdy rozkaz kodu maszynowego ma postać ciągu mikroinstrukcji nazywanego mikroprogramem lub mikrokodem. Elementy tworzące mikroprogram znajdują się na pojęciowo niższym poziomie niż instrukcje języka maszynowego (asemblera). Aby więc odróżnić je od elementów programowania niskopoziomowego, stosuje się przedrostek mikro-: mikroprogram, mikrokod, mikroinstrukcja, mikroasembler. Mikroprogramy są szczegółowo dopracowywane i optymalizowane pod kątem jak najszybszego wykonania. Zaniedbanie na tym poziomie grozi dużym spowolnieniem programów, które będą uruchamiane na tym procesorze. Mikroprogramista musi posiadać gruntowną wiedzę na temat obwodów elektrycznych danego typu komputera, ponieważ na nich właśnie operuje mikrokod. Mikroprogram jest pisany przez twórców procesorów w fazie projektowania. W większości procesorów korzystających z mikrokodu, mikroprogram nie znajduje się w pamięci operacyjnej, lecz w specjalnej szybkiej pamięci zwanej pamięcią sterującą (ang. control store). Może być to pamięć tylko do odczytu lub pamięć o dostępie swobodnym. W drugim przypadku mikrokod jest ładowany do pamięci sterującej, z innego urządzenia pamięci, podczas inicjacji procesora. Wtedy też możliwe jest modyfikowanie mikrokodu w celu usunięcia błędów lub dodania nowych instrukcji. Mikrokod może również pozwalać na emulację innej, zwykle bardziej złożonej, architektury komputerowej. マイクロプログラム方式(マイクロプログラムほうしき、マイクロプログラミング、英:microprogramming)は、プロセッサの制御装置の実装手法のひとつであり、CPU内のマイクロプログラム(マイクロコード)を使用して、複雑な命令を比較的容易に実装する。 利点としては、オペレーティングシステムを含めたソフトウェアから見た場合のハードウェア(命令セットアーキテクチャ、ISA)を、容易に追加・拡張したり、あるいはプロセッサ間で標準化して互換性を高める、更には異なる命令セットのCPUのエミュレートにも応用可能である(仮想化技術のひとつともいえる)。 反面、複雑な命令の増加はパイプラインの効果が薄れる結果ともなりやすい。 一般にROM (Read Only Memory) またはPLA()、またはそれらを組み合わせたものに格納される。コントロールストアをRAMで構成すると、動的にプログラマブル可能にできるが起動時に読み込みが必要である。ROMにすれば読み込みは必要ないが、動的にプログラム可能という利点がなくなる。 マイクロプログラム方式は、主にCISCのCPUで採用されている。 マイクロプログラム方式に対し、論理ゲートとフリップフロップを配線でつなぎあわせて直接実装する方式はワイヤードロジック(布線論理)と呼ばれる。RISCは原則としてはワイヤードロジックで構築される。 「マイクロ」という用語は英語の小さいという一般的な意味として使われている。このため、マイクロプロセッサやマイクロコンピュータやマイクロコントローラやその他「マイクロ」と付く物とは関連性は無い。 IBMなどのベンダーではマイクロコードという語を「ファームウェア」の同義として使うことがあり、周辺機器に格納されるマイクロプログラムも機械語プログラムもまとめてマイクロコードと呼ぶことがある。 微指令(英語:microcode),又稱微碼,是在CISC結構下,執行一些功能複雜的指令時,所分解一系列相對簡單的指令。相關的概念最早在1947年開始出現。 微指令的作用是將與相關的電路實作分離,這樣一來機器指令可以更自由的進行設計與修改,而不用考慮到實際的電路架構。與其他方式比較起來,使用微指令架構可以在降低電路複雜度的同時,建構出複雜的多步驟機器指令。撰寫微指令一般稱為(microprogramming),而特定架構下的處理器實作中,微指令有時會稱為微程式(microprogram)。 現代的微指令通常由CPU工程师在设计阶段编写,並且儲存在唯讀記憶體(ROM, read-only-memory)或可程式邏輯陣列(PLA, programmable logic array)中。然而有些機器會將微指令儲存在靜態隨機存取記憶體(SRAM)或是快閃記憶體(flash memory)中。它通常对普通程序员甚至是組合語言程式設計師来说是不可见的,也是无法修改的。與機器指令不同的是,機器指令必須在一系列不同的處理器之間維持相容性,而微指令只設計成在特定的電路架構下執行,成為特定處理器設計的一部分。 Microcodi o microprograma és el nom d'una sèrie d'instruccions o estructures de dades implicats en la implementació de llenguatge màquina de nivell més alt en molts processadors, especialment els microprogramats. Microcodi està emmagatzemat en una memòria que és d'accés molt ràpid. Quan una instrucció de nivell de màquina ha de ser executada, el microcodi indica al processador quins circuits electrònics han de ser utilitzats. Quan s'ha dissenyat un nou processador, un enginyer també escriu el microcodi per a les instruccions de llenguatge màquina. Això s'anomena microprogramació, i el codi resultant s'anomena un microprograma. El concepte de microprogramació va ser desenvolupat per Maurice Wilkes el 1951, utilitzant una matriu de díodes com l'element de memòria. En els primers processadors, cada instrucció era cablejada (hard-wired). Això té diversos inconvenients, el més obvi és que la correcció d'un error en el disseny del processador significa que el processador necessita ser reemplaçat. Microcode is programmacode die door een CPU wordt uitgevoerd en die machinetaal interpreteert. Een CPU die microcode gebruikt (zoals Intels x86 serie) voert machinetaal niet direct in de hardware uit. In plaats daarvan wordt de machinetaal geïnterpreteerd door een microcodeprogramma, dat op zijn beurt wel direct door de hardware uitgevoerd wordt. Microcode wordt vooral gebruikt in processors die veel en complexe instructies hebben (CISC-processors). Het decoderen en uitvoeren van instructies is bij deze processors te complex om in de hardware te implementeren. Microcode bevindt zich, in tegenstelling tot alle andere soorten programmacode (inclusief machinetaal), niet in het hoofdgeheugen, maar in een speciaal geheugen op de processor zelf. Dit geheugen, de control store, is bij een microprocessor meestal read-only, maar dat is niet noodzakelijk zo: soms wordt microcode tijdens het opstarten van de computer vanuit een andere locatie in de control-store geladen. Dit maakt het mogelijk om bugs te repareren of om nieuwe instructies aan de instructieset van de CPU toe te voegen.Ook is het mogelijk met het vervangen van de microcode een andere computer te emuleren. Zo kan een Univac-computer een Philips-computer emuleren en dus programma's draaien die voor de Philips geschreven zijn. La microprogrammazione è una tecnica utilizzata per l'implementazione dell'unità di controllo della CPU, il dispositivo in grado di controllare l'esecuzione di istruzioni in linguaggio macchina, di interpretare ogni istruzione in linguaggio macchina tramite una sequenza di micro-operazioni eseguite direttamente dall'hardware, e di generare nella giusta sequenza i segnali di controllo che provocano l'esecuzione di ogni operazione elementare. Essa cominciò ad avere successo alla fine degli anni cinquanta grazie a Maurice Wilkes. Un approccio differente a quello classico di Wilkes è stato oggetto dell'attività di Giovan Battista Gerace nello sviluppo della Calcolatrice Elettronica Pisana. Un microcódigo o microprograma es el nombre de una serie de instrucciones o estructuras de datos implicados en la implementación de lenguaje máquina de nivel más alto en muchos procesadores , especialmente los microprogramados . El Microcódigo está almacenado en una memoria que es de acceso muy rápido. 마이크로프로그래밍(microprogramming, 이를테면 마이크로코드(microcode)의 기록)은 CPU 안에 기계어를 상대적으로 쉽게 추가할 수 있도록 이용하는 방식으로, 다른 방식들에 비해 하드웨어를 덜 사용한다. 이것은 매우 상세하면서도 기초가 되는 가장 낮은 수준의 루틴의 모임이며 이러한 루틴은 특정한 명령어를 수행하는 데 필요한 동작들을 제어하고 나열한다. 또, 이따금씩 이들을 해석하기도 한다. 그러므로 일련의 마이크로 명령어가 추가한 기계어는 인터프리터가 기계어를 사용하여 고급 프로그래밍 언어의 명령문을 추가하는 방식과 비슷하다고 볼 수 있다. 마이크로코드는 디자인 단계에서 일반적으로 CPU 기술자가 기록한다. 그러나 일반 프로그래머, 심지어는 어셈블리 프로그래머도 이를 보면서 바꿀 수 있다는 것을 뜻하지는 않는다. 왜냐하면 설계상 마이크로코드는 새로운 마이크로아키텍처가 만들어질 때마다 극적으로 바뀔 수 있기 때문이다. 기계어는 하위 호환성을 유지한다. 마이크로코드는 마이크로아키텍처가 다른 강력한 아키텍처를 에뮬레이트하는 데 사용해왔다. 또, IBM과 같은 일부 하드웨어 업체들은 실제로 프로세서의 마이크로프로그래밍의 도입 여부에 관계 없이 마이크로코드(microcode)라는 용어를 펌웨어와 동의어로 사용한다. 심지어 하드 드라이브에 쓰이는 것과 같은 단순한 펌웨어라도 이따금씩 마이크로코드로 서술한다. Мікропрограма (також мікрокод англ. microcode) — програма на спеціалізованій, апаратно-залежній мові програмування, що реалізує керування процесором в системах з мікропрограмним керуванням. Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови асемблера. З точки зору програміста ці інструкції є атомарними — у програміста відсутні можливості відслідкувати деталі виконання кожної з таких інструкцій. З точки ж зору роботи процесора — у випадку мікропрограмної архітектури — кожна з таких інструкцій виконує декілька більш примітивних операцій — мікрооперацій, — таких як завантаження і обробка команди та операндів, запис результату, встановлення признаку результату (коду завершення) тощо. У Енциклопедії кібернетики схема, що реалізує мікропрограмне керування, називається мікропрограмним автоматом. La microprogrammation est une technique de réalisation du séquenceur d'un processeur, utilisé dans la technologie CISC, dans laquelle le comportement du séquenceur est décrit par le contenu d'une mémoire. Ce contenu est appelé microprogramme ou microcode. Il peut être vu comme un programme destiné à une machine très simple appelée micro-séquenceur ; le processeur final est alors considéré comme une machine virtuelle simulée par le micro-séquenceur. Par opposition la technologie RISC ne contient pas de microcode. La réalisation microprogrammée des séquenceurs s'oppose à leur réalisation câblée. A priori plus onéreuse au départ, sa souplesse facilite l'évolution des modèles. Der Mikrocode ist der Binärcode eines Mikrobefehls oder einer Mikrobefehlssequenz eines Mikroprogramms. Der Mikrocode kann als „Maschinensprache“ des Mikroprogrammsteuerwerks zum Steuern des Rechenwerks in einem Prozessor angesehen werden. In der Realität erlauben einige Prozessoren zum Zeitpunkt der Initialisierung das Überschreiben des bei der Fertigung festgelegten und in einem Festwertspeicher (Mikroprogrammspeicher) abgelegten Mikrocodes. Üblicherweise erfolgt dies durch Nachladen eines im BIOS gespeicherten Mikrocodes. In diesem Fall bleibt der nachgeladene Mikrocode bis zum Abschalten des Prozessors erhalten, d. h. die Mikroprogrammierung ist reversibel. Ein Mikrocode-Update kann mit einem BIOS-Update verbunden sein. Unter Linux enthält das Paket intel-ucode den Mikrocode für Intel-Prozessoren, das Paket amd-ucode den Mikrocode für AMD-Prozessoren. Die Erzeugung von Mikrocode zur Steuerung einer virtuellen Recheneinheit wird mit dem Mikrocodesimulator MikroSim auf didaktische Weise vermittelt. Mikroprogram eller mikrokod implementerar CPU-instruktioner (maskininstruktioner). En processor kan tillverkas så att varje bit i en instruktion direkt styr en funktion i processorn. Vissa bitar anger vilka register som skall användas, vissa bitar hur minnet skall adresseras, vissa vilken operation det är frågan om, o.s.v. Eftersom alla kombinationer inte är meningsfulla kan man spara arbets- och cacheminne genom att en instruktion istället fungerar som en nyckel till ett minimalt program i sådan form, lagrat i processorhårdvaran. Maskinkodsinstruktionen behöver då inte ha en bit för varje av processorns funktioner och maskinkodsinstruktionen kan driva processorn i flera klockcykler. De minimala inbyggda programmen kallas mikroprogram eller mikrokod. I en del processorer kan mikrokoden ändras och den förprogrammerade mikrokoden uppdateras eller instruktionsuppsättningen helt bytas ut. Микроко́д — программа, реализующая набор инструкций процессора. Так же, как одна инструкция языка высокого уровня преобразуется в серию машинных инструкций, в процессоре, использующем микрокод, каждая машинная инструкция реализуется в виде серии микроинструкций — микропрограммы, микрокода. На большинстве компьютеров, использующих микрокод, он присутствует не в основной памяти, а в специальной быстродействующей памяти (англ. control store), как например, в наборе микросхем 588 серии с АЛУ КА588ВС2 и ПЗУ управляющей памяти КА588ВУ2. Эта память может допускать только чтение либо чтение-запись; в последнем случае микрокод может быть загружен из постоянной памяти в процессе запуска процессора. Возможность изменения микрокода позволяет исправлять найденные ошибки и добавлять реализацию новых инструкций. Микрокод также позволяет настроить микроархитектуру компьютера на эмуляцию другой (как правило, более сложной) архитектуры. Микропрограммы состоят из серий микроинструкций, часто называемых элементарными операциями. Микроинструкции управляют процессором на самом низком уровне. Например, отдельная микроинструкция может содержать указание следующих действий: * Подсоединить регистр 1 ко входу A АЛУ; * Подсоединить регистр 7 ко входу B АЛУ; * Настроить АЛУ на выполнение операции сложения; * Установить разряд переноса АЛУ в ноль; * Сохранить результат операции в регистр 8; * Обновить коды состояния из флагов АЛУ («Отрицательное», «Ноль», «Переполнение», «Перенос»); * Установить указатель микрокоманд на микроинструкцию номер nnn. Для того, чтобы одна микроинструкция могла описывать весь этот набор, микроинструкции часто делаются довольно «широкими», например, длиной в 56 битов или даже больше. Микроинструкции, или микрокоманды, в свою очередь, инициируют так называемые микрооперации. Микрооперации — это и есть элементарные преобразования над данными; в качестве примеров можно привести следующие: 1. * скопировать операнд в регистр; 2. * установить флаг в 1; 3. * выставить операнд на шину; 4. * увеличить содержимое верхушки стека на 1, и т. д. الكود المصغر هي تقنية عتاد الكمبيوتر التي تفرض مترجمًا بين أجهزة وحدة المعالجة المركزية ومجموعة تعليمات المبرمج المرئية للكمبيوتر. على هذا النحو، فإن الكود المصغر هي طبقة من التعليمات على مستوى العتاد التي تقوم بتطبيق تعليمات لغة الآلة ذات المستوى الأعلى أو تسلسل أجهزة في العديد من عناصر المعالجة الرقمية. يتم استخدام الكود المصغر في وحدات المعالجة المركزية ذات الأغراض العامة، على الرغم من أنه في وحدات المعالجة المركزية (CPU) الحالية على سطح المكتب، لا يعدو ذلك سوى المسار الاحتياطي للحالات التي لا تستطيع وحدة التحكم (Control unit) الأسرع التعامل معها. In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal finite-state machine sequencing in many digital processing elements. Microcode is used in general-purpose central processing units, although in current desktop CPUs, it is only a fallback path for cases that the faster hardwired control unit cannot handle. Microcode typically resides in special high-speed memory and translates machine instructions, state machine data, or other input into sequences of detailed circuit-level operations. It separates the machine instructions from the underlying electronics so that instructions can be designed and altered more freely. It also facilitates the building of complex multi-step instructions, while reducing the complexity of computer circuits. Writing microcode is often called microprogramming and the microcode in a particular processor implementation is sometimes called a microprogram. More extensive microcoding allows small and simple microarchitectures to emulate more powerful architectures with wider word length, more execution units and so on, which is a relatively simple way to achieve software compatibility between different products in a processor family. Some hardware vendors, especially IBM, use the term microcode as a synonym for firmware. In that way, all code within a device is termed microcode regardless of it being microcode or machine code; for example, hard disk drives are said to have their microcode updated, though they typically contain both microcode and firmware.
prov:wasDerivedFrom
wikipedia-en:Microcode?oldid=1123134222&ns=0
dbo:wikiPageLength
57646
foaf:isPrimaryTopicOf
wikipedia-en:Microcode