La CPU (Unidad Central de Procesamiento) es la parte más importante de
cualquier sistema basado en microprocesadores. Debe generar señales de control y
ejecutar el programa del usuario, para esto realiza dos sub-tareas o fases:
·
Fase de búsqueda (fetch).- Se
realiza el acceso a la memoria para leer la instrucción a ejecutar
·
Fase de ejecución.- Se realiza la
activación de los recursos necesarios para llevar a cabo la instrucción
interpretada.
Para realizar todas estas tareas la CPU esta interconectada con su
entorno mediante 1 o más buses internos.
Las CPUs más conocidas que solo tienen un bus son: 8085, 8086, 68000,etc.
En los CPUs que usan más de un bus tenemos a los DSP, PIC, 8051, etc.
Fig1. CPU con un solo
bus
Fuente: Sanchis E. (2002), Sistemas
electrónicos digitales: fundamentos y diseño de aplicaciones, Valencia:
España, Editorial Maite Simon
Fig.2 CPU con dos
buses
Fuente: Sanchis E. (2002), Sistemas
electrónicos digitales: fundamentos y diseño de aplicaciones, Valencia:
España, Editorial Maite Simon
Buses.- Los buses son cualquier conexión para transferir señales eléctricas,
permitiendo una comunicación entre dos o más componentes.
Los buses se clasifican en:
1.
Bus de datos.- Son líneas de
comunicación por donde circulan los datos internos y externos del
microprocesador. Este bus es bidireccional, de escritura cuando el flujo de
datos es desde la unidad de control hacia las demás unidades de operación y es
de lectura cuando el flujo va de las unidades de operación a la unidad de
control. La conexión de este bus se lo realiza por medio de puertas tri-estado.
Según la cantidad de
buses de datos que se tengan se puede determinar la arquitectura de la
computadora:
Arquitectura Von
Neumann.- Solo tiene un bus de datos por donde circulan los datos y las
instrucciones
Arquitectura Harvard.-
Tiene 2 buses de datos, uno para datos y el otro para instrucciones
2.
Bus de direcciones.- Líneas de
comunicación por donde viajan las direcciones específicas de memoria del dato o
dispositivo del que se hace referencia. Este bus es unidireccional desde el
microprocesador a las demás unidades, el código binario de la dirección es
enviado ya sea a la RAM o a la ROM para leer la información de dicha dirección.
Las líneas disponible del bus de direcciones determinan el tamaño máximo de
memoria que puede ser acomodado en el sistema, para n líneas el bus puede
especificar 2n palabras de memoria.
3.
Bus de control.- Líneas de
comunicación por donde se controla el intercambio de información entre la
unidad central y los periféricos mediante señales de control enviados por la
unidad de control. Estas señales son de lectura o escritura en la RAM,
habilitación de interrupciones, etc.
4.
Bus de expansión.- Este bus es el
encargado de llevar el bus de datos, direcciones y control a las tarjetas de
interfaz de E/S.
Fig. 3 Los diferentes tipos de buses
Fuente: http://www.google.com.bo/imgres?q=buses+de+datos&um=1&hl=es&sa=N&biw=1527&bih=862&tbm=isch&tbnid=-HbuChZGn82e9M:&imgrefurl=http://www.hardside.com.ar/docs/buses%2520y%2520puertos.htm&docid=DyA4QsQ7wSczfM&imgurl=http://www.hardside.com.ar/docs/buses%252520y%252520puertos_archivos/image002.jpg&w=587&h=308&ei=muFvUPymLom30AGBl4GwDA&zoom=1&iact=rc&dur=1&sig=107179699532315747458&page=1&tbnh=100&tbnw=191&start=0&ndsp=28&ved=1t:429,r:10,s:0,i:165&tx=886&ty=446,
El bus, hardside.com.ar, recuperado (6/10/12)
Unidad Aritmética Lógica
(ALU).- Es la encargada de realizar las
operaciones aritméticas básicas (suma, resta, multiplicación y división) las
operaciones lógicas (Comparaciones, conjunciones, disyunciones y negaciones).
Los procedimientos de la ALU pueden ser en serie o en paralelo,
siendo el procedimiento en serie más barato y el paralelo más rápido. La mayoría
de los procesadores usan el procedimiento en paralelo.
La ALU usa registros (memorias de almacenamiento provisional) para
su funcionamiento. Los registros que usa la ALU varían según el tipo de
procesador. Los registros más importantes son: Registros de entrada de propósito
general (almacena temporalmente los datos con los que trabaja el microprocesador
en un determinado momento), registros de salida o acumuladores (registro
temporal donde se cargan datos y códigos de operación que deberá ejecutar el
microprocesador).
En la actualidad la ALU se auxilia de manera interna con un
coprocesador matemático, diseñado especialmente para operaciones con punto
flotante y realiza los cálculos solicitados a mayor velocidad.
Fig. 4 ALU con su registro acumulador
Fuente: http://www.google.com.bo/imgres?q=ALU&um=1&hl=es&sa=G&biw=1527&bih=862&tbm=isch&tbnid=U7X6B5RfqAqU5M:&imgrefurl=http://arquitecturadelcomputador-s1.blogspot.com/2010/04/unidad-logica-aritmetica-alu-en.html&docid=wnUeryTvQX24SM&imgurl=https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgErZeYtbv8IJsJO1Ew1zy5OxL-RhxU2SfhWZE2do97RgIY3coPKFTMD3n26FSZdo2gOh6UBlBxWbvt2wBFhkpQgBrz99cZGuhbDGQpbZL4AOINtaqqBwG2Sy65ABwyUVnfFVKEBKhELfg/s1600/alu1.gif&w=486&h=311&ei=7exvULCTAeLg0gHInYCQAg&zoom=1&iact=hc&vpx=897&vpy=199&dur=4398&hovh=180&hovw=281&tx=189&ty=90&sig=107179699532315747458&page=1&tbnh=124&tbnw=194&start=0&ndsp=27&ved=1t:429,r:4,s:0,i:107,
Arquitectura del computador y sistemas operativos, sarai, recuperado (6/10/12)
Unidad de control (UC).-
Es la parte del microprocesador que se encarga de
interpretar las instrucciones para luego ejecutarlas. Esta unidad recibe los
datos secuencialmente desde la memoria por medio del bus de datos.
Sus funciones básicas son:
1.
Leer e interpretar las
instrucciones de los programas
2.
Dirigir la operación de los
componentes internos del procesador
3.
Controlar el flujo de entrada
y salida de programas y en la memoria RAM
4.
Dirigir señales de control
entre la CPU y los dispositivos de E/S
Algunos componentes internos de la UC son: los registros de propósito
general, registro de instrucciones, la lógica de control y temporización, el
contador de programa, registro de estado, registros intermedios y el acumulador
Fig. 5 Unidad de control y su posición dentro del procesador
Fuente: http://www.google.com.bo/imgres?q=unidad+de+control&num=10&um=1&hl=es&biw=1527&bih=823&tbm=isch&tbnid=qaXo-w4yLtRguM:&imgrefurl=http://liliaevans.galeon.com/unidaduno.htm&docid=KKEGKhAPii21qM&imgurl=http://liliaevans.galeon.com/dibujo.png&w=455&h=390&ei=E_BvUJXzEMaH0QH4_IGwDg&zoom=1&iact=hc&vpx=372&vpy=329&dur=9610&hovh=209&hovw=243&tx=158&ty=126&sig=107179699532315747458&sqi=2&page=1&tbnh=137&tbnw=160&start=0&ndsp=29&ved=1t:429,r:8,s:0,i:156,
Organización computacional: Componentes principales de una computadora, liliaevans.galeon.com, recuperado
(6/10/12)
Señales de control.- Son usadas para que el microprocesador realice las operaciones
adecuadamente. En la siguiente figura se muestran las señales de control mas
comunes.
Fig 6. Señales de control en un microprocesador
Fuente: Mano M. (1985), Lógica digital y diseño de computadores, Juárez: México, Editorial
Prentice Hall Inc.
Excepciones.- Algunas veces se necesita la comprobación de los resultados de
operaciones ya sea por el usuario o por el sistema operativo. Este último al
detectar algo anormal, realiza la interrupción del proceso en curso para
estudiar el problema.
Al tratarse de situaciones excepcionales y no ser normales se los
conoce como excepciones. Los sistemas operativos actuales para estos casos
proporcionan un gestor de excepciones que permiten atender estas interrupciones
al momento de su aparición. Los eventos que se atienden con este gestor son:
·
Fallos de Hardware y Software
que afecten al proceso (ejemplo: división por cero)
·
Eventos anómalos (ejemplo: desbordamiento
de una variable de coma flotante)
·
Datos de entrada incorrectos
ingresados por el usuario del programa
Se establecen tres categorías de errores de acuerdo a la gravedad
de estos:
1. Catastróficos.- El sistema es incapaz de recuperarse imposibilitando el
funcionamiento del sistema
2. No recuperables.- Hacen que un proceso no termine su ejecución
3. Recuperables.- Con ciertos ajustes se puede retomar la ejecución del proceso
Instrucciones.- Todas las instrucciones
tienen dos tiempos fundamentales: búsqueda (fetch) y ejecución (execute).
El inicio de una nueva instrucción se da
por la búsqueda, el contador de programa se envía por el bus de direcciones
para su ejecución, al terminar esta el contador de programa se incrementa.
CPU
IRQ.- IRQ en inglés Interrupt Request, petición de
interrupción. Las computadoras usan estas interrupciones para administrar
varios periféricos y sus peticiones, periféricos como ser, tarjetas de sonido, módems,
teclado, etc. Cuando un periférico necesita realizar una determinada acción,
manda un IRQ (petición de interrupción) a la CPU, haciendo que se pause el
proceso que se estaba realizando para dar lugar a que se ejecute la acción del periférico.
DMA.-
Acceso directo a memoria (Direct Memory Access),
permite la transferencia de información de un periférico externo a la memoria, sin
que intervengan ni la CPU ni el programa. Esto se lo realiza cuando la
transferencia es muy frecuente, o cuando el programa no puede realizar una
transferencia a la velocidad solicitada por el periférico.
Antes de realizar este tipo de
transferencia se debe tener en cuenta 2 aspectos:
·
El microprocesador se prive
de las líneas que serán usadas para la transferencia y ponga las salidas de la
CPU en alta impedancia
·
Exista Hardware externo de
control de transferencia, para lo cual existen circuitos integrados controladores
de DMA.
Las funciones de los controladores DMA
son:
1.
Iniciar la transferencia por petición
del periférico o del microprocesador
2.
Direccionar la memoria
3.
Sincronizar el desarrollo de
la transferencia con la CPU
4.
Activar las señales del bus
de control necesarias para la transferencia
5.
Avisar a la CPU el fin de la
transferencia.
E/S Mapeada en memoria.-
Un sistema de computadora combina un procesador,
memoria RAM, ROM, dispositivos de entrada y salida en un sistema con E/S
mapeada en memoria, los dispositivos se conectan al procesador como a la memoria.
Se le asignan direcciones a los dispositivos de E/S y el software accede a
estos por su dirección específica, el software lee desde un dispositivo de
entrada mediante las mismas instrucciones que se leerían de la memoria. También
realiza la escritura en los dispositivos de E/S como si se tratara de memoria.
Fig. 7 Sistema de E/S mapeada en memoria
Fuente: Valvano J. W (2004), Introducción
a los sistemas de microcomputadores Empotrados, México, Editorial Cengage Learning
Bibliografía
·
Sanchis E. (2002), Sistemas electrónicos digitales: fundamentos
y diseño de aplicaciones, Valencia: España, Editorial Maite Simon
·
Santamaría E. (1993), Electrónica digital y microprocesadores, España,
Editado por Universidad Pontificia Comillas
·
Mano M. (1985), Lógica digital y diseño de computadores, Juárez:
México, Editorial Prentice Hall Inc.
·
Martínez G. F. A. – Quetglás
G. M. (2003), Introducción a la
programación estructurada en C, Valencia: España, Editorial Maite Simon
·
Perez C. J. A. – Morera J. M.
(2002), Conceptos de sistemas operativos,
Madrid: España, Editado por Universidad Pontificia Comillas e impreso por
Amábar S. L.
·
Valvano J. W (2004), Introducción a los sistemas de
microcomputadores Empotrados, México, Editorial Cengage Learning
By: Cesar M. Cabrera Vasquez
No hay comentarios:
Publicar un comentario