Unidade de control

Na Galipedia, a Wikipedia en galego.

A unidade de control é un compoñente da 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.[1]

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.[2] Nos proxectos dos computadores modernos, a unidade de control é tipicamente unha parte interna do UCP que posúe tódala súa función e a súa operación sen mudanzas dende que foi introducida.

Funcións[editar | editar a fonte]

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 guar dados e instrucións de e para os destinos externos (p.ex. memoria).

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.[3]

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 requir 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 porquelos 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 1930 ou 1940, sen unha unidade de control axeitada, era frecuentemente necesario reconfigurar o seu hardware cando se alternaban os programas.[4]

O proceso de descodificación de 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[editar | editar a fonte]

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 microinstruións e almacenados nunha memoria de control especial. O algoritmo do microprograma da unidade de control é xeralmente especificado por un diagrama de fluxo.[5] A principal vantaxe da unidade de control microprogramada é a simplicidade da súa estrutura. Os bloques de saída da controladora son organizados en microinstructions que poden ser facilmente substituídos.[6]

Notas[editar | editar a fonte]

  1. Patterson, David; Hennessy, John (2012). Computer Organization and Design: The Hardware/Software Interface (4, revised ed.). Morgan Kaufmann. ISBN 978-0-12-374750-1. 
  2. von Neumann, John (1945). First Draft of a Report on the EDVAC (PDF) (Informe). Moore School of Electrical Engineering, University of Pennsylvania. 
  3. Englander, Irv (2009). The Architecture of Computer Hardware, Systems Software, & Networking, 4th Ed. Hoboken, NJ: John Wiley & Sons, Inc. p. 200. ISBN 978-0-471-71542-9. 
  4. Forouzan, Behrouz; Mosharraf, Firouz (2008). Foundations of Computer Science (en inglés) (2 ed.). Londres: Thomson. p. 9. 
  5. Barkalov, Alexander; Titarenko, Larysa (2009). Logic synthesis for FSM based control units (en inglés). Berlin: Springer. ISBN 978-3-642-04308-6. 
  6. Wiśniewski, Remigiusz (2009). Synthesis of compositional microprogram control units for programmable devices (en inglés). Zielona Góra: University of Zielona Góra. p. 153. ISBN 978-83-7481-293-1. 

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]