Microcode (original) (raw)

About DBpedia

الكود المصغر هي تقنية عتاد الكمبيوتر التي تفرض مترجمًا بين أجهزة وحدة المعالجة المركزية ومجموعة تعليمات المبرمج المرئية للكمبيوتر. على هذا النحو، فإن الكود المصغر هي طبقة من التعليمات على مستوى العتاد التي تقوم بتطبيق تعليمات لغة الآلة ذات المستوى الأعلى أو تسلسل أجهزة في العديد من عناصر المعالجة الرقمية. يتم استخدام الكود المصغر في وحدات المعالجة المركزية ذات الأغراض العامة، على الرغم من أنه في وحدات المعالجة المركزية (CPU) الحالية على سطح المكتب، لا يعدو ذلك سوى المسار الاحتياطي للحالات التي لا تستطيع وحدة التحكم (Control unit) الأسرع التعامل معها.

Property Value
dbo:abstract 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. (ca) الكود المصغر هي تقنية عتاد الكمبيوتر التي تفرض مترجمًا بين أجهزة وحدة المعالجة المركزية ومجموعة تعليمات المبرمج المرئية للكمبيوتر. على هذا النحو، فإن الكود المصغر هي طبقة من التعليمات على مستوى العتاد التي تقوم بتطبيق تعليمات لغة الآلة ذات المستوى الأعلى أو تسلسل أجهزة في العديد من عناصر المعالجة الرقمية. يتم استخدام الكود المصغر في وحدات المعالجة المركزية ذات الأغراض العامة، على الرغم من أنه في وحدات المعالجة المركزية (CPU) الحالية على سطح المكتب، لا يعدو ذلك سوى المسار الاحتياطي للحالات التي لا تستطيع وحدة التحكم (Control unit) الأسرع التعامل معها. (ar) 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. (de) 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. (es) 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. (fr) 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. (en) 마이크로프로그래밍(microprogramming, 이를테면 마이크로코드(microcode)의 기록)은 CPU 안에 기계어를 상대적으로 쉽게 추가할 수 있도록 이용하는 방식으로, 다른 방식들에 비해 하드웨어를 덜 사용한다. 이것은 매우 상세하면서도 기초가 되는 가장 낮은 수준의 루틴의 모임이며 이러한 루틴은 특정한 명령어를 수행하는 데 필요한 동작들을 제어하고 나열한다. 또, 이따금씩 이들을 해석하기도 한다. 그러므로 일련의 마이크로 명령어가 추가한 기계어는 인터프리터가 기계어를 사용하여 고급 프로그래밍 언어의 명령문을 추가하는 방식과 비슷하다고 볼 수 있다. 마이크로코드는 디자인 단계에서 일반적으로 CPU 기술자가 기록한다. 그러나 일반 프로그래머, 심지어는 어셈블리 프로그래머도 이를 보면서 바꿀 수 있다는 것을 뜻하지는 않는다. 왜냐하면 설계상 마이크로코드는 새로운 마이크로아키텍처가 만들어질 때마다 극적으로 바뀔 수 있기 때문이다. 기계어는 하위 호환성을 유지한다. 마이크로코드는 마이크로아키텍처가 다른 강력한 아키텍처를 에뮬레이트하는 데 사용해왔다. 또, IBM과 같은 일부 하드웨어 업체들은 실제로 프로세서의 마이크로프로그래밍의 도입 여부에 관계 없이 마이크로코드(microcode)라는 용어를 펌웨어와 동의어로 사용한다. 심지어 하드 드라이브에 쓰이는 것과 같은 단순한 펌웨어라도 이따금씩 마이크로코드로 서술한다. (ko) マイクロプログラム方式(マイクロプログラムほうしき、マイクロプログラミング、英:microprogramming)は、プロセッサの制御装置の実装手法のひとつであり、CPU内のマイクロプログラム(マイクロコード)を使用して、複雑な命令を比較的容易に実装する。 利点としては、オペレーティングシステムを含めたソフトウェアから見た場合のハードウェア(命令セットアーキテクチャ、ISA)を、容易に追加・拡張したり、あるいはプロセッサ間で標準化して互換性を高める、更には異なる命令セットのCPUのエミュレートにも応用可能である(仮想化技術のひとつともいえる)。 反面、複雑な命令の増加はパイプラインの効果が薄れる結果ともなりやすい。 一般にROM (Read Only Memory) またはPLA()、またはそれらを組み合わせたものに格納される。コントロールストアをRAMで構成すると、動的にプログラマブル可能にできるが起動時に読み込みが必要である。ROMにすれば読み込みは必要ないが、動的にプログラム可能という利点がなくなる。 マイクロプログラム方式は、主にCISCのCPUで採用されている。 マイクロプログラム方式に対し、論理ゲートとフリップフロップを配線でつなぎあわせて直接実装する方式はワイヤードロジック(布線論理)と呼ばれる。RISCは原則としてはワイヤードロジックで構築される。 「マイクロ」という用語は英語の小さいという一般的な意味として使われている。このため、マイクロプロセッサやマイクロコンピュータやマイクロコントローラやその他「マイクロ」と付く物とは関連性は無い。 IBMなどのベンダーではマイクロコードという語を「ファームウェア」の同義として使うことがあり、周辺機器に格納されるマイクロプログラムも機械語プログラムもまとめてマイクロコードと呼ぶことがある。 (ja) 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. (it) 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. (nl) Микроко́д — программа, реализующая набор инструкций процессора. Так же, как одна инструкция языка высокого уровня преобразуется в серию машинных инструкций, в процессоре, использующем микрокод, каждая машинная инструкция реализуется в виде серии микроинструкций — микропрограммы, микрокода. На большинстве компьютеров, использующих микрокод, он присутствует не в основной памяти, а в специальной быстродействующей памяти (англ. control store), как например, в наборе микросхем 588 серии с АЛУ КА588ВС2 и ПЗУ управляющей памяти КА588ВУ2. Эта память может допускать только чтение либо чтение-запись; в последнем случае микрокод может быть загружен из постоянной памяти в процессе запуска процессора. Возможность изменения микрокода позволяет исправлять найденные ошибки и добавлять реализацию новых инструкций. Микрокод также позволяет настроить микроархитектуру компьютера на эмуляцию другой (как правило, более сложной) архитектуры. Микропрограммы состоят из серий микроинструкций, часто называемых элементарными операциями. Микроинструкции управляют процессором на самом низком уровне. Например, отдельная микроинструкция может содержать указание следующих действий: * Подсоединить регистр 1 ко входу A АЛУ; * Подсоединить регистр 7 ко входу B АЛУ; * Настроить АЛУ на выполнение операции сложения; * Установить разряд переноса АЛУ в ноль; * Сохранить результат операции в регистр 8; * Обновить коды состояния из флагов АЛУ («Отрицательное», «Ноль», «Переполнение», «Перенос»); * Установить указатель микрокоманд на микроинструкцию номер nnn. Для того, чтобы одна микроинструкция могла описывать весь этот набор, микроинструкции часто делаются довольно «широкими», например, длиной в 56 битов или даже больше. Микроинструкции, или микрокоманды, в свою очередь, инициируют так называемые микрооперации. Микрооперации — это и есть элементарные преобразования над данными; в качестве примеров можно привести следующие: 1. * скопировать операнд в регистр; 2. * установить флаг в 1; 3. * выставить операнд на шину; 4. * увеличить содержимое верхушки стека на 1, и т. д. (ru) 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. (pl) 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. (sv) 微指令(英語:microcode),又稱微碼,是在CISC結構下,執行一些功能複雜的指令時,所分解一系列相對簡單的指令。相關的概念最早在1947年開始出現。 微指令的作用是將與相關的電路實作分離,這樣一來機器指令可以更自由的進行設計與修改,而不用考慮到實際的電路架構。與其他方式比較起來,使用微指令架構可以在降低電路複雜度的同時,建構出複雜的多步驟機器指令。撰寫微指令一般稱為(microprogramming),而特定架構下的處理器實作中,微指令有時會稱為微程式(microprogram)。 現代的微指令通常由CPU工程师在设计阶段编写,並且儲存在唯讀記憶體(ROM, read-only-memory)或可程式邏輯陣列(PLA, programmable logic array)中。然而有些機器會將微指令儲存在靜態隨機存取記憶體(SRAM)或是快閃記憶體(flash memory)中。它通常对普通程序员甚至是組合語言程式設計師来说是不可见的,也是无法修改的。與機器指令不同的是,機器指令必須在一系列不同的處理器之間維持相容性,而微指令只設計成在特定的電路架構下執行,成為特定處理器設計的一部分。 (zh) Мікропрограма (також мікрокод англ. microcode) — програма на спеціалізованій, апаратно-залежній мові програмування, що реалізує керування процесором в системах з мікропрограмним керуванням. Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови асемблера. З точки зору програміста ці інструкції є атомарними — у програміста відсутні можливості відслідкувати деталі виконання кожної з таких інструкцій. З точки ж зору роботи процесора — у випадку мікропрограмної архітектури — кожна з таких інструкцій виконує декілька більш примітивних операцій — мікрооперацій, — таких як завантаження і обробка команди та операндів, запис результату, встановлення признаку результату (коду завершення) тощо. У Енциклопедії кібернетики схема, що реалізує мікропрограмне керування, називається мікропрограмним автоматом. (uk)
dbo:wikiPageExternalLink http://research.microsoft.com/~gbell/Computer_Structures_Principles_and_Examples/csp0174.htm http://doi.ieeecomputersociety.org/10.1109/MAHC.1988.10039 http://www.microcorelabs.com/mcl65.html https://web.archive.org/web/20030309102752/http:/www.eetimes.com/news/97/963news/hole.html https://web.archive.org/web/20150907195925/http:/inertiawar.com/microcode/hawkes_intel_microcode.pdf https://web.archive.org/web/20161103224205/http:/www.microcorelabs.com/mcl86.html https://web.archive.org/web/20170202042033/http:/www.microcorelabs.com/mcl51.html https://web.archive.org/web/20181221000146/http:/www.microcorelabs.com/mcl65.html http://www.bitsavers.org/pdf/digitalScientific/ http://www.research.ibm.com/journal/rd/102/ibmrd1002F.pdf http://doi.ieeecomputersociety.org/10.1109/MAHC.1986.10035 http://www.cs.clemson.edu/~mark/uprog.html http://www.securiteam.com/securityreviews/5FP0M1PDFO.html https://lists.debian.org/debian-user/2013/09/msg00126.html http://people.cs.clemson.edu/~mark/uprog.html http://www.microcorelabs.com/mcl51.html http://www.microcorelabs.com/mcl86.html https://archive.org/details/microprogramming00huss https://ieeexplore.ieee.org/document/8662722 http://www-03.ibm.com/ibm/history/exhibits/attic3/attic3_016.html http://domino.research.ibm.com/tchjr/journalindex.nsf/a3807c5b4823c53f85256561006324be/758c1e6a8a3e5d0285256bfa00685a2f%3FOpenDocument http://c2.com/cgi/wiki%3FWritableInstructionSetComputer
dbo:wikiPageID 19999 (xsd:integer)
dbo:wikiPageLength 57646 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1123134222 (xsd:integer)
dbo:wikiPageWikiLink dbr:Processor_register dbr:Rockstar_San_Diego dbr:Electronic_circuit dbr:Electronics dbr:Microdata_Corporation dbr:Minicomputer dbr:Read-only_memory dbr:Pascal_MicroEngine dbr:Denormal_number dbr:Pentium_FDIV_bug dbr:Resident_Evil_2 dbr:Cyrix_6x86 dbr:Burroughs_Small_Systems dbr:VAX dbr:VAX_9000 dbr:Varian_Data_Machines dbr:Instruction_pipelining dbr:Instruction_register dbr:Intel_Core_2 dbr:Intel_Microcode dbr:Interrupt_latency dbr:System/360 dbr:Pentium_Pro dbr:Prefetching dbr:Combinational_logic dbr:Computer_bug dbr:Computer_organization dbr:Maurice_Wilkes dbr:Meltdown_(security_vulnerability) dbr:Video_card dbr:Wireless_network_interface_controller dbr:FreeBSD dbr:Full_motion_video dbr:Control_store dbr:Control_unit dbr:NCR_315 dbr:Millicode dbr:Operand dbr:System/370 dbr:Arithmetic_logic_unit dbr:MCP-1600 dbr:MOS_Technology_6502 dbr:Simulator dbr:Stack_pointer dbr:Star_Wars:_Rogue_Squadron dbr:Static_random-access_memory dbr:Complex_instruction_set_computer dbr:Z/Architecture dbr:Z80 dbr:Emulator dbr:Microarchitecture dbr:Pipeline_(computing) dbr:Power-on_reset dbr:Program_counter dbr:Programmable_logic_array dbr:Programmable_logic_device dbr:Micro-operation dbr:Microassembler dbr:Microcode dbr:The_Soul_of_a_New_Machine dbr:COBOL dbr:Ad_hoc dbr:Address_generation_unit dbc:Instruction_processing dbr:Two's_complement dbr:Data_General dbr:Data_General_Eclipse dbr:Data_General_Eclipse_MV/8000 dbr:Western_Digital dbr:Western_Digital_WD16 dbr:Disk_controller dbr:HP_2100 dbr:DEC_Alpha dbr:EE_Times dbr:EMIDEC_1100 dbr:Execution_unit dbr:Flash_memory dbr:Fortran dbr:Nintendo_64 dbr:P6_(microarchitecture) dbr:PDP-10 dbr:PDP-11 dbr:PL/I dbr:Central_processing_unit dbr:Diode_matrix dbr:Direct_memory_access dbr:Floating-point_unit dbr:Graphics_processing_unit dbr:Conditional_(programming) dbr:Machine_code dbr:Magnetic-core_memory dbr:Microcontroller dbr:Hardwired_control_unit dbr:Hard_disk_drive dbr:Athlon dbr:Backward_compatibility dbr:Processor_design dbr:State_machine dbr:Assembly_language dbr:AMD_Am2900 dbr:AMD_K5 dbc:BIOS dbc:Firmware dbc:Central_processing_unit dbr:Bit dbr:Bit_slicing dbr:Symbolics dbr:Transistor dbr:Digital_Equipment_Corporation dbr:Digital_signal_processor dbr:BIOS dbr:Burroughs_Corporation dbr:CPUID dbr:Pick_operating_system dbr:PlayStation_2 dbr:Player_piano dbr:Sony dbr:Spectre_(security_vulnerability) dbr:I486 dbr:IBM dbr:IBM_1130 dbr:IBM_AS/400 dbr:IBM_System/360_Model_25 dbr:IBM_System/360_Model_30 dbr:IBM_System/360_Model_40 dbr:IBM_System/360_Model_50 dbr:IBM_System/38 dbr:Indiana_Jones_and_the_Infernal_Machine dbr:Instruction_pipeline dbr:Instruction_set dbr:Instruction_set_architecture dbr:Intel_80486 dbr:Microprocessor dbr:MikroSim dbr:Network_interface_controller dbr:Operating_system dbr:Read-write_memory dbr:Channel_I/O dbr:CPU_design dbr:X86 dbr:Xerox_Alto dbr:Memory_address_register dbr:Memory_data_register dbr:Microsequencer dbr:Factor_5 dbr:IBM_1410 dbr:IBM_Future_Systems_project dbr:IBM_RS64 dbr:IBM_System/360_Model_85 dbr:Very_long_instruction_word dbr:Reality_Coprocessor dbr:Multi-level_cache dbr:Finite-state_machine dbr:Firmware dbr:Xeon dbr:Motorola_68040 dbr:PALcode dbr:Register_file dbr:Annals_of_the_History_of_Computing dbr:Transcendental_function dbr:RISC dbr:8086 dbr:B1700 dbr:Network_processors dbr:Superscalar dbr:Computer_storage dbr:Word_length dbr:I-unit dbr:IBM_2030 dbr:IBM_Systems_Journal dbr:Hardware_logic dbr:Hardwired_control dbr:Xerox_PARC dbr:Arithmetic_and_logic_unit dbr:System/390 dbr:Patchable_microcode dbr:Multiprocessor dbr:Proceedings_of_the_Cambridge_Philosophical_Society dbr:VAX_8800 dbr:Combinatorial_logic dbr:Computer_bus dbr:Whirlwind_(computer) dbr:CPU_clock dbr:Sequential_circuit dbr:Digital_processing dbr:Star_Wars:_Battle_for_Naboo dbr:Tightly_coupled_system
dbp:date 2016-11-03 (xsd:date) 2017-02-02 (xsd:date) 2018-12-21 (xsd:date)
dbp:url https://web.archive.org/web/20161103224205/http:/www.microcorelabs.com/mcl86.html https://web.archive.org/web/20170202042033/http:/www.microcorelabs.com/mcl51.html https://web.archive.org/web/20181221000146/http:/www.microcorelabs.com/mcl65.html
dbp:wikiPageUsesTemplate dbt:Anchor dbt:Citation_needed dbt:Cite_book dbt:Cite_journal dbt:Cn dbt:Div_col dbt:Div_col_end dbt:Efn dbt:External_links dbt:For dbt:Further dbt:Main dbt:Notelist dbt:Page_needed dbt:Portal dbt:Reflist dbt:Rp dbt:Short_description dbt:Sxhl dbt:Webarchive dbt:Wiktionary dbt:Processor_technologies dbt:Program_execution
dcterms:subject dbc:Instruction_processing dbc:BIOS dbc:Firmware dbc:Central_processing_unit
rdfs:comment الكود المصغر هي تقنية عتاد الكمبيوتر التي تفرض مترجمًا بين أجهزة وحدة المعالجة المركزية ومجموعة تعليمات المبرمج المرئية للكمبيوتر. على هذا النحو، فإن الكود المصغر هي طبقة من التعليمات على مستوى العتاد التي تقوم بتطبيق تعليمات لغة الآلة ذات المستوى الأعلى أو تسلسل أجهزة في العديد من عناصر المعالجة الرقمية. يتم استخدام الكود المصغر في وحدات المعالجة المركزية ذات الأغراض العامة، على الرغم من أنه في وحدات المعالجة المركزية (CPU) الحالية على سطح المكتب، لا يعدو ذلك سوى المسار الاحتياطي للحالات التي لا تستطيع وحدة التحكم (Control unit) الأسرع التعامل معها. (ar) 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. (es) 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. (it) 微指令(英語:microcode),又稱微碼,是在CISC結構下,執行一些功能複雜的指令時,所分解一系列相對簡單的指令。相關的概念最早在1947年開始出現。 微指令的作用是將與相關的電路實作分離,這樣一來機器指令可以更自由的進行設計與修改,而不用考慮到實際的電路架構。與其他方式比較起來,使用微指令架構可以在降低電路複雜度的同時,建構出複雜的多步驟機器指令。撰寫微指令一般稱為(microprogramming),而特定架構下的處理器實作中,微指令有時會稱為微程式(microprogram)。 現代的微指令通常由CPU工程师在设计阶段编写,並且儲存在唯讀記憶體(ROM, read-only-memory)或可程式邏輯陣列(PLA, programmable logic array)中。然而有些機器會將微指令儲存在靜態隨機存取記憶體(SRAM)或是快閃記憶體(flash memory)中。它通常对普通程序员甚至是組合語言程式設計師来说是不可见的,也是无法修改的。與機器指令不同的是,機器指令必須在一系列不同的處理器之間維持相容性,而微指令只設計成在特定的電路架構下執行,成為特定處理器設計的一部分。 (zh) 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. (ca) 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. (de) 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. (en) 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. (fr) 마이크로프로그래밍(microprogramming, 이를테면 마이크로코드(microcode)의 기록)은 CPU 안에 기계어를 상대적으로 쉽게 추가할 수 있도록 이용하는 방식으로, 다른 방식들에 비해 하드웨어를 덜 사용한다. 이것은 매우 상세하면서도 기초가 되는 가장 낮은 수준의 루틴의 모임이며 이러한 루틴은 특정한 명령어를 수행하는 데 필요한 동작들을 제어하고 나열한다. 또, 이따금씩 이들을 해석하기도 한다. 그러므로 일련의 마이크로 명령어가 추가한 기계어는 인터프리터가 기계어를 사용하여 고급 프로그래밍 언어의 명령문을 추가하는 방식과 비슷하다고 볼 수 있다. 마이크로코드는 디자인 단계에서 일반적으로 CPU 기술자가 기록한다. 그러나 일반 프로그래머, 심지어는 어셈블리 프로그래머도 이를 보면서 바꿀 수 있다는 것을 뜻하지는 않는다. 왜냐하면 설계상 마이크로코드는 새로운 마이크로아키텍처가 만들어질 때마다 극적으로 바뀔 수 있기 때문이다. 기계어는 하위 호환성을 유지한다. 마이크로코드는 마이크로아키텍처가 다른 강력한 아키텍처를 에뮬레이트하는 데 사용해왔다. (ko) マイクロプログラム方式(マイクロプログラムほうしき、マイクロプログラミング、英:microprogramming)は、プロセッサの制御装置の実装手法のひとつであり、CPU内のマイクロプログラム(マイクロコード)を使用して、複雑な命令を比較的容易に実装する。 利点としては、オペレーティングシステムを含めたソフトウェアから見た場合のハードウェア(命令セットアーキテクチャ、ISA)を、容易に追加・拡張したり、あるいはプロセッサ間で標準化して互換性を高める、更には異なる命令セットのCPUのエミュレートにも応用可能である(仮想化技術のひとつともいえる)。 反面、複雑な命令の増加はパイプラインの効果が薄れる結果ともなりやすい。 一般にROM (Read Only Memory) またはPLA()、またはそれらを組み合わせたものに格納される。コントロールストアをRAMで構成すると、動的にプログラマブル可能にできるが起動時に読み込みが必要である。ROMにすれば読み込みは必要ないが、動的にプログラム可能という利点がなくなる。 マイクロプログラム方式は、主にCISCのCPUで採用されている。 マイクロプログラム方式に対し、論理ゲートとフリップフロップを配線でつなぎあわせて直接実装する方式はワイヤードロジック(布線論理)と呼ばれる。RISCは原則としてはワイヤードロジックで構築される。 (ja) 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. (nl) 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. (pl) 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. (sv) Мікропрограма (також мікрокод англ. microcode) — програма на спеціалізованій, апаратно-залежній мові програмування, що реалізує керування процесором в системах з мікропрограмним керуванням. Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови асемблера. З точки зору програміста ці інструкції є атомарними — у програміста відсутні можливості відслідкувати деталі виконання кожної з таких інструкцій. З точки ж зору роботи процесора — у випадку мікропрограмної архітектури — кожна з таких інструкцій виконує декілька більш примітивних операцій — мікрооперацій, — таких як завантаження і обробка команди та операндів, запис результату, встановлення признаку результату (коду завершення) тощо. (uk) Микроко́д — программа, реализующая набор инструкций процессора. Так же, как одна инструкция языка высокого уровня преобразуется в серию машинных инструкций, в процессоре, использующем микрокод, каждая машинная инструкция реализуется в виде серии микроинструкций — микропрограммы, микрокода. Микропрограммы состоят из серий микроинструкций, часто называемых элементарными операциями. Микроинструкции управляют процессором на самом низком уровне. Например, отдельная микроинструкция может содержать указание следующих действий: (ru)
rdfs:label الكود المصغر (ar) Microcodi (ca) Mikrocode (de) Microcódigo (es) Microprogrammazione (it) Microprogrammation (fr) Microcode (en) 마이크로코드 (ko) マイクロプログラム方式 (ja) Microcode (nl) Mikroprogram (pl) Микрокод (ru) Mikroprogram (sv) 微程序 (zh) Мікрокод (uk)
owl:sameAs freebase:Microcode wikidata:Microcode dbpedia-ar:Microcode dbpedia-az:Microcode http://bs.dbpedia.org/resource/Mikroprogram dbpedia-ca:Microcode dbpedia-da:Microcode dbpedia-de:Microcode dbpedia-es:Microcode dbpedia-fa:Microcode dbpedia-fi:Microcode dbpedia-fr:Microcode dbpedia-he:Microcode dbpedia-hr:Microcode http://hy.dbpedia.org/resource/Միկրոկոդ dbpedia-it:Microcode dbpedia-ja:Microcode dbpedia-kk:Microcode dbpedia-ko:Microcode http://ml.dbpedia.org/resource/മൈക്രോകോഡ് dbpedia-nl:Microcode dbpedia-no:Microcode dbpedia-pl:Microcode dbpedia-ru:Microcode dbpedia-sh:Microcode dbpedia-simple:Microcode dbpedia-sr:Microcode dbpedia-sv:Microcode dbpedia-tr:Microcode dbpedia-uk:Microcode dbpedia-zh:Microcode https://global.dbpedia.org/id/iEiV
prov:wasDerivedFrom wikipedia-en:Microcode?oldid=1123134222&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Microcode
is dbo:knownFor of dbr:Maurice_Wilkes
is dbo:wikiPageRedirects of dbr:IMPL dbr:Initial-Microprogram_Load dbr:Sequential_micro-program dbr:Micro-code dbr:Micro-instructions dbr:Micro-program dbr:Microcoded dbr:Microcoding dbr:Microinstruction dbr:Microinstructions dbr:Microprogram dbr:Microprogram. dbr:Picocode dbr:Vertical_microcode dbr:Horizontal_microcode dbr:Microprogramming dbr:Nanocode
is dbo:wikiPageWikiLink of dbr:Belle_(chess_machine) dbr:Protection_ring dbr:Rodnay_Zaks dbr:Ensoniq_Signal_Processor dbr:List_of_discontinued_x86_instructions dbr:Microdata_Corporation dbr:Minimal_instruction_set_computer dbr:Read-only_memory dbr:Semiconductor_memory dbr:MIC-1 dbr:Mentec_International_Ltd dbr:X87 dbr:Pascal_MicroEngine dbr:Programmable_ROM dbr:BiiN dbr:Binary_blob dbr:Alice_C._Parker dbr:History_of_computing_hardware dbr:Pentium_(original) dbr:Percy_Ludgate dbr:Rekursiv dbr:Cyrix_6x86 dbr:DEC_PRISM dbr:DECtape dbr:V850 dbr:VAX dbr:Index_of_software_engineering_articles dbr:Instruction_set_simulator dbr:Integrated_Facility_for_Linux dbr:Intel_80286 dbr:Intel_8086 dbr:Intel_Microcode dbr:Intel_iAPX_432 dbr:Interdata_7/32_and_8/32 dbr:Interface_Message_Processor dbr:TI_Advanced_Scientific_Computer dbr:Pentium_Pro dbr:Proprietary_firmware dbr:Timeline_of_computing_hardware_before_1950 dbr:Compressed_instruction_set dbr:Computer dbr:Conker's_Bad_Fur_Day dbr:Analytical_Engine dbr:MasPar dbr:Maurice_Wilkes dbr:Meltdown_(security_vulnerability) dbr:Ryzen dbr:Transputer dbr:Elektronika_B3-34 dbr:Elxsi dbr:Emotion_Engine dbr:Geac_Computer_Corporation dbr:Glossary_of_computer_hardware_terms dbr:Model_V dbr:Motorola_68000 dbr:Motorola_68000_series dbr:Multiuser_DOS dbr:Nairi_(computer) dbr:Control_store dbr:Millicode dbr:UNIVAC_1100/60 dbr:Berkeley_RISC dbr:Lego_Mindstorms dbr:Lexra dbr:Linux-libre dbr:Lisp_Machines dbr:MCP-1600 dbr:MIL-STD-1750A dbr:MOS_Technology_6502 dbr:ChipTest dbr:Skylake_(microarchitecture) dbr:Stack_(abstract_data_type) dbr:Stack_machine dbr:Star_Wars_Episode_I:_Battle_for_Naboo dbr:Clean_room_design dbr:Communications_Processor_Module dbr:Comparison_of_platform_virtualization_software dbr:Complex_instruction_set_computer dbr:Computer_Automation dbr:Computer_architecture dbr:Computer_engineering_compendium dbr:Computer_program dbr:Dennis_Shasha dbr:ZEBRA_(computer) dbr:Zilog_Z8000 dbr:Emulator dbr:Hardware-based_encryption dbr:Hardware_bug dbr:Microarchitecture dbr:National_Semiconductor_PACE dbr:PLEX_(programming_language) dbr:Portable_computer dbr:Transaction_Application_Language dbr:Micro-operation dbr:Microassembler dbr:Microcode dbr:Nintendo_64_programming_characteristics dbr:Xerox_500_series dbr:CDC_STAR-100 dbr:Timeline_of_DOS_operating_systems dbr:UEFI dbr:UNIVAC dbr:Data_General dbr:Data_General_Nova dbr:Datasaab dbr:Wang_2200 dbr:Wang_BASIC dbr:Western_Digital dbr:Disk_mirroring dbr:Cros dbr:HLH_Orion dbr:HP_2100 dbr:HP_FOCUS dbr:John_Haanstra dbr:Language_primitive dbr:Linux_on_IBM_Z dbr:List_of_British_innovations_and_discoveries dbr:X86_assembly_language dbr:Nintendo_64_technical_specifications dbr:VAX_8000 dbr:Rich_Page dbr:78K dbr:ARM_architecture_family dbr:Action!_(programming_language) dbr:Advanced_Micro_Devices dbr:Alder_Lake dbr:3B_series_computers dbr:EDSAC_2 dbr:Fairchild_9440 dbr:Nick_Tredennick dbr:Nintendo_64 dbr:No_instruction_set_computing dbr:Nord-100 dbr:PDP-11 dbr:PERQ dbr:PL/I dbr:Centaur_Technology dbr:Floating-point_unit dbr:History_of_IBM_mainframe_operating_systems dbr:History_of_software dbr:Hitachi_Adaptable_Modular_Storage_2000 dbr:Len_Shustek dbr:Machine_code dbr:Multi-core_processor dbr:List_of_English_inventions_and_discoveries dbr:List_of_Super_NES_enhancement_chips dbr:Network_processor dbr:Pyramid_Technology dbr:HP_3000 dbr:HP_9845C dbr:Haswell_(microarchitecture) dbr:Hertzbleed dbr:History_of_IBM_CKD_Controllers dbr:James_H._Davenport dbr:Tandem_Computers dbr:Hyper-threading dbr:Random_logic dbr:Assembly_language dbr:AN/AYK-14 dbr:Abstract_machine dbr:Accent_kernel dbr:Alan_MacPherson dbr:John_Bentley_Stringer dbr:LEO_(computer) dbr:Bit_blit dbr:Blitter dbr:Super_Nintendo_Entertainment_System dbr:High-level_language_computer_architecture dbr:High-level_programming_language dbr:TENET_210 dbr:Transformer_read-only_storage dbr:Transit_(satellite) dbr:Texas_Instruments_SBP0400 dbr:BIOS dbr:Bug_(engineering) dbr:Burroughs_B1700 dbr:Burroughs_Medium_Systems dbr:C.mmp dbr:CDC_Cyber dbr:Soviet_integrated_circuit_designation dbr:Spectre_(security_vulnerability) dbr:Spice_Lisp dbr:Classic_RISC_pipeline dbr:Freely_redistributable_software dbr:IMPL dbr:I486 dbr:IBM_5100 dbr:IBM_AS/400 dbr:IBM_System/3 dbr:IBM_System/32 dbr:IBM_System/360 dbr:IBM_System/360_Model_25 dbr:IBM_System/360_Model_40 dbr:IBM_System/370 dbr:IBM_System/370_Model_135 dbr:IBM_System/370_Model_145 dbr:IBM_System/370_Model_155 dbr:IBM_System/370_Model_165 dbr:IBM_System/38 dbr:Illegal_opcode dbr:Instruction_set_architecture dbr:Intel_80186 dbr:Intel_80188 dbr:Intel_Core_(microarchitecture) dbr:Interlisp dbr:Microarchitectural_Data_Sampling dbr:Microprocessor dbr:MikroSim dbr:Operating_system dbr:Carry_flag dbr:Reduced_instruction_set_computer dbr:Channel_I/O dbr:World_Driver_Championship dbr:X86 dbr:X86-64 dbr:Xerox_Alto dbr:Xerox_Star dbr:IML dbr:Yoky_Matsuoka dbr:Runtime_system dbr:Speculative_Store_Bypass dbr:SuperH dbr:Software dbr:Universal_Turing_machine dbr:Virtual_DOS_machine dbr:WISC dbr:Wang_Laboratories dbr:Explicit_data_graph_execution dbr:IBM_1401 dbr:IBM_801 dbr:IBM_Future_Systems_project dbr:IBM_PALM_processor dbr:IBM_System/360_Model_85 dbr:ICL_Direct_Machine_Environment dbr:ICL_Series_39 dbr:ICT_1900_series dbr:IMP-16 dbr:Very_long_instruction_word dbr:Transactional_Synchronization_Extensions dbr:Ten15 dbr:Eval dbr:Firmware dbr:Flex_machine dbr:NEC_V60 dbr:NVAX dbr:Xeon dbr:Super_Nintendo_Entertainment_System_Game_Pak dbr:Multiplication_algorithm dbr:Second_source dbr:Simple-As-Possible_computer dbr:Initial-Microprogram_Load dbr:Packet_processing dbr:Sequential_micro-program dbr:PALcode dbr:PC_Weasel_2000 dbr:Z_Application_Assist_Processor dbr:University_of_Cambridge_Computing_Service dbr:Systolic_array dbr:Superscalar_processor dbr:VIA_C3 dbr:Transient_execution_CPU_vulnerability dbr:Ucode dbr:Micro-code dbr:Micro-instructions dbr:Micro-program dbr:Microcoded dbr:Microcoding dbr:Microinstruction dbr:Microinstructions dbr:Microprogram dbr:Microprogram. dbr:Picocode dbr:Vertical_microcode dbr:Horizontal_microcode dbr:Microprogramming dbr:Nanocode
is foaf:primaryTopic of wikipedia-en:Microcode