4.2.1.- FUNCIONES DE LA CPU Sabe ir a buscar una determinada

Anuncio
4.2.1.- FUNCIONES DE LA CPU
Sabe ir a buscar una determinada palabra, si le indicamos en qué dirección está, y sabe
interpretarla. El procesador lee la información o instrucción en unidades de bits. Un bit (digito
binario) representa la unidad de información (para el almacenaje) más pequeña, la cual solo
puede tener dos posiciones ("0" ó "1"). "0/1" representa un bit ("0" implica "apagado" y "1"
implica "activado"). Ocho bits consecutivos representan un "byte".
El "byte" posee la capacidad de almacenar una caracter (una letra o un número). El procesador
leera los bits de 16 en 16, cada instrucción de un programa debe caber en 16 bits. Son 2 16
posibilidades las que se pueden lograr con 16 bits. Los kilobytes (K ó Kb) representan 1024
"bytes". Por ejemplo, 4K implica 4096 "bytes de información. Cada megabyte (M ó Mb)
equivalen aproximadamente a un millón de "bytes" de almacenaje. Un gigabyte (GB) es
aproximadamente un billón de bytes o un millón de kilobytes.
•
Sabe ir a buscar una determinada palabra, si le indicamos en qué dirección está, y sabe
interpretarla. El procesador lee la información o instrucción en unidades de bits. Un bit
(digito binario) representa la unidad de información (para el almacenaje) más pequeña, la
cual solo puede tener dos posiciones ("0" ó "1"). "0/1" representa un bit ("0" implica
"apagado" y "1" implica "activado"). Ocho bits consecutivos representan un "byte".
•
El "byte" posee la capacidad de almacenar una caracter (una letra o un número). El
procesador leera los bits de 16 en 16, cada instrucción de un programa debe caber en 16
bits. Son 216 posibilidades las que se pueden lograr con 16 bits. Los kilobytes (K ó Kb)
representan 1024 "bytes". Por ejemplo, 4K implica 4096 "bytes de información. Cada
megabyte (M ó Mb) equivalen aproximadamente a un millón de "bytes" de almacenaje.
Un gigabyte (GB) es aproximadamente un billón de bytes o un millón de kilobytes.
•
Los códigos más comunes que representan caracteres en una computadora son los
códigos ASCII ("American Code Information Interchange") y EDCDIC (Extended Binary
Coded Decimal Interchange Code"). La combinación de los "bits" (0 y 1) forman los
caracteres particulares. ASCII se utiliza en las computadoras personales, mientras que
EBCDIC se emplea en los "mainframes". Cuando se usa el códico ASCII ó EBCDIC, cada
caracter que se representa se almacena en un "byte" de memoria. Para cada "byte" de
memoria, la mayoría de las computadoras poseen un "bit" adicional. Esto se conoce
como "parity bit". Se utiliza la para detectar errores/cambios que pueden ocurrir en uno
de los bits dentro de un byte. Estos errores pueden surgir como consecuecia de
fluctuaciones en el voltaje, estática eléctrica, o fallo de memoria.
PROCESANDO LA INFORMACIÓN
ENTRADA: Tomar la Información
– Suministrar información a la computadora
– Teclados, mouse.
•
PROCESO: Manipular la Información o utilizarla de Alguna Forma
– Análisis de los datos
– CPU, memoria principal
•
ALMACENAMIENTO: Guardar la Información Oganizada para uso Posterior.
– Lugar donde se guarda la información
– Unidad de discos flexible, disco duro, cinta magnética, almacenaje óptico
•
SALIDA: Mostrar los Resultados de lo que se ha Hecho
– Resultados/presentación del producto (informes, documentos, gráficas, fotos,
música, entre otros)
– Pantalla, impresora
UNIDAD DE CONTROL
La Unidad de Control, es la parte que interpreta las instrucciones del programa almacenado en
memoria, generando la información necesaria para controlar los dispositivos periféricos y, desde
luego, los procesos. Estas instrucciones del programa no se refieren a las instrucciones de los
lenguajes de alto nivel (Basic, C++, Fortran, etc.) sino a las instrucciones en lenguaje de máquina
(cadenas de bits) en que son convertidos los comandos y funciones de estos lenguajes al ser
compilados (convertidos a lenguaje de máquina) los programas que los contienen.
UNIDAD ARITMÉTICA Y LÓGICA.
La Unidad Aritmética y Lógica (ALU), realiza las operaciones indicadas por la unidad de control y
almacena los datos de las variables que intervienen, así como los resultados en registros
(conjunto de celdas que permiten almacenar una cadena de bits); como su nombre lo indica, es
la unidad que realiza todos los procesos de cálculo en la computadora.
Todas las operaciones que puede realizar un microprocesador son de alguno de estos tres tipos:
Aritméticas, Lógicas y de corrimiento. Los dos primeros son realizadas por la ALU, mientras que
las de corrimiento por lo general, se realiza en un registro auxiliar a la salida de la ALU, como
posteriormente lo veremos. Nosotros como usuarios no nos damos cuenta de esto, pero
internamente todos los procesos tienen que ser concebidos tomando en cuenta estos tres tipos
de operación.
En cuanto a la parte aritmética, una ALU común realiza sumas, operación que resulta suficiente
para llevar a cabo la resta, multiplicación y división, utilizando programación y algoritmos
sucesivos; también realiza el complemento a dos (convertir a negativo un número para que al
sumarlo se este restando), entre otras muchas funciones.
En la parte lógica, se tienen varias operaciones como la INV, OR, AND y XOR que son operaciones
de bit a bit y que se manejan de forma análoga a la lógica convencional.
REGISTROS
Los Registros permiten almacenar, entre otras cosas los resultados de los cálculos de la ALU o la
dirección de memoria donde se encuentra la siguiente instrucción.Utilizamos registros ya que
sería demasiado difícil accesar a la memoria principal directamente, por lo que los valores son
“sacados” de la memoria y almacenados temporalmente en los registros. En un sentido más
claro, los registros son celdas de almacenamiento temporal, como pequeñas memorias, por lo
general del tamaño de uno, dos, o hasta 4 bytes, o bien 8, 16, 32 ó 64 bits, donde cada flip –
flop puede almacenar un solo bit, así un registro consta de 8, 16 ó 32 flip – flops. Una vez
guardado un valor dentro de un registro, es más fácil de utilizar para la ALU, quien es la unidad
que los utiliza más, ya que garantizamos que los datos estarán disponibles hasta que ocupemos
el registro con otros datos
De manera general, podemos mencionar 6 registros muy importantes, pasando por alto de
momento, a que unidad pertenecen (control o procesadora):
a) Contador de programa (PC, Program Counter), guarda la dirección de memoria donde
se encuentra la instrucción a ejecutar. Es el registro que indica la dirección de memoria, donde
se encuentra la instrucción que se tiene que ejecutar. Recordemos que las instrucciones están
contenidas en programas y estos a su vez están almacenados en la memoria.
b) Acumulador (ACC, Accumulator), almacena los resultados de las operaciones
efectuadas por la ALU. El Acumulador es un registro muy utilizado al momento de hacer
operaciones y tanto datos como resultado deben pasar por él.
c) Registro de Estado (FR, Flag Register), sirve para indicar determinados estados o
condiciones que se han producido al ejecutar la última operación.
Este registro nos “avisa” cual fue el estatus de la última operación realizada y nos ayuda a
monitorear las acciones. Si una operación implica un acarreo se indica en este registro mediante
un solo bit, si hay un sobreflujo también se tiene asignado un solo bit del registro para indicarlo.
A este registro, también se le conoce como Flag Register o Registro de Banderas.
d) Registro de Instrucción (IR, Instruction Register). En este registro se carga el contenido de
la dirección marcada por el Contador de Programa. Es decir se transfiere el contenido de la
localidad cuya dirección está almacenada en el PC.
e) Punteros de Stack (SP, Stack Pointer), utilizados por el microprocesador para
almacenar datos de forma temporal. Estos punteros tienen la dirección donde está ubicada la
información. Sirven como “apuntadores” a direcciones útiles.
f) Registros auxiliares (AX, BX, CX, Auxiliary Registers). Estos forman parte importante en
el desarrollo de operaciones, ya que almacenan temporalmente datos de variables que se
utilizan momentáneamente y que interactuan con el acumulador principalmente.
Descargar