Revision 4644226 of "Unidade de control" on glwiki

{{atención|data=setembro de 2017|Revisión de ortografía, redacción, referencias - ver [[Wikipedia:A Taberna (xeral)#Revisión de artigos de Judcosta]]}}

A '''unidade de control''' é un compoñente da [[Unidade central de procesamento|unidade de procesamento central]] dun computador que comanda a operación do procesador, é dicir, informa a memoria, a [[unidade aritmético-lóxica]] e os dispositivos de entrada e saída como responder ás instrucións dun programa.<ref>{{cita libro|apelidos1=Patterson|nome1=David|apelidos2=Hennessy|nome2=John|título=Computer Organization and Design: The Hardware/Software Interface|edición=4, revised|ano=2012|editorial=Morgan Kaufmann|isbn=978-0-12-374750-1}}</ref>

Neste compoñente tamén se fai o control do funcionamento das outras unidades por medio da xeración de pulsos de tempo e de sinais de control.[citation Necesitado]
A maioría dos recursos da computadora son xestionados pola unidade, que orienta o fluxo de datos entre a UCP e os outros dispositivos. John von Neumann incluíu a unidade de control como parte da arquitectura de Von Neumann.<ref>{{cita informe|last1=von Neumann|first1=John|title=First Draft of a Report on the EDVAC|year=1945|publisher=Moore School of Electrical Engineering, University of Pennsylvania|url=https://web.archive.org/web/20130314123032/http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf}}</ref> Nos proxectos dos computadores modernos, a unidade de control é tipicamente unha parte interna do [[Unidade central de procesamento|UCP]] que posúe tódala súa función e a súa operación sen mudanzas dende que foi introducida.

== Funcións ==
A Unidade de Control é un circuíto dixital inserto no procesador que coordina a secuencia de desprazamentos de datos para dentro, para fóra de, e entre as varias subunidades do procesador. O resultado destes transaccións cos datos por varios circuítos dixitais (as subunidades) dentro do procesador produce o dato traballado que é esperado pola instrución dun programa (cargado máis temperán, tipicamente na memoria). De certo modo, a unidade de control é o "cerebro dentro do cerebro", polo xeito que controla (conduce) o fluxo de datos dentro do procesador e aínda proporciona varios sinais de control externos ao resto do computador para guiar dados e instrucións para os destinos externos (p.ex. memoria).

[[Ficheiro:Register transfer level - example toggler.svg|miniatura|100px|[[RTL]]]]Exemplos de dispositivos que requiren unha unidade de control son as unidades de procesamento central e as unidades de procesamento gráfico. A unidade recibe ordes ou instrucións externas que son cambiados a unha secuencia de control sinaliza que despois son colocados no camiño dos datos para construír unha secuencia de operacións RTL.<ref>{{Cita libro|last=Englander|first=Irv|title=The Architecture of Computer Hardware, Systems Software, & Networking, 4th Ed.|year=2009|publisher=John Wiley & Sons, Inc.|location=Hoboken, NJ|isbn=978-0-471-71542-9|page=200}}</ref>

Máis precisamente, a unidade de control é xeralmente unha colección elástica de circuítos dixitais complexos interconectando e controlando as moitas unidades de execución (p.ex. ALU, búferes de dato, rexistros) insertas nunha UCP. A unidade é normalmente a primeira unidade da UCP que acepta, dende un programa de computador externamente almacenado, unha instrución sinxela (baseado no conxunto de instrución do CPU). Entón descodifica esta instrución individual en varios pasos secuenciais (indo buscar datos ou enderezos na memoria ou nos rexistradores, xestionando a execución [p.ex. o dato enviou ao ALU ou eu/O] e almacenando de volta o dato resultante) que controla e coordina os traballos interiores da UCP para axeitar o dato.

O deseño dos pasos secuenciais é baseado nas necesidades de cada instrución e pode variar segundo o número de pasos, o encargo de execución, e que cales unidades son habilitadas. Así, se un único programa usar un conxunto de instrucións na memoria, a unidade de control configurará tódolos fluxos de dados na UCP para manipular o dato correctamente éntrelas instrucións. Isto resulta nun computador que podería correr un programa completo sen requirir ningunha intervención humana para facer cambios de hardware entre instrucións (cando tivo que ser feito utilizando táboas de conexións antes dos programas almacenados fosen inventados).

Os pasos detallados na unidade de control ditan cal dos sinais de control de interconexións do hardware serán habilitados ou non, cales unidades da UCP son seleccionadas e a fileira adecuado da [[unidade de execución]] cando requirido pola operación para producir o dato traballado conforme requirido.

A coordinación do hardware da unidade de control correctamente axeita os sinais de control para despois configurar as moitas unidades de hardware que comprenden a unidade central de procesamento, dirixindo como os datos tamén deben ser movidos, cambiados, e almacenados fóra da UCP (p.ex. memoria) segundo o obxectivo da instrución. Dependendo no tipo da instrución que entra na unidade de control, o número e a orde de pasos secuenciais producidos poden alterar a selección e a configuración de cales partes do hardware do CPU son utilizadas para conseguir o obxectivo da instrución (principalmente movendo, almacenando, e modificando dato dentro da UCP). Esta característica, que eficientemente só utiliza instrucións de software para controlar e configurar o hardware dunha computadora (vía UC) e finalmente manipula o dato dun programa, é unha razón significativa porque os computadores máis modernos son flexíbeis e universais cando correndo varios programas.

Cómpre facer memento de que nalgúns dos computadores das décadas de [[década de 1930|1930]] ou [[década de 1940|1940]], sen unha unidade de control axeitada, era frecuentemente necesario reconfigurar o seu hardware cando se alternaban os programas.<ref>{{cita libro|lingua=inglés|lugar=Londres|páxina=9|título=Foundations of Computer Science|nome1=Behrouz|apelidos1=Forouzan|nome2=Firouz|apelidos2=Mosharraf|edición=2|editorial=Thomson|ano=2008}}</ref>

O proceso de descodificar a instrución é repetido cando o Contador de Programa é incrementado ata o próximo enderezo de programa almacenado e a instrución nova entra na unidade de control dende aquel enderezo, e así sucesivamente ata o fin dos programas.

== Unidade de control microprogramada ==
A idea da microprogramación foi presentado por [[Maurice Wilkes]], en [[1951]], para ser un nivel intermediario de execución das instrucións dun programa de computador. Os microprogramas foron organizados nunha secuencia de microinstrucións e almacenados nunha memoria de control especial. O algoritmo do microprograma da unidade de control é xeralmente especificado por un [[diagrama de fluxo]].<ref>{{cita libro|lingua=inglés|apelidos1=Barkalov|nome1=Alexander|nome2=Larysa|apelidos2=Titarenko|título=Logic synthesis for FSM based control units|ano=2009|editorial=Springer|lugar=Berlin|isbn=978-3-642-04308-6}}</ref> A principal vantaxe da unidade de control microprogramada é a simplicidade da súa estrutura. Os bloques de saída da controladora son organizados en microinstrucións que poden ser facilmente substituídos.<ref>{{Cita libro|lingua=inglés|apelidos=Wiśniewski|nome=Remigiusz|título=Synthesis of compositional microprogram control units for programmable devices|ano=2009|editorial= University of Zielona Góra|lugar=Zielona Góra|isbn=978-83-7481-293-1|páxina=153}}</ref>

== Notas ==
{{listaref}}

== Véxase tamén ==
=== Outros artigos ===
* [[Microcódigo]]

[[Categoría:Computadoras]]