Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin
Concepto de computador
Su organizacin interna
Los elementos que lo conforman
El funcionamiento general que tienen y
Cmo se interconectan.
Los microcontroladores.
Los procesadores digitales de seales (DSP).
Finalmente, se realiza una explicacin breve sobre la evolucin de los computadores desde
las primeras mquinas electrnicas de clculo hasta los computadores actuales, y se
muestra la organizacin de los microprocesadores multincleo
Objetivos
Con el estudio de este captulo se pretende que el estudiante alcance los objetivos
siguientes:
1) El computador
Un computador est definida como una mquina electrnica
capaz de hacer las tareas siguientes:
a) Aceptar informacin.
b) Almacenarla.
c) Procesarla segn un conjunto de instrucciones.
d) Producir y proporcionar unos resultados.
Y para efectuar las tareas sealadas en los incisos anteriores, el computador dispone
de tres componentes principales:
Resumimos a continuacin las tareas que debe realizar cada uno de los componentes
del computador:
Teniendo en cuenta esta diferencia, podemos tener computadores con una organizacin
diferente, pero que comparten la misma arquitectura.
Por ejemplo, los microprocesadores Intel64 tienen una organizacin diferente de los
microprocesadores AMD64, sin embargo, comparten una misma arquitectura.
Un sistema de propsito general debe ser capaz de hacer unas operaciones aritmticas
y lgicas bsicas, a partir de las cuales se puedan resolver problemas ms complejos.
Desde el punto de vista de las instrucciones, cada instruccin mquina que se ejecuta en
el procesador genera un determinado conjunto de seales a fin de que la ALU haga una
operacin determinada.
Desde el punto de vista de las operaciones que lleva a cabo la ALU, se puede decir que
cada operacin consiste en activar un conjunto de seales de control. Si se codifica cada
conjunto de seales de control con un cdigo, obtenemos un conjunto de cdigos. Este
conjunto de cdigos define el conjunto de instrucciones con el que se puede programar el
computador.
Dentro del procesador es necesaria una unidad, denominada unidad de control, que sea
capaz de interpretar las instrucciones para generar el conjunto de seales de control
necesarias para gobernar la ejecucin de las instrucciones.
Las instrucciones que ejecuta el computador y los datos necesarios para cada
instruccin estn almacenados en la memoria principal, pero para introducirlos en la
memoria es necesario un dispositivo de entrada. Una vez ejecutadas las instrucciones
de un programa y generados unos resultados, estos resultados se deben presentar a
los usuarios y, por lo tanto, es necesario algn tipo de dispositivo de salida.
Dispositivos de entrada.
Memoria principal.
Dispositivos de salida.
3) Arquitectura Harvard
Tal como se puede ver en la figura siguiente, las unidades que forman un microcontrolador
se pueden agrupar en tres bloques principales:
1) Unidad de proceso:
Procesador
Memoria de programa
Memoria de datos
Lneas de interconexin
2) Dispositivos de E/S:
Temporizadores
Convertidores analgico-digital
Comparadores analgicos
Puertos de comunicacin
3) Recursos auxiliares:
Circuito de reloj
Modos de bajo consumo
Temporizador de vigilancia o watchdog
Reinicializacin o reset
Estructura de un C
A continuacin se describe de manera general cada uno de los elementos que forman
la unidad de proceso de un microcontrolador:
3) Memoria de datos. En esta memoria se almacenan los datos utilizados por los
programas. Los datos varan continuamente y, por lo tanto, hay que
implementarla utilizando memorias voltiles, memoria RAM, sobre la cual se
pueden realizar operaciones de lectura y escritura. Habitualmente se utiliza SRAM
(memoria RAM esttica o static RAM). Si es necesario guardar algunos datos de
manera permanente o que varen poco (configuracin o estado del
microcontrolador), se utiliza memoria EEPROM o flash.
Dispone de un procesador con gran potencia de clculo preparado para tratar seales
en tiempo real y puede hacer operaciones aritmticas a gran velocidad; generalmente,
tambin dispone de convertidores de seales analgicas a digitales (ADC) o
convertidores de seales digitales a analgicas (DAC).
Otra de las diferencias importantes entre los DSP y otros procesadores es que estn
diseados para que sean escalables y para trabajar en paralelo con otros DSP. Esto
hace necesario disponer de elementos para sincronizar el funcionamiento de diferentes
DSP.
Aplicaciones de los DSP
Algunos ejemplos concretos de estas aplicaciones son los telfonos mviles, los
reproductores de audio digital (MP3), los mdems ADSL, los sistemas de telefona de
manos libres (con reconocimiento de voz) y los osciloscopios.
Mejoras de un DSP
Las mejoras que pueden incluir un DSP son varias: se incluyen buses para transferir
instrucciones y datos de tamao superior al necesario, ms de un bus de direcciones y de
datos para acceder a los datos, implementacin de tcnicas de paralelismo para permitir
la segmentacin de la ejecucin de las instrucciones y hacer varias operaciones
elementales por ciclo, operaciones lgicas y aritmticas complejas, etc.
En los procesadores actuales, el nmero de transistores en un chip est por encima de los
100 millones y, en algunos casos, llega a estar por encima de los 1.000 millones de
transistores.
Intel 4004
La memoria cach se coloca como una memoria intermedia entre la memoria principal y
el procesador. Cuando el procesador necesita un dato o una instruccin, primero se
comprueba si est en la memoria cach y solo en caso de que no lo est se debe traer de
la memoria principal para acceder a l.
La memoria cach puede estar dividida en dos partes: una memoria cach de instrucciones
y una de datos. Desde este punto de vista, se puede decir que loscomputadores con
memoria cach dividida utilizan una arquitectura Harvard, o una arquitectura Harvard
modificada, ya que la separacin de la memoria solo existe en algunos niveles de la
memoria cach, pero no en la memoria principal.
En el ejemplo siguiente se muestra un computador con dos niveles de memoria cach (L1
y L2), en el que el primer nivel de memoria cach est dividido en una memoria cach
de instrucciones y una memoria cach de datos.
Las tendencias actuales pasan por utilizar buses de tipo serie de alta velocidad en lugar
de buses paralelos y tambin por utilizar interconexiones punto a punto, que permiten
eliminar los problemas de compartir un bus entre diferentes elementos del computador.
Un diseo cada vez ms habitual es el de disponer de una conexin directa entre el sistema
de memoria y el procesador.
La evolucin de los microprocesadores pasa por incluir en un solo chip varios ncleos,
donde cada ncleo incluye todas las unidades funcionales de un procesador (registros,
ALU y unidad de control), lo que da lugar a lo que se conoce como procesador multincleo.
Actualmente, dentro del microprocesador pueden estar los tres niveles de memoria cach
(L1, L2 y L3). Dispone de una memoria cach de primer nivel para cada ncleo, dividida
en memoria cach de instrucciones y memoria cach de datos, una memoria cach
unificada de segundo nivel para cada ncleo y una memoria cach de tercer nivel unificada
y compartida por todos los ncleos.
Resumen
Dentro de la arquitectura Von Neumann se han estudiado los elementos que componen
un computador que utilice esta arquitectura y las caractersticas principales que tiene:
Procesador
Memoria
Unidades de E/S
Sistema de interconexin
Microcontroladores
DSP
Finalmente, se ha llevado a cabo una descripcin breve de la evolucin que han tenido los
computadores, analizando las mejoras que se han ido introduciendo en cada uno de los
elementos que los componen: procesador, sistema de memoria, sistema de interconexin
y sistema de E/S. Se ha acabado comentando la organizacin de los microprocesadores
actuales: los microprocesadores multincleo.
CAPITULO 4
JUEGO DE INSTRUCCIONES
Introduccin
Para definir un juego de instrucciones hay que saber cmo se ejecutan las instrucciones,
qu elementos las forman y cules son las diferentes maneras de acceder a los datos y a
las instrucciones. Estos son los conceptos que trataremos en este mdulo y lo haremos
de manera genrica para poderlos aplicar a todo tipo de problemas reales y de
procesadores comerciales.
Veremos cmo estos conceptos afectan a los diferentes parmetros de la arquitectura del
computador a la hora de definir el juego de instrucciones, qu restricciones nos imponen
y cmo podemos llegar a un compromiso entre facilitar la tarea al programador y dar una
eficiencia mxima al computador.
Objetivos
Con los materiales didcticos de este mdulo se pretende que los estudiantes alcancen los
objetivos siguientes:
1) Juego de instrucciones
La mayora de los programas se escriben en lenguajes de alto nivel, como C++, Java o
Pascal. Para poder ejecutar un programa escrito en un lenguaje de alto nivel en un
procesador, este programa se debe traducir primero a un lenguaje que pueda entender el
procesador, diferente para cada familia de procesadores. El conjunto de instrucciones que
forman este lenguaje se denomina juego de instrucciones o repertorio de instrucciones.
Para poder definir un juego de instrucciones, habr que conocer bien la arquitectura del
computador para sacarle el mximo rendimiento; en este mdulo veremos cmo queda
definido un juego de instrucciones segn una arquitectura genrica.
1) Lectura de la instruccin.
2) Lectura de los operandos fuente.
3) Ejecucin de la instruccin y almacenamiento del operando destino.
4) Comprobacin de interrupciones.
Las fases del ciclo de ejecucin son comunes en la mayora de los computadores actuales
y las diferencias principales se encuentran en el orden en el que se llevan a cabo algunas
de las operaciones de cada fase o en el que se hacen algunas de las operaciones en otras
fases.
1.2. Arquitectura del juego de instrucciones
1.3. Representacin del juego de instrucciones
1.4. Formato de las instrucciones
1.4.1. Elementos que componen una instruccin
1.4.2. Tamao de las instrucciones
1.5. Operandos
1.5.1. Nmero de operandos
1.5.2. Localizacin de los operandos
1.5.3. Tipo y tamao de los operandos
1.6. Tipos de instrucciones
1.6.1. Bits de resultados
1.6.2. Instrucciones de transferencia de datos
1.6.3. Instrucciones aritmticas
1.6.4. Instrucciones lgicas
1.6.5. Instrucciones de ruptura de secuencia
1.6.6. Instrucciones de entrada/salida
1.6.7. Otros tipos de instrucciones
1.7. Diseo del juego de instrucciones
2. Modos de direccionamiento
2.1. Direccionamiento inmediato
2.2. Direccionamiento directo
2.3. Direccionamiento indirecto
2.4. Direccionamiento relativo
2.4.1. Direccionamiento relativo a registro base
2.4.2. Direccionamiento relativo a registro ndice
2.4.3. Direccionamiento relativo a PC
2.5. Direccionamiento implcito
2.5.1. Direccionamiento a pila
Resumen