You are on page 1of 53

Introduccin a los Microprocesadores y Computadoras

El microprocesador y la computadora

El microprocesador es un circuito integrado digital que puede programarse con una serie de instrucciones, para realizar funciones especficas con los datos.

Cuando un microprocesador se conecta a un dispositivo de memoria y se provee de dispositivos de entrada y salida, pasa a ser una computadora.

Electronics Template

Objetivos

Arquitecturas
Von Neumann Harvard

Unidad Central de Procesamiento (CPU)


Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrnica y buses

Electronics Template

Arquitecturas
Corresponde a la estructura, organizacin, e interconexin de las diversas partes de un computador

Arquitectura es la descripcin de un sistema en un nivel de abstraccin alto: Ej., mediante un diagrama de bloques Ej., arquitectura de computadoras (refirindonos al procesador noms; no al disco, interfaces, etc.), de la cual hay dos tipos:

Electronics Template

Arquitecturas
1) Arquitectura de Conjunto de Instrucciones Instruction-Set Architecture, o ISA Es la arquitectura vista desde afuera - Registros, conjunto de instrucciones, esquema de interrupciones, tamao de las instrucciones, maneras de acceder a memoria, etc. A esta, a veces se le dice arquitectura a secas. 2) Microarquitectura
Es la arquitectura interna del procesador

O sea, cmo est implementada la ISA.


- Registros, Interconexin entre los componentes, mecanismos de Entrada/Salida (I/O), Jerarquas de memoria.

Arquitecturas
Qu hace un computador?.
Almacenar Datos (leer - escribir). Almacenar Programas. Ejecutar operaciones sobre datos. Ejecutar algoritmos. Recibir nuevos datos. Entregar resultados.

Electronics Tmplate

Arquitectura: von Neumann


John von Neumann (28 de diciembre de 1903 - 8 de febrero de 1957)

Fue un matemtico hngaro-estadounidense, de ascendencia juda. Fue pionero de la computadora digital moderna y de la aplicacin de la teora operadora a la mecnica cuntica.

Tradicionalmente los sistemas con microprocesadores se basan en esta arquitectura, en la cual la unidad central de proceso (CPU), est conectada a una memoria principal nica (casi siempre slo RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se accede a travs de un sistema de buses nico (control, direcciones y datos).
Electronics Template

Arquitectura: von Neumann


John von Neumann propuso una manera de estructurar un computador.

Almacenar Datos (leer - escribir). Memoria Almacenar Programas. Ejecutar operaciones sobre datos. CPU Ejecutar algoritmos. Recibir nuevos datos. Input/Output Entregar resultados.

Electronics Template

Arquitectura: von Neumann (Ventajas)


Uso mas eficiente de la memoria Jerarqua de memoria no requiere estar dividida en 2
Ms simple arquitectnicamente Un solo tipo de instrucciones para acceder a memoria Un solo bus de datos y de direcciones Una misma forma de acceso a datos e instrucciones

Mayor flexibilidad til para el sistema operativo Paginacin a disco Cdigo automodificante
CPU con menos operaciones y ms flexible
Electronics Template

Arquitectura: von Neumann


Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son:
- La limitacin de la longitud de las instrucciones por el bus de datos, que hace que el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas. - La limitacin de la velocidad de operacin a causa del bus nico para datos e instrucciones que no deja acceder simultneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso.

Electronics Template

La arquitectura Von Neumann describe a la computadora con 4 secciones principales: la unidad lgica y aritmtica (ALU), la unidad de control, la memoria, y los dispositivos de entrada y salida (E/S).
Data Bus
Control
Memoria CPU I/O

Arquitectura: von Neumann

Control
Address Bus

Electronics Template

Arquitectura: Harvard
Este modelo tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes.

Electronics Template

Arquitectura: Harvard (Ventajas)


Instrucciones y datos de distinto largo
Memorias de distinto tamao bits de direccionamiento distintos Memorias con distinta tecnologa Disminuyo el cuello de botella en el acceso a memoria

En controladores embebidos: RAM para los datos ROM para las instrucciones

Electronics Template

Unidad de Central de Procesamiento (CPU)


1 Partes de la CPU. 2 Ciclo de la Instruccin. 3 Conjunto de Instrucciones y tipos de funcionalidad.

4 Diseo de una CPU bsica.


5 CISC/RISC. 6 Modos de direccionamiento. 7 Instrucciones en lenguaje de mquina. 8 Subrutinas y Manejo de Stack.

9 Interrupciones de software y hadware.


Electronics Template

Partes de la CPU
Componente principal de un computador, encargado del control de flujo, decodificacin y ejecucin de instrucciones, y procesamiento y transferencia de datos.

Cerebro del computador


Responsabilidades: Ejecutar Operaciones y Algoritmos Controlar Flujo del Programa Controlar Circuitos Internos

Electronics Template

Partes de la CPU

Registros Program Counter Instruction Register Uso general ALU FPU Control & Decode Buses Circuitera

Electronics Template

Buses del microprocesador


Bus de Direcciones Bus de Datos Bus de Control

Data Bus
Control
Memoria CPU I/O

Control
Address Bus

Electronics Template

Programacin de microprocesadores
En general, el set de instrucciones se divide en grupos:

Transferencia de datos Aritmtica Manipulacin de bits Bucles y saltos Cadenas de caracteres Subrutinas e interrupciones Control del procesador

Electronics Template

Programacin de microprocesadores
Lenguaje mquina (0s y 1s) Lenguaje ensamblador (assembler -> nemotcnicos) Lenguaje de alto nivel (C, C++, FORTRAN, BASIC, etc)

Electronics Template

Programacin de microprocesadores

Electronics Template

Programacin de microprocesadores

Independencia con respecto a la mquina de un programa escrito en lenguaje de alto nivel.


Electronics Template

Ejemplos de programas en lenguaje ensamblador y alto nivel (C++)

Electronics Template

Familias de microprocesadores

Electronics Template

El uP 8086/8088 de Intel
El conjunto de registros bsico y otras caractersticas del 8086/8088 se han conservado (y ampliado) a lo largo de este proceso evolutivo, por lo que todos los procesadores Intel ms modernos responden a las mismas instrucciones (adems de a una serie de instrucciones nuevas) que los dispositivos originales. En esta seccin vamos a comenzar con una breve introduccin a los conceptos bsicos de la arquitectura, operacin y programacin de un microprocesador. El uP 8088 tiene 20 bits de direccin, que permiten direccionar 1 MB (1.048.576 bytes) de memoria y utilizaba un bus de datos de 8 bits. Internamente, el 8088 tena un bus de datos de 16 bits y una cola de 4 bytes. El 8086 era idntico salvo porque dispona de un bus de datos externo de 16 bits y una cola de instrucciones de 6 bytes.
Electronics Template

El uP 8086/8088 de Intel: Funcionamiento


Un microprocesador ejecuta un programa pasando repetidamente por los tres pasos siguientes:
1. Extraer una instruccin de la memoria y colocarla en la CPU. 2. Decodificar la instruccin; si la instruccin requiere alguna otra informacin, extraer dicha informacin. En el paso de decodificacin, se actualiza el contador de programa para que apunte a la instruccin siguiente. 3. Ejecutar la instruccin (hacer lo que la instruccin indica). Los resultados se devuelven a los registros y a la memoria en este paso.
Electronics Template

El uP 8086/8088 de Intel: Funcionamiento

Unidad de interfaz con el bus (BIU) Cola de intrucciones Registros de segmento (CS, DS, SS, ES) Puntero de Instruccin (IP) y bloque sumador de direcciones

Electronics Template

El uP 8086/8088 de Intel

El uP 8086/8088 de Intel
Cada segmento representa 64kB.

Electronics Template

El uP 8086/8088 de Intel

Electronics Template

El uP 8086/8088 de Intel

Unidad de Ejecucin (EU)

Decodifica las instrucciones extradas por la BIU Genera las apropiadas seales de control y Ejecuta las instrucciones. Las partes principales de la EU son la unidad aritmtico-lgica (ALU), los registros generales y los indicadores.
Electronics Template

El uP 8086/8088 de Intel

Electronics Template

Modelo software de la familia de procesadores Pentium

Electronics Template

El uP 8086/8088 de Intel

Electronics Template

Operacin CPU-memoria del 8086/8088

Electronics Template

Operacin CPU-memoria del 8086/8088

Electronics Template

Puertos de Entrada/Salida (E/S)

Puertos de Entrada/Salida (E/S)

Interrupciones
Una interrupcin es una seal o instruccin que hace que el proceso actual se detenga temporalmente mientras se ejecuta una rutina de servicio.
E/S

sondeo E/S controlada por interrupcin Interrupciones por software

Acceso Directo a Memoria (DMA)

Conjunto de instrucciones del CPU

CISC (Complex Instruction Set Computer):

Los procesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos. Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones.

Conjunto de instrucciones del CPU

RISC (Reduced Instruction Set Computer):

En estos procesadores el repertorio de instrucciones de mquina es muy reducido y las instrucciones son simples y generalmente, se ejecutan en un ciclo de instruccin. Las caractersticas fundamentales se muestran a continuacin: Las instrucciones son de tamaos fijos y son presentadas en un reducido nmero de formatos. Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos. El objetivo de disear mquinas con esta arquitectura es posibilitar la segmentacin y el paralelismo en la ejecucin de instrucciones y reducir los accesos a memoria.

Segmentacin (Pipelining)
Fases de la segmentacin: 1. Instruction Fetch (IF) a leer la instruccin. 2. Instruction Decode (ID) a leer los registros y hacer alguna decodificacin de la instruccin que haga falta. 3. Execute (EX) a calcular el resultado, si se trata de una operacin aritmtico-lgica, o la direccin de memoria, si es un load store. 4. Memory (MEM) a acceder a la memoria. 5. Write Back (WB) a escribir el registro destino.

Segmentacin (Pipelining)

Mltiple Inicio de Instrucciones


Como vimos, un pipeline procesa varias instrucciones al mismo tiempo, pero en cada ciclo slo se inicia una. Pero un procesador puede tener n pipelines, para iniciar n instrucciones por ciclo y lograr as ms paralelismo. Los pipelines puede ser iguales o no. Por ej., uno para instrucciones aritmticas, otro para loads y stores. Si el procesador puede iniciar n a la vez, se le dice n-issue. Para esto, hay dos tipos de arquitectura, que difieren en dnde se decide qu instrucciones se van a iniciar en paralelo: Superescalar: Lo decide el procesador, en tiempo de ejecucin. Se usa, por ej., en los procesadores de PC desde el Pentium, y en procesadores para embebidos de alta gama VLIW (Very-Long Instruction Word): Lo decide el compilador o el programador. Se usa, por ej., en los DSP de Texas Instruments..

Mltiple Inicio de Instrucciones

Sistemas Embebidos (SE) (Embedded Systems)

Sistemas Embebidos

Un sistema embebido (SE) es un sistema diseado para realizar una o algunas pocas funciones dedicadas, frecuentemente en tiempo real. Los sistemas embebidos se utilizan para usos muy diferentes a los usos generales a los que se suelen someter a las computadoras personales.

Caractersticas: Emplean una combinacin de recursos de hardware y software para realizar una funcin especifica. Realizan una nica funcin o un conjunto muy limitado de funciones (no suelen ser de propsito general). Interaccionan con el entorno a travs de dispositivos de E/S no usuales, por lo que suele ser necesario un acondicionamiento de las diferentes seales.

Sistemas Embebidos

ATmega168 (Caractersticas)

16K bytes de memoria tipo flash programable enSistema donde reside el programa de usuario. 1K bytes de memoria SRAM de lectura y escritura. 512 bytes de memoria EEPROM. 32 registros de trabajo de propsitos generales (acumuladores). 23 lneas de E/S de propsito general. 3 TIMERS (temporizadores / contadores) con funciones de captura de flancos (especialmente tiles para leer frecuencia o perodo) y salidas de tipo PWM para utilizar en tareas de control. interrupciones externas.

ATmega168 (Caractersticas) (continuacin)


1 sistema de comunicacin serie asincrnica USART programable, para interconectar con dispositivos va RS-232 o RS-485. 1 sistema comunicacin serie sincrnica SPI, para interconectar con chips externos que amplen las posibilidades del sistema embebido. 6 canales ADC de 10 bits. 1 comparador analgico. 1 watchdog programable con oscilador interno 5 modos de ahorro de energa, seleccionables por software.

Esquema de la arquitectura interna del ATMega168.

Esquema interno de la CPU del ATMega168.

FIN

You might also like