Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se...

43
Procesador IBM PowerXCell 8i @ 2008 Introducción a los Microprocesadores Microprocesadores I Electrónica Digital III

Transcript of Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se...

Page 1: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

- 1 -

Procesador IBM PowerXCell 8i @ 2008

Introducción a los Microprocesadores

Microprocesadores I Electrónica Digital III

Page 2: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

- 2 -

CONTENIDO

1. Introducción

2. Circuitos Integrados

2.1. La Ley de Moore

2.2. Clasificación según la integración de circuitos integrados

2.3. Clasificación en cuanto a las funciones de un IC

3. Circuitos integrados digitales

3.1. Lógica Cableada

3.1.1. Compuertas Lógicas y circuitos integrados MSI

3.1.2. Circuito integrado de aplicación especifica ASIC

3.2. Lógica programada

3.2.1. Dispositivo lógico programable sencillo – SPLD

3.2.2. Dispositivo lógico programable complejo – CPLD

3.2.3. Arreglo de compuertas programables en campo – FPGA

3.3. Procesador Digital.

3.3.1. Microprocesador – uP

3.3.2. Microcontrolador – uC

3.3.3. Procesador Digital de Señales – DSP

3.3.4. Controlador Digital de Señales – DSC

3.4. Sistemas en Chip

4. Aplicaciones de un Microprocesador

L a b o r a t o r i o d e E l e c t r ó n i c a D i g i t a l – D e p t o . E l e c t r ó n i c a y A u t o m á t i c a – F I -

Page 3: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

3

1 – INTRODUCCIÓN El objetivo de la asignatura es el de estudiar una de las herramientas que nos provee la electrónica para la resolución de problemas mediante técnicas digitales. Dicha herramienta integrada es definida como MICROPROCESADOR. Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el punto de vista de su aplicación en el control de procesos, en los sistemas de adquisición de datos, sistemas de procesamientos de señales, sistemas de comunicaciones y en general para el diseño de dispositivos digitales basados en un microprocesador que realiza una única función, a esto es lo que se le denomina comúnmente como un sistema de dedicado o embebido. Para logra este objetivo el ingeniero que desarrolla y diseña un sistema embebido para solucionar un determinado problema, debe adoptar una actitud totalmente distinta a la que asume el profesional que utiliza el computador como herramienta de cálculo o gestión administrativa. En estos dos últimos casos normalmente se poseen recursos de hardware suficientes o fácilmente expansibles, las interfaces graficas resultan muy convenientes y se procesan gran cantidad de información como bases de datos, imágenes, video, etc. sin un fuerte requerimiento en cuanto al tiempo de procesamiento. En cambio el Ingeniero de desarrollo pretende utilizar al microprocesador como integrante de un proceso físico o biológico, que está evolucionando y al que debe estar continuamente midiendo, procesando y transmitiendo datos y en muchos casos actuando sobre el para guiarlo, según alguna estrategia de optimización preestablecida. El microcomputador dedicado en estos casos puede encontrarse conectado a los periféricos estándar, pero además mediante interfaces específicas como conversores de señales analógicas-a-digitales o ADC y de digitales-a-analógicas o sea DAC, entradas y salidas digitales, salidas moduladas en ancho de pulso (Pulse Width Modulation PWM), etc, comunicarse con el proceso, esto hace que se produzca una variante muy importante que es el tiempo de procesamiento. Esto se debe a que la dinámica del microprocesador ya no es independiente (tiempo no crítico), ahora debe ajustarse a las características dinámicas del proceso exterior, debiendo tomarse las decisiones de control o de emergencia en TIEMPO REAL. El avance tecnológico y la posibilidad de disponer de un microprocesador o un microcomputador en una pastilla (microcontrolador), ha producido una verdadera revolución en la industria, así como en la concepción clásica del Ingeniero. Hasta no hace mucho, el ingeniero era electrónico y se dedicaba al diseño del hardware o se dedicaba al diseño de las técnicas y metodologías de control desde un punto de vista general (ingeniería de sistemas) y dejando la programación de las mismas a un programador. Con la aparición de las microcomputadores y la descentralización del procesamiento informático, surge una interrelación tan grande entre el software y el hardware, que el ingeniero pierde la noción fronteriza entre ambas disciplinas, produciendo la generación de un ingeniero menos especializado con un panorama de sistema más amplio. Para llegar a comprender perfectamente la importancia del microcomputador y del microprocesador dentro del campo de la electrónica digital, conviene hacer un rápido resumen sobre la evolución tecnológica producida en este campo. 2 – CIRCUITOS INTEGRADOS. Un circuito integrado (CI) o chip, es una pastilla muy delgada en la que se encuentra una enorme cantidad (del orden de miles o millones) de dispositivos microelectrónicos interconectados, principalmente diodos y transistores, además de componentes pasivos como resistencias o

Page 4: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

4

condensadores. Su área es de tamaño reducido, del orden de un cm² o inferior. Algunos de los circuitos integrados más avanzados son los microprocesadores, que son usados en múltiples artefactos, desde computadoras hasta electrodomésticos, pasando por los teléfonos móviles. Otra familia importante de circuitos integrados la constituyen las memorias digitales. A continuación mencionaremos la evolución de los circuitos integrados. 2.1 – La Ley de Moore En abril de 1965 el co-fundador de Intel, Gordon E. Moore publicó que la tecnología de circuitos integrados CMOS tenía futuro y que el número de transistores por pulgada en circuitos integrados se duplicaba cada año y que la tendencia continuaría durante las siguientes dos décadas. Moore basado en la anterior afirmación expreso que aproximadamente cada 18 meses duplica el número de transistores en un circuito integrado. Esta tasa de crecimiento en la integración se la conoce como “Ley de Moore”. Dicha ley es una ley puramente empírica cuyo cumplimiento se ha podido constatar hasta la actualidad. En el momento de escribir el artículo que originó su ley, Moore era Director de los laboratorios de Fairchild Semiconductor fabricante de transistores y de circuitos LSI como compuertas. Más tarde, en el verano de 1968, creó Intel junto con Robert Noyce, uno de sus compañeros en ambas empresas. Más tarde, en 1975, Moore modificó su propia ley al afirmar que el ritmo bajaría, y que la capacidad de integración se duplicaría aproximadamente cada 24 meses. Esta progresión de crecimiento exponencial, duplicar la capacidad de los circuitos integrados cada dos años, es lo que se considera la Ley de Moore. Sin embargo, el propio Moore ha puesto fecha de caducidad a su ley: "Mi ley dejará de cumplirse dentro de 10 o 15 años -desde 2007-" Según aseguró durante la conferencia en la que hizo su predicción afirmó, no obstante, que una nueva tecnología vendrá a suplir a la actual. La consecuencia directa de la Ley de Moore es que los precios bajan al mismo tiempo que las prestaciones y la confiabilidad aumentan. Es decir, el precio de la última computadora de hoy caerá la mitad al año siguiente y estará obsoleta en dos años. En 26 años el número de transistores integrados en un chip se ha incrementado 3200 veces. Actualmente esta ley se aplica a ordenadores personales. Sin embargo, cuando se formuló no existían los microprocesadores, inventados en 1971, ni los ordenadores personales, popularizados en los años 1980. 2.2 – Clasificación según la integración de circuitos integrados Teniendo en cuenta el nivel de integración basado en la cantidad de transistores implementados en un circuito, estos se clasifican en Circuitos de: Escala de integración pequeña (Small Scale Integration SSI) Aparecieron a principio de los 60 e integran de 10 a 100 transistores. Cumplían funciones muy básicas, como compuertas lógicas y abarcan desde unos pocos transistores hasta una centena de ellos. Escala de integración mediana (Medium Scale Integration MSI): Aparecen a fines de los 60 e integran de 100 a 1.000 transistores. Económicamente eran circuitos atractivos porque mientras producirlos costaba ligeramente más que los dispositivos SSI, permitieron fabricar sistemas electrónicos más complejos utilizando placas impresas más pequeñas, menos trabajo al ensamblarlos (ya que contenían menos componentes) y otras ventajas. Ejemplos de

Page 5: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

5

estos integrados son multiplexores, decodificadores, codificadores, sumadores y dentro de las combinacionales contadores, registros de desplazamiento, etc. Escala de integración grande (Large Scale Integration LSI): En los años 70 de 1.000 a 10.000 transistores. A esta escala pertenecen todos aquellos integrados que contienen más de 100 compuertas lógicas (lo cual conlleva unos 1000 componentes integrados individualmente), hasta las mil puertas. Estos integrados realizan una función completa, como es el caso de las operaciones esenciales de una calculadora o el almacenamiento de una gran cantidad de bits. La aparición de los circuitos integrados a gran escala, dio paso a la construcción del microprocesador Escala de integración muy grande (Very Large Scale Integration VLSI): En los años 80 de más de 10.000 transistores. La integración en escala muy grande de sistemas de circuitos basados en transistores comenzó en los años 1980, como parte de las tecnologías de semiconductores y comunicación que se estaban desarrollando. El microprocesador es un dispositivo VLSI Hace tiempo se hizo un esfuerzo para nombrar y calibrar varios niveles superiores en integración a los primeros VLSI. Términos como Ultra-alta-escala de Integración (Ultra-Large-Scale Integration ULSI) fueron usados. Pero el enorme número de compuertas y transistores disponibles en dispositivos comunes ha dejado dichas sutiles distinciones muy discutibles. Por lo que términos que sugieren mayores niveles de integración que VLSI ya no son ampliamente usados. Incluso VLSI es ahora algo pintoresco, considerando la suposición común que todos los microprocesadores son VLSI o mejor. En la actualidad, la mayoría de los circuitos integrados que se fabrican utilizan la tecnología CMOS. La tecnología CMOS fue desarrollada por Wanlass y Sah, de Fairchild Semiconductor, a principios de los años 60. Como mencionamos anteriormente la escala de integración fue incrementándose y esto se debe a la posibilidad de construir transistores MOSFET cada vez más pequeños. Una medida para comparar la tecnología CMOS empleada es la longitud de la compuerta (Gate). En la figura 1 se presenta un corte de transistor MOSFET para poder observar la compuerta y en la Fig. 2 y Tabla 1 se muestra la miniaturización de la compuerta a lo largo del tiempo desde el primer microprocesador en 1971.

Fig. 1 – Esquema de transistor MOSFET e imagen de un transistor con tecnología de 45nm de compuerta.

Page 6: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

6

Evolución de la Integración(Longitud promedio de compuerta en transistor CMOS)

10

100

1000

10000

1970 1975 1980 1985 1990 1995 2000 2005 2010 2015

AÑO

nm G

ate

Fig. 2 – Evolución de Integración de IC CMOS

Longitud Compuerta Año Microprocesadores

10 µm 1971 Intel 4004 CPU

3 µm 1975 Intel 8085 CPU

1.5 µm 1982 Intel 80286 CPU

1 µm 1985 Intel 80386 CPU 800 nm

(0.80 µm) 1989 Intel 486 CPU

600 nm (0.60 µm) 1994

Intel 80486DX4 CPU IBM/Motorola PowerPC 601,El primer PowerPC Primer Intel Pentium CPUs a 60 MHz

350 nm (0.35 µm) 1995

Intel Pentium Pro (1995), Pentium (P54CS, 1995) y Pentium II CPUs (Klamath, 1997). AMD K5 (1996)y el original AMD K6 (Model 6, 1997) CPUs. NEC VR4300, usado en la consola de juego Nintendo 64

250 nm (0.25 µm) 1998

El DEC Alpha 21264ª comercialmente disponible en 1999 El AMD K6-2 K6-3D "Chomper" y "Chomper Extended". El core alemán Pentium II at 333 MHz was Intel's first Pentium II at 250 nm. El Sega Dreamcast tiene su CPU y su GPU en 250 nm. La PlayStation 2 inicial usa 250 nm.

180 nm (0.18 µm) 2000

Algunos de los primeros CPUs fabricados con estos procesos incluyen el Intel Coppermine de la familia Pentium III. Esta fue la primera tecnología en usar una longitud de onda menor a la de la luz usada en el proces de litografia. (la cual tiene un minimo de 193nm)

Page 7: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

7

130 nm (0.13 µm) 2001

Intel Celeron Tualatin-256 - 2001-10-02 Intel Pentium M Banias - 2003-03-12 Intel Pentium 4 Northwood- 2002-01-07 Intel Xeon Prestonia and Gallatin - 2002-02-25 AMD Athlon XP Thoroughbred, Thorton, and Barton AMD Duron Applebred - 2003-08-21 AMD K7 Sempron Thoroughbred-B, Thorton, and Barton - 2004-07-28 AMD K8 Sempron Paris - 2004-07-28 AMD Opteron Sledgehammer - 2003-06-30 MCST R-500S 1891BM3 - 2008-07-27

90 nm 2004

Intel Pentium 4 Prescott - 2004-02-01 Intel Pentium M Dothan - 2004-05-10 Intel Celeron M Dothan-1024 - 2004-08-31 Intel Pentium D Smithfield - 2005-05-26 AMD Athlon 64 Winchester, Venice, San Diego, Orleans - 2004-10-14 AMD Athlon 64 X2 Manchester, Toledo, Windsor - 2005-05-31 AMD Sempron Palermo and Manila - 2004-08 AMD Opteron Venus, Troy, and Athens - 2005-08-02 AMD Dual-core Opteron Denmark, Italy, Egypt, Santa Ana, and Santa Rosa

65 nm 2006

Intel Pentium 4 (Cedar Mill) – 2006-01-16 Intel Pentium D 900-series – 2006-01-16 Intel Core 2 – 2006-07-27 Intel Xeon (Sossaman) – 2006-03-14 AMD Athlon 64 series (starting from Lima) – 2007-02-20 AMD Turion 64 X2 series (starting from Tyler)- 2007-05-07 AMD Phenom series IBM's Cell Processor - PlayStation 3 - 2007-11-17 Microsoft Xbox 360 "Falcon" CPU - 2007-09 Sun UltraSPARC T2 – 2007-10 AMD Turion Ultra – 2008-06[1] TI OMAP 3 Family[2] - 2008-02

45 nm 2007

Matsushita (Panasonic Blue-Ray) ha realizado el Uniphier de 45nm. Wolfdale, Yorkfield, Yorkfield XE y el Penryn con cores de Intel vendidos bajo la marca de Core AMD Deneb (Phenom II) & Shanghai (Opteron) Quad-Core Processors

Tabla 1 – Evolución de Integración de los Microprocesadores según longitud de compuerta

2.3 - Clasificación en cuanto a las funciones de un CI Por otro lado, en cuanto a las funciones integradas, los circuitos se clasifican en tres grandes grupos: Circuitos integrados analógicos. Pueden constar desde simples transistores encapsulados juntos, sin conexión entre ellos, hasta dispositivos completos como amplificadores, osciladores o incluso receptores de radio completos. Circuitos integrados digitales. Pueden ser desde básicas compuertas lógicas (Y, O, NO) hasta los más complicados microprocesadores o microcontroladores. Circuitos integrados de señales mixtas. Un CI de señales mixtas es un circuito integrado que tiene electrónica analógica y digital integrada en una sola pastilla. Un típico circuito de señales mixtas puede desempeñar, por ejemplo, todo el manejo de radio frecuencia de un teléfono celular, leer los datos del Láser de un DVD, etc. Normalmente contienen un sistema completo en un chip. (System on Chip - SoC) Cabe aclarar que a lo largo del curso se referirá casi exclusivamente a la solución de problemas mediante circuitos integrados digitales.

Page 8: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

8

3 – CIRCUITOS INTEGRADOS DIGITALES A continuación se muestra el espectro de las técnicas digitales.

- Lógica Cableada (Hardware y Software Fijo) o Compuertas, Multiplexores, Flip-Fliop, etc. CMOS y TTL o Integrados de Aplicaciones Especificas ASIC (Ej. Inyección auto) o Integrados de Aplicaciones Especificas Estándar – ASSIC (encoder de DVD o MP3)

- Lógica Programable (Hardware Configurable)

o Dispositivo lógico programable - PLD o Dispositivo lógico programable complejo - CPLD o Arreglo de compuertas programables en campo - FPGA

- Procesador Digital (Software Programable)

o Microprocesadores de uso general – uP o Microcontroladores – uC o Procesadores Digitales de Señales – DSP

- Software y Hardware Programable

o Sistema en Chip – SoC o Integrados de Aplicaciones Especificas – ASIC*

En la Fig. 3 se observa un grafico en cuyos ejes tenemos características básicas de los CI como son la variabilidad de su operación y en el eje y se encuentra la recta software/hardware que caracteriza el funcionamiento del CI

Fig. 3 Grafico Software/Hardware vs. Variabilidad de Función

Fijo Variable

Software

Hardware

Procesador uP, uC, DSP

Lógica Programada SPLD, CPLD, FPGA

Lógica Cableada CMOS, TTL, ASIC, ASSIC

Sistema en Chip ASIC, SoC

Page 9: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

9

3.1 – Lógica Cableada En la acepción de los técnicos en telecomunicaciones y en informática, la lógica cableada utiliza compuertas lógicas discretas, para implementar circuitos digitales de comunicaciones y computadores. Normalmente hace referencia a lógica cuyas conexiones son fijas por lo que para hacer una modificación hay que cambiar el circuito en si. 3.1.1 – Compuertas Lógicas y circuitos integrados Los circuitos integrados de la serie 7400 y 4000 en CMOS, HC, LVC, AHC y otras tecnologías, son compuertas lógicas, multiplexores, decodificadores, flip-flops, etc. que se pueden utilizar para una multiplicidad de aplicaciones, o sea que son de uso general. Con dichos dispositivos podemos construir prácticamente cualquier sistema digital siempre y cuando estemos dentro de los límites del tamaño y la velocidad requeridos por la aplicación. En la Fig. 4 vemos la evolución de las tecnologías de circuitos integrados en el año 2007. Desde la tecnología bipolar con la TTL que se encuentra al bore de la obsolescencia, pasando por las tecnologías bipolar-CMOS (BiCMOS), hasta las últimas tecnologías de bajo voltaje y bajo consumo CMOS en su proceso de introducción al mercado.

Fig. 4 Evolución de las tecnologías de compuertas lógicas.

3.1.2 – Circuito Integrado de Aplicación Específica Un Circuito Integrado para Aplicaciones Específicas, o ASIC por sus siglas en inglés, es un circuito integrado hecho a la medida para un uso en particular, en vez de ser concebido para propósitos de uso general. Por ejemplo, un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Con los avances en la miniaturización y en las herramientas de diseño, la complejidad máxima, y por ende la funcionalidad, en un ASIC ha crecido desde 5.000 puertas lógicas a más de 100 millones. Los ASIC modernos a menudo incluyen procesadores de 32-bit, bloques de memoria RAM, ROM, EEPROM y Flash, así como otros tipos de módulos. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip, o SoC, por sus siglas en inglés. Los diseñadores de

Introducción Crecimiento Madures Declinación Obsolescencia

Page 10: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

10

ASIC digitales usan lenguajes descriptores de hardware (HDL), tales como Verilog o VHDL, para describir la funcionalidad de estos dispositivos. 3.2 – Lógica programada Lógica programada es lo contrario de la lógica cableada, es decir, este tipo de diseño permite utilizar un circuito o un proyecto para muchas otras funciones con el simple cambio del software que incorpora. La lógica programada se basa en dispositivos lógicos programables (PLD), los cuales tienen una función no establecida, al contrario que las puertas lógicas que tienen una función fija en el momento de su fabricación. Antes de poder utilizar el PLD en un circuito, este debe ser programado. Una vez programado el PLD se comporta como lógica cableada pudiendo realizar tareas de forma rápida y en paralelo. 3.2.1 – Dispositivo lógico programable sencillo En los primeros tiempos de los PLD surgió una gran variedad de diseños y estructuras para lograr un buen desempeño y flexibilidad. El conjunto de estos dispositivos de baja escala de integración como los PAL, PLA, GAL, etc. Son llamados “dispositivo lógico programable sencillo” o SPLD 3.2.2 – Dispositivo lógico programable complejo Un CPLD (del inglés Complex Programmable Logic Device) es un dispositivo electrónico. Los CPLD extienden el concepto de un PLD (Programmable Logic Device) a un mayor nivel de integración debido a que permite implementar sistemas más eficaces, utilizar menor espacio, mejorar la fiabilidad del diseño, y reducir costos. Un CPLD se forma con múltiples bloques lógicos, cada uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones, lo cual hace más eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor costo. 3.2.3 – Arreglo de compuertas programables en campo Una FPGA (del inglés Field Programmable Gate Array) es un dispositivo semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad se puede programar. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional hasta complejos sistemas en un chip. Los FPGAs se utilizan en aplicaciones similares a los ASICs sin embargo son más lentas, tienen un mayor consumo de potencia y no pueden abarcar sistemas tan complejos como ellos. A pesar de esto, las FPGAs tienen las ventajas de ser reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), sus costes de desarrollo y adquisición son mucho menores para pequeñas cantidades de dispositivos y el tiempo de desarrollo es también menor. Ciertos fabricantes cuentan con FPGAs que sólo se pueden programar una vez, por lo que sus ventajas e inconvenientes se encuentran a medio camino entre los ASICs y las FPGAs reprogramables. 3.3 – Procesador Digital (CPU). Una computadora es una maquina que manipula datos de acuerdo a un listado de instrucciones. El conjunto de dichas instrucciones que nos permiten que el computador realice una tarea específica la llamamos programa.

Page 11: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

11

La unidad central de procesamiento, o CPU (por el acrónimo en inglés Central Processing Unit) o simplemente el procesador, es el componente en una computadora digital que interpreta las instrucciones contenidas en los programas de la computadora, procesa los datos almacenados o adquiridos para luego entregar algún tipo de resultado. Las CPU proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. 3.3.1 – Microprocesador El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) "unidad central de procesamiento" UCP, también conocido como CPU (por sus siglas en inglés: Central Process Unit). En la actualidad este componente electrónico está compuesto por millones de transistores, integrados en una misma placa de silicio. Se debe distinguir entre el concepto de Procesador, que es un concepto de Hardware, con el concepto de CPU, que es un concepto lógico. Una CPU puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias CPU. Desde el punto de vista lógico y funcional, el microprocesador está compuesto básicamente por: varios registros; una Unidad de control, una Unidad aritmético-lógica; y dependiendo del procesador, puede contener una unidad en coma flotante. El microprocesador ejecuta instrucciones almacenadas como expresiones binarias organizadas secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases:

- PreFetch: Pre-lectura de la instrucción desde la memoria principal, - Fetch: Envío de la instrucción al decodificador, - Decodificación de la instrucción: Es decir, determinar qué instrucción es y por tanto qué se

debe hacer, - Lectura de operandos: (si los hay), - Ejecución: Lanzamiento de las Máquinas de estado que llevan a cabo el procesamiento. - Escritura de los resultados: en la memoria principal o en los registros.

Cada una de estas fases se realiza en uno o varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de su grado de segmentación. La duración de estos ciclos viene determinada por la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea individual (realizada en un solo ciclo). Dicho reloj es básicamente un circuito oscilador basado en un cristal de cuarzo capaz de generar pulsos a un ritmo constante, de modo que genera varios ciclos en un segundo. Este reloj, en la actualidad, genera miles de MHz. 3.3.2 – Microcontrolador Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado. Son diseñados para disminuir el costo y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos en el dependerán de la

Page 12: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

12

aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o más Códec (codificador-decodificador) de señal digital (audio y/o vídeo IC de Señales Mixtas). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil. Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa, usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc. Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de entrada/salida (puertos) y la memoria para almacenamiento de programas y datos. Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidores de analógico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. 3.3.3 – Procesador Digital de Señales DSP es el acrónimo de Digital Signal Processor, que significa Procesador Digital de Señal. Un DSP es un sistema basado en un procesador o microprocesador que posee un juego de instrucciones, un hardware y un software optimizados para aplicaciones que requieran operaciones numéricas a muy alta velocidad. Debido a esto es especialmente útil para el procesamiento y representación de señales analógicas en tiempo real: en un sistema que trabaje de esta forma (tiempo real) se reciben muestras (samples en inglés), normalmente provenientes de un conversor analógico/digital (ADC). Como todo sistema basado en procesador programable necesita una memoria donde almacenar los datos con los que trabajará y el programa que ejecuta. Si se tiene en cuenta que un DSP puede trabajar con varios datos en paralelo y un diseño e instrucciones específicas para el procesamiento digital, se puede dar una idea de su enorme potencia para este tipo de aplicaciones. Estas características constituyen la principal diferencia de un DSP y otros tipos de procesadores. 3.3.4 – Controlador Digital de Señales Un controlador digital de señales o digital signal controller (DSC), puede ser visto como un hibrido ente los microcontroladores y los DSP. Como los microcontroladores, los DSC tienen rápida respuesta a las interrupciones, ofrecen periféricos orientados al control como PWM y temporizadores de auto-restablecimiento (watchdog timer), y son usualmente programados usando

Page 13: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

13

lenguaje C, sin embargo pueden ser programados usando lenguaje ensamblador nativo del dispositivo. En el lado de los DSP, ellos incorporan características encontradas en la mayoría de los DSP como unidades de Multiplicador-Acumulador (MAC) que realizan una multiplicación y acumulación en un solo ciclo de reloj, desplazadores de barril (desplaza n bits en un solo ciclo de reloj) y grandes acumuladores. Se debe aclarar que no todos los vendedores de CI adoptaron el término DSC. El término fue introducido por Microchip Technology en 2002 cuando lanzaron su serie 6000 de DSC y subsecuentemente fue adoptado por la mayoría de los vendedores de DSC, pero no todos. Como ejemplo Infineon y Renesas se refiere a sus DSC como microcontroladores Los DSC son usados en un amplio rango de aplicaciones, pero la mayoría van dentro de controles de motores, conversión de potencia y procesamiento de sensores. Con el uso de estos DCS se puede reducir el consumo de energía haciendo un uso más eficiente de la misma y obtener el efecto “verde” deseado en la actualidad.

Page 14: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

14

4 – APLICACIONES DE LOS PROCESADORES DIGITALES Microprocesadores

- Computación compleja (gráficas 3D y supercomputadoras) - Equipos de escritorio (Desktop) - Servidores y estaciones de trabajo - Dispositivos para Internet - Equipos portátiles (Notebooks, Netbooks) - Sistemas integrados y para comunicaciones (Celulares, Wireless)

Microcontroladores

- Sistema de control de motor y demás aplicaciones automotrices - Controles remotos - Periféricos de computadores - Maquinas de oficina - Electrodomésticos - Instrumentos Médicos - Herramientas de potencia y de medición - Fuentes de alimentación inteligentes - Interfase Maquina-humano - Juguetes - Sistemas de audio y voz - Dispositivos USB, Bluetooth, Zigbee, UWB - Iluminación Inteligente - Conectividad cableada y sin cables (Wired & Wireless)

DSPs

- Sistemas Biomédicos - Sistemas de Audio/Video y Multimedia - Juegos y Ayuda de Aprendizaje - Instrumentación - Equipo de pruebas portátiles - Reproductores Portátiles (Portable Media Players - PMPs) - MODEMs Integrados - Procesamiento de Imágenes Industriales y Médicas - Control Industrial - Comunicación de Voz - Cámaras Digitales - Sistemas Inalámbricos de Banda Ancha - Estaciones Base Telefonía Celular 3G y 802.16 - Aplicaciones Militares

Page 15: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

15

Lideres de fabricación de semiconductores en el año 2007/2006

Ranking 2007

Ranking 2006 Compañía País Origen Cambio

2007/2006

Participación

en Mercado 1 1 Intel Corporation USA +7.7% 12.5% 2 2 Samsung Electronics Corea del Sur +1.5% 7.4% 3 4 Toshiba Semicond.. Japón +24.1% 4.6% 4 3 Texas Instruments USA -3.4% 4.5% 5 5 ST Microelectronics Italia-Francia +1.4% 3.7% 6 7 Hynix Corea del Sur +22.2% 3.5% 7 6 Renesas Technology Japón 3.0% 3.0% 8 14 Sony Japón +56.8% 3.0% 9 10 NXP Países Bajos +2.8% 2.2%

10 15 Infineon Alemania +14.6% 2.2% 11 8 AMD USA -22.8% 2.1% 12 16 Qualcomm USA +23.7% 2.1% 13 11 NEC Semiconductors Japón -0.8% 2.1% 14 9 Freescale USA -10.7% 2.0% 15 13 Micron Technology USA -5.8% 1.8% 16 12 Qimonda Alemania -22.7% 1.5% 17 17 Panasonic Japón -1.9% 1.5% 18 19 Elpida Memory Japón +8.8% 1.4% 19 18 Broadcom USA +1.7 1.4% 20 20 Sharp Electronics Japón +7.3% 1.3%

Top 20 +5.1% 63.9% Resto de las compañías +2.4% 36.1%

TOTAL +4.1% 100.0%

Page 16: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

16

ELECTRONICA DIGITAL III

ARQUITECTURA En el transcurso del dictado de las distintas materias correspondientes al diseño con técnicas digitales, se puede ir apreciando los diferentes campos que se cubren con las funciones integradas dentro de la Electrónica Digital, Es así que mientras mas complejas sean dichas funciones (herramientas de diseño) mas sencilla será la implementación final de la solución buscada. En la búsqueda de una herramienta universal, que pueda ser utilizada para cualquier tipo de problema propuesto, nace el COMPUTADOR. El objetivo fundamental de dicho desarrollo fue el de disponer de un elemento lo suficientemente flexible como para poder implementar con ella, la resolución de cualquier problema digital planteado. La única condición es que dicha solución sea factible de poder realizarse con un algoritmo finito. Este sistema, consta de una parte circuital fija denominada Hardware, y una parte de programación, denominada Software. Para la descripción que vamos a realizar, partimos del supuesto que la herramienta que utilizaremos, será configurada para la resolución de una tarea en particular en otras palabras lo que se denomina microprocesador dedicado. El caso típico es generar un sistema digital, capaz de procesar información a fin de controlar el funcionamiento de un sistema cualquiera. HARDWARE Representa todos los circuitos integrados, memorias, buffers, impresos, fuentes de alimentación, display, etc, que componen el Computador. Dicha circuitería está formada fundamentalmente por el PROCESADOR. Para que este elemento pueda funcionar, requiere de circuitos complementarios, que normalmente son diseñados conjuntamente con él, y compatibles en sus parámetros de velocidad, señales de control, tensiones, etc., y es lo que normalmente se conocen como de la familia. SOFTWARE La herramienta que estamos estudiando, el computador, tiene la posibilidad de efectuar tareas mas o menos elementales, denominadas instrucciones. La definición final sobre la tarea que dicho elemento va a realizar, dependerá de la sucesión de operaciones elementales que tiene que ejecutar. Dicha sucesión se denomina PROGRAMA. Este elemento, estará compuesto por distintas partes, entre estas se destacan el Programa Principal, las Subrutinas de Aplicación, las Rutinas de atención de Periféricos, las Subrutinas de tiempo que le permitan trabajar en tiempo real con el sistema o dispositivo a controlar, etc. De acuerdo con lo expresado hasta ahora, las características de universalidad de estos sistemas, se centra en tratar de obtener una circuitería lo suficientemente completa como para poder soportar cualquier configuración (programa). De esta manera con una circuitería en común, y con las distintas configuraciones posibles, se obtiene la función de transferencia para la aplicación deseada.

Page 17: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

17

ARQUITECTURA DEL COMPUTADOR La organización funcional de un computador tipo, responde al siguiente esquema: C.P.U. UNIDAD DE CONTROL Es el procesador propiamente dicho, y es el encargado de realizar todas las tareas elementales para el que fue diseñado. Entre las tareas que realiza se encuentra: • Realizar las instrucciones del Repertorio Básico que le fue asignado. • Ordenar el trabajo de la Unidad Aritmético Lógica • Generar las líneas de control que regirán el funcionamiento de cada uno de los bloques

integrantes del sistema. • Procesar la información organizada en las memorias respectivas. • Arbitrar el trabajo de los periféricos asociados. En cuanto a la arquitectura de la unidad de control de los microprocesadores y microcontroladores, en lo referente al Repertorio Básico de Instrucciones existen diferentes tipos. Entre los mas comunes se pueden mencionar: CISC Un gran número de procesadores usados en los microprocesadores están basados en la filosofía CISC (Computadores de Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo varios ciclos de reloj para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actúan como macros, lo que se traduce en facilidades en el momento de la programación. RISC Tanto la industria de los computadores comerciales como la de los microcontroladores están inclinándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un solo ciclo de reloj.

Memoria de Programa

(ROM)

Unidad de Control

Unidad Aritmético

Lógica

Memoria de Datos (RAM)

Enlace a Periféricos

Entradas

Salidas

Page 18: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

18

La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador, a costa de que el diseñador deba tener un conocimiento profundo del sistema para la utilización apropiada de los recursos. SISC En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es "específico", o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC ( Computadores de Juego de Instrucciones Específico). Las características generales del computador que dependen de la unidad de control son: • Formato de la palabra de instrucción. • Ancho de la palabra de Datos. • Ancho de la palabra de Direcciones. • Velocidad de operación. • Repertorio Básico de Instrucciones. • Configuración (mapeado) de Memoria. • Definición de las Líneas de Control exteriores al Procesador. • Forma de trabajo con los Periféricos. • Etc. UNIDAD ARITMÉTICO LÓGICA Es la unidad encargada de llevar a cabo todas las operaciones aritméticas y lógicas que realizará el computador en forma de instrucciones directas. Los elementos utilizados para el diseño de esta unidad, son generalmente los Arreglos Lógicos Programables. Esto se debe a que las operaciones a implementar, son eminentemente funciones combinacionales, por lo tanto se prestan perfectamente para ser implementados por este sistema, de esta manera se obtiene una implementación óptima, respecto al tiempo de ejecución y a la minimización de la electrónica utilizada. Las operaciones mas comunes que se realizan en sistemas de procesadores tipo industriales, son: • Suma booleana (OR). • Multiplicación booleana (AND). • Complementación (INV) • Suma Exclusiva booleana (OREX) • Suma binaria. • Resta binaria. • Comparación. En caso de que la tarea a realizar requiera una gran cantidad de operaciones aritméticas u operaciones de alta complejidad, como trabajo en punto flotante, integración, derivación, etc, y dado que dichas operaciones no están previstas dentro de las operaciones de la U.A.L., la solución será la de generar subrutinas para efectuar dichas operaciones. Puede suceder, que el tiempo empleado para la resolución de dicha operación por programa sea excesivo, respecto al tiempo que se disponga para controlar las variables del proceso. En estos casos se asocia al procesador, otro procesador diseñado exclusivamente para la resolución de operaciones aritméticas. El nombre con el que generalmente se lo conoce es CO-PROCESADOR, o PROCESADOR ARITMÉTICO.

Page 19: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

19

C.P.U. La unificación de las unidades de Control y Aritmético Lógica, se denominó C.P.U. (Unidad Central de Proceso). Inicialmente dichas tareas eran implementadas con tecnología que no permitía su implementación en una sola pastilla integrada. La impulsión definitiva de estos sistemas, se produjo en la década de los ‘70, lográndose un nivel tecnológico tal que permitió integrar en una sola pastilla la C.P.U. A esto se lo denominó MICROPROCESADOR. MEMORIA DE PROGRAMA Como indicamos anteriormente, el procesador es capaz de realizar tareas elementales (instrucciones) en un orden preestablecido y en forma ordenada. Dicha sucesión es lo que se denomina Programa. Estas instrucciones, deberán estar codificadas en binario (único sistema en que todos los procesadores trabajan) y almacenadas en algún sistema accesorio, para posibilitar su posterior ejecución. Este lugar se lo denomina, Memoria de Programa. Por lo tanto en dicha memoria se almacena el programa para la resolución del problema planteado. Los chips que soportarán dicha información (programas) deberán ser dispositivos de SOLO LECTURA, (ROM, PROM, EPROM, etc) o también llamadas memorias FIJAS. La característica que se rescata de ellas para su elección, es que dichas memorias una vez grabadas, no se borra su información ante cortes de energía. Por lo tanto son las adecuadas a utilizar en sistemas de control, que deben entrar a funcionar una vez que se restablezca la alimentación. Generalmente se graban en simuladores donde se depura el programa a ejecutar, y posteriormente se colocan en los zócalos del computador para definir la función a realizar. Para su correcta elección se debe tener en cuenta que las velocidades de acceso (lectura) sean compatibles con las de lectura del microprocesador. Esto se debe a que los tiempos característicos de acceso al microprocesador, no pueden ser variados por el usuario (programador). Por lo tanto en caso de diferir, las velocidades de las memorias deberán ser mayores que las del microprocesador. MEMORIA DE DATOS En la ejecución del programa que deberá efectuar la CPU, es normal que se generen datos transitorios como set points, ingresos de datos del exterior, resultados de operaciones aritmético lógicos, protección de datos a ser utilizados por otros programas, etc. Toda esta información, que el procesador maneja en forma habitual debe ser almacenada en sistemas que permitan ser grabados y leídos a niveles temporales compatibles con la ejecución del programa. Dichos sistema se denomina Memoria de Datos. Los chips que soportarán toda esta información deberán ser de LECTURA ESCRITURA, y de ACCESO ALEATORIO. La característica de lectura escritura es obvia para la función definida, y el acceso aleatorio, debido a que el tiempo de acceso a los datos (tanto lectura como escritura) debe ser independiente a la ubicación de los mismos dentro de la memoria. Es por ello que los chips empleados son los denominados comercialmente RAMs. Analizando el campo de direccionamiento de los procesadores de 8 bits, podemos asegurar que se trata de un listado de direcciones capaces de mantener en su interior datos de 8 bits. La forma de codificación empleada es la Hexadecimal. Por lo tanto teniendo en cuenta que los micros de 8 bits disponen de un campo direccionable de 64 Kbytes, concluimos que la dirección inicial es la 0000H y la final la FFFFH.

Page 20: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

20

Hay que tener en cuenta que para el procesador, y debido a su característica de acceso aleatorio, le es indistinto acceder a cualquier lugar dentro del campo indicado. Por lo tanto, en principio la ubicación de las Memorias de Datos y de Programas pueden ser cualquiera. La característica que rige el lugar de implementación de la Memoria de Programa, es el valor con el que el Contador de Programa (PC) se carga en el momento de efectuarse un reset (inicialización) del procesador. Esta operación de reset, se efectúa toda vez que se inicia el trabajo del sistema, y entre las tareas que tiene a su cargo es cargar al PC con un valor determinado, para que apartir de él, se comience la ejecución del programa. La posterior ubicación de la Memoria de Datos, dependerá de las zonas libres y del tipo de decodificación que se aplicará a la detección de esta memoria como a los periféricos asociados al sistema. ENLACE A PERIFÉRICOS Demás está decir que de poco o nada serviría una herramienta como la que estamos definiendo, si no tuviera la posibilidad de comunicarse con el exterior. Dicho enlace se efectúa mediante dispositivos creados para ese fin denominados enlace a PERIFÉRICOS. Debido a que dichos periféricos pueden tener las mas diversas características, no solamente la división clásica de periféricos de entradas y de salida sino del nivel de procesamiento con que transmite o recibe las señales, es que se requiere de un sistema intermedio para adaptar dicha información y que pueda ser posteriormente procesada por el procesador. Este sistema se denomina ENLACE A PERIFÉRICOS. Parte de las funciones de éste, se encuentra el ubicar (direccionar) los periféricos dentro del campo direccionable del procesador. Esta tarea se implementa mediante la correcta utilización de decodificadores que asignarán direcciones a cada sistema. Por otro lado todo esto debe responder a las líneas de control que la CPU genera a fin de que la información generada ingrese o pueda ser leída en los momentos exactos que la CPU dispone. PERIFÉRICOS DE ENTRADA La información que ingresa a la CPU lo hace por sistemas diseñados específicamente para esa tarea denominados PERIFÉRICOS DE ENTRADA. Existe una gran cantidad de formas en cómo la información puede ingresar, y por ende de periféricos distintos; como ejemplos de periféricos de entrada, podemos indicar: • Puertas de entrada de un bit. • Puertas de entrada paralelo. • Teclados elementales. • Teclados ASCII. • Puertas Serie. • Kits Multimedias • Etc. Se puede hacer notar que a pesar de la gran diferencia funcional que existe entre ellos, todos presentan un elemento en común es que, sin importar la complejidad del dato generado, todos son datos binarios (unos y ceros), única forma en que la CPU puede procesar la información.

Page 21: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

21

PERIFÉRICOS DE SALIDA Similar a todo la expresado para la entrada, se cumple con los periféricos de salida. Estos en definitiva reciben información binaria la que adaptarán a la forma de salida para lo que fueron diseñados. Entre los periféricos de salida que podemos nombrar están: • Puertas de salida de un bit • Puertas de salida paralelo • Puertas de salida serie • Displays alfanuméricos • Pantallas de Tubos de rayos catódicos • Kits Multimedia • Impresoras • Etc. FORMATO DE LA PALABRA DE INSTRUCCIÓN Y DE DATOS

En cualquier computador el núcleo de información básica está dado por un conjunto de

dígitos binarios (bits) que forman la palabra, la cual se encuentra ubicada en cierta dirección de la memoria. Hay dos clases de palabras las de INSTRUCCIÓN y las de DATOS, según el significado de su contenido. En todo sistema de computo su arquitectura es hasta cierto punto determinada por el formato de la palabra de instrucción. Veamos entonces las diferentes formas posibles de estas palabras.

PALABRAS DE INSTRUCCIÓN DE CUATRO DIRECCIONES

En este caso la palabra de instrucción esta formada por cinco campos, el primero de los cuales deberá ser el código de operación, el cual define la naturaleza de esta. Además, la mayoría de las operaciones aritméticas y lógicas actúan sobre dos operandos, dando luego un resultado. Por lo tanto, la palabra tendría que tener un campo para la dirección de cada operando y otro para la dirección del resultado. Finalmente, habría el quinto campo que especificaría la dirección donde se debe buscar la siguiente instrucción a ejecutar. Esto tiene la ventaja que cada instrucción seria completa en si misma, no necesitándose circuitos internos que retengan el resultado. Por ejemplo, para la suma se tiene:

(A) + (B) (C)

Podría indicarse con sola una instrucción, donde A y B serian las direcciones de los

operandos, y C la del resultado. Pero los cincos campos pueden determinar un considerable numero de bits en total y con ello demasiado uso de la capacidad de almacenaje y del tiempo de cpu requerido para su funcionamiento

Page 22: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

22

PALABRAS DE INSTRUCCIÓN DE TRES DIRECCIONES

Como los programas poseen una estructura secuencial que le permite ejecutar una instrucción tras otra, es bastante natural que tales instrucciones se encuentren ubicadas en direcciones consecutivas de la memoria. Si se considera esta forma de trabajo como un estándar, el quinto campo de la palabra de cuatro direcciones, que estaba destinado a la dirección de la próxima instrucción no será necesario, obteniéndose la palabra de tres direcciones. Como se observa en la figura la dirección de la próxima instrucción no aparece en la palabra de instrucción, para realizar la tarea de indicar cual será la próxima instrucción se deberá emplear un registro especial de la unidad de control del procesador. Este registro actúa como un puntero, que siempre apunta a la dirección de la próxima instrucción. Se trata del contador de programa (PC Program counter), el cual contiene la dirección de la instrucción que se esta ejecutando, hasta el momento en que es actualizado con la dirección la instrucción siguiente, al completarse la primera. Al estar las instrucciones en direcciones consecutivas, tal actualización es simplemente un incremento de una unidad en el contenido del PC. La eliminación del quinto campo en la instrucción resulta en una significativa reducción de costo de la memoria. Una suma de dos operandos seguiría totalmente especificada en una sola instrucción.

Memoria CPU Datos

A ALU

B

C

Memoria Programa Dir. A Dir. B Dir. C Dir

OP PROX. OPERANDO OPERANDO RESULTADO INSTR.

Prox. instrucción

Page 23: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

23

PALABRAS DE DOS DIRECCIONES

El ahorro en la memoria de programa podría llevarse aun más lejos si se suprimen otras direcciones. Por ejemplo, puede no ser indispensable que la dirección del resultado sea distinta a las de alguno de los operandos, y entonces se puede adoptar que una vez realizada la operación, el resultado se almacene en uno de los lugares correspondiente a alguno de estos, con la característica que se destruye naturalmente el contenido anterior correspondiente al resultado, en este caso la suma podría especificarse así:

Memoria CPU Datos

A ALU

B

C

Memoria PC Programa

Dir. A Dir. B Dir. C OP. OPERANDO OPERANDO RESULTADO.

Prox. instrucción

Page 24: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

24

(A) + (B) (A)

La palabra tendría dos direcciones siendo A utilizada como la dirección de operando fuente o de partida y también de destino. Es mas, en algunos casos la existencia de las tres direcciones no sería aprovechada, por ejemplo, supongamos que se desea transferir el contenido de la dirección A a la B:

(A) (B) Una palabra de dos direcciones basta perfectamente para especificar este movimiento de datos, que es por demás frecuente. En cambio, con una de tres direcciones habría que desperdiciar uno de los campos existentes. Muchas computadoras y microcomputadoras han sido diseñadas sobre la base del sistema de dos direcciones, en este formato de la palabra de instrucción, es necesario seguir conservando para direccionar a la próxima instrucción el registro Contador de Programa PC.

PALABRAS DE UNA DIRECCION Con el objetivo de reducir aun más los costos, es posible eliminar del formato otro de los campos que individualizan a los operandos en la palabra de instrucción. Entonces la única especificación de dirección que queda deberá actuar en algunos casos para almacenar la dirección de origen y en otros para la dirección de destino del operando. Esta simplificación tiene una complicación, que se plantea dado que la mayoría de las operaciones aritmetico-logicas trabajan sobre dos operandos, será necesario proveer para estos casos de un operando obligado, el cual sea individualizado en forma implícita por el código de operación, el cual deberá ser un registro que se encuentre en el hardware de la CPU. Para esto en el diseño de los microprocesadores que poseen este formato de la palabra de instrucción de una dirección, deben incluir un registro especial comunmnete llamado Acumulador

Memoria CPU Datos

A ALU

B

PC

Memoria Programa

Dir. A Dir. B OP OPERANDO OPERANDO

Prox. instrucción

Page 25: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

25

(AC, Accumulator); entonces se sumara o restara, por ejemplo, un operando direccionado en la instrucción, al contenido del acumulador, cuyo uso esta implícito en la ejecución de la correspondiente instrucción. A fin de poder contar de valores iniciales habrá necesariamente que disponer de instrucciones especiales para la carga del acumulador, como así también otras que permitan almacenar sus contenidos. La suma de los contenidos de dos direcciones A y B, y el almacenaje del resultado en C, se efectuarían de la siguiente manera:

(A) (AC) Carga del AC con el contenido de A. (AC) + (B) (AC) Suma del contenido de B al contenido del AC. (AC) (C) Almacenaje del resultado en C.

Analizando esto, puede parecer a primera vista que para resolver un determinado problema con la computadora de una dirección se necesitaría complicar la programación bastante mas que en una de tres direcciones. Sin embargo, no es como parece ya que para operaciones múltiples, como puede ser la suma de una determinada tabla de datos, no se requiere cargar el acumulador después de cada una de las sumas, esto se debe hacer una sola vez al principio. Aunque la palabra de tres direcciones lleve tres veces más información que la de una ello no significa que tengamos que emplear un numero de instrucciones tres veces mayor en la computadora de una dirección para un mismo trabajo. Además, los circuitos necesarios de la unidad de control son más sencillos en la de una dirección que en las otras. Por estas razones, el sistema de una dirección ha sido muy empleado en computadoras y microcomputadoras: PDP-8, PDP-15, IBM 1130, IBM 7090, CDC 3600, etc.

Si ahora reflexionamos sobre el microprocesador, recordando que esta construido por un único circuito integrado, comprenderemos que es imperativo en ese caso el uso de las palabras cortas a la vez que la máxima sencillez de la unidad de control. Una y otra cosa se logran con la palabra de una dirección. Esto implica que las microcomputadoras actuales sean, en general, sistemas con palabras de una dirección.

Memoria CPU Datos

A

PC

Memoria Programa Dir. A OP OPERANDO

Prox. instrucción

AC

ALU

Page 26: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

26

PALABRAS DE DATOS

Nos hemos referido a las palabras de instrucción, que son las encargadas de indicarle al procesador que tipo de operación y sobre quién se realizará esta, corresponde ahora hablar de la palabra DATOS: ellas representan los operandos que pueden eventualmente cambiar con la ejecución de un mismo programa, lo cual significa una gran movilidad que requiere el almacenaje de tales palabras en memoria lectura-escritura. Su contenido puede significar números con o sin signo, caracteres, operandos lógicos, etc., según la intención del programador. Y es evidente que los elementos que dispone la CPU para almacenar estos datos, es decir los registros de uso general y el acumulador, deben disponer del mismo numero de bits que esta palabra de datos. Por esta razón, los microprocesadores suelen ser caracterizados por la longitud en bits de la palabra de datos, existiendo los de 4,8,16,32 bits. Cuando leemos, por ejemplo, que un microprocesador es de 8 bits (La gran mayoría), debemos entender que maneja palabras de datos de esa longitud, y que sus registros internos que operan sobre datos tienen también esa capacidad de almacenaje, como así también, la ALU deberá tener capacidad de procesar (sumar, restar, etc.) datos de esta longitud. LONGITUD DE PALABRAS

Para lograr una razonable simplicidad en la arquitectura del microprocesador, en la mayoría de estos, todas las direcciones, correspondan a instrucciones o a datos, deben de contener igual numero de bits, pero en muchos casos para especificar completamente una determinada operación o un operando, la longitud de estas palabras no es suficiente. En el caso de las instrucciones, es entonces necesario especificarlas en mas de una, por ejemplo si el microprocesador es de 8 bits, el primer byte de la instrucción servirá generalmente para especificar el código de la operación, y las siguientes servirán para especificar el operando ó bien su dirección. Estas palabras deben ser sucesivamente adquiridas por la CPU a partir de la memoria de programa. Algo semejante ocurre con las palabras de datos que pueden no ser suficientes para contener un dato o para efectuar una operación aritmética con la debida precisión, y entonces es necesario utilizar varias palabras para el dato. CICLOS DE PROCESAMIENTO

En los grandes computadoras cuya palabra de instrucción esta formada por un número apreciable de bits, cada instrucción puede quedar completamente definida por una palabra la cual contiene el código operación y todas las referencias a los operandos necesarias para su ejecución. Por lo tanto, el procesamiento de una de tales comprende dos pasos básicos:

1)- EL DIRECCIONAMIENTO o búsqueda de la correspondiente palabra localizada en una dirección de memoria, y que se transfiere a un registro interno de la CPU, llamado registro de instrucciones; 2)- LA EJECUCIÓN propiamente dicha, la cual comprende la decodificación del código operación, búsqueda del ó los operandos y la realización de la acción especificada en la instrucción.

En cambio, en una microcomputadoras de palabras cortas como los son las que poseen los

microprocesadores que estudiaremos en este curso, la especificación completa de una instrucción requiere en la mayoría de los casos de varias de estas palabras. Esto hace necesariamente mas lento el trabajo de la CPU, y obliga a descomponer cada instrucción en varios pasos sucesivos, llamados CICLOS, como se vera a continuación. Respecto a la clasificación y denominación de estos ciclos existen distintos criterios, que trataremos de aclarar con las siguientes definiciones:

Page 27: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

27

Ciclo de instrucción: Es el tiempo transcurrido desde el momento en que comienza la búsqueda en memoria del conjunto de palabras que configuran una instrucción, hasta el instante que termina la ejecución de esta, es decir comprende absolutamente todos los pasos necesarios para la ejecución de una instrucción. Este ciclo representa una unidad indestructible desde el punto de vista del procesador, lo que equivale a afirmar es que cuando el procesador comienza la ejecución de una instrucción, esta deberá ser terminada, no existe ninguna herramienta que permita interrumpir la ejecución de una instrucción que este en curso, salvo la presencia de condiciones extremas como son la interrupción de la alimentación, o bien del reloj oscilador. Ciclo de maquina: Corresponde al tiempo en que se realiza una actividad claramente definida por la CPU. Por ejemplo, transcurre un ciclo de la maquina cada vez que el microprocesador accede a la memoria para extraer una palabra de las que componen la instrucción. En general un ciclo de instrucción podrá estar compuesto por uno o más ciclos de máquina. Ciclo de reloj (o estado): Es la unidad de actividad o de procesamiento, y esta dada por el periodo de reloj (“clock”), cuyos pulsos marcan el sincronismo en las acciones que deberá realizar el sistema. Un ciclo de máquina requiere para su ejecución de varias micro operaciones, por lo tanto estará formado por varios periodos del reloj.

CICLO DE INSTRUCCION 1 CICLO MAQ. 2 CICLO MAQ. 3 CICLO MAQ. busq. Cod. Op lee direc operando busca op. y realiza operación

Resumiendo, podemos decir que un ciclo de instrucción estará compuesto por uno o varios

ciclo de maquina (según el tipo de instrucción); y cada uno de estos comprenderá varios ciclos de reloj. El ejemplo de la figura corresponde, a un hipotético ciclo de instrucción, que comprendería tres ciclos de maquina. El primero, formado por tres ciclos de reloj, se busca en la memoria de programa una primera palabra que especifica el código operación y se la transfiere al Registro de Instrucciones, donde es decodificada. Como consecuencia de esta decodificación, en el segundo ciclo de maquina (3 ciclos de reloj) se direcciona una segunda palabra, cuyo contenido es la dirección del operando. Finalmente en el tercer y último ciclo de la maquina (ejecución), él operando es extraído de la memoria de datos, y se efectúa con él la operación especificada; lo cual duraría cuatro ciclos de reloj en este ejemplo. FLUJO DE LA INFORMACIÓN Analizando la arquitectura de un sistema computador, vemos que hay diversos bloques que deben estar interconectados para permitir que la información circule entre ellos y puedan realizarse las distintas tareas que a cada uno le correspondan. Esta información (binaria) puede llegar a cada subsistema en mas de una forma. Se hizo notar que el microprocesador realiza sus operaciones transfiriendo información en forma paralelo. En efecto, la necesidad de utilizar palabras de poca longitud alarga los tiempos de procesamiento, como se ha visto en el párrafo anterior. Si tales palabras se movieran en forma serie, es decir utilizando un mismo conductor para transferir distinta información en tiempos distintos, la velocidad de procesamiento de instrucciones y datos se haría excesivamente baja, por lo cual debe adoptarse la modalidad espacial o paralelo, para todos los bits

Page 28: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

28

que constituyen una palabra sean transferido simultáneamente a través de otras tantas líneas. Aquí aparece el concepto de barras, tronco o bus, el cual podría definirse como un grupo de conductores que vinculan entre si a los componentes de sistema, los cuales utilizan este medio de comunicación (el ó los buses) para el intercambio de información. COMUNICACIÓN PARALELA La comunicación paralelo es sin ninguna duda la forma mas rápida para que la información fluya de una fuente a un elemento destino. Obviamente que trae aparejado una mayor complejidad, no solo circuital sino de diseño del circuito impreso que se necesitará, debido al gran número de líneas físicas que ocupa. En el diagrama siguiente se puede observar la conexión paralela de dos elementos fuentes y de dos destinos, permitiendo todas las posibilidades de comunicación entre ellos. Entre las ventajas que cuenta este método, aparte de la velocidad se encuentra la multiplicidad en la comunicación, por lo que mientras S1 entrega información por ejemplo, D2, al mismo tiempo podría S2 entrega a D1 Obviamente que en sistemas de múltiples fuentes y múltiples destinos, las líneas se multiplican a tal punto que sería prácticamente imposible una interconexión de todos con todos. C 11 C 21 C 12 C 22

S 1 S 2

D 1

D 2

Page 29: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

29

COMUNICACIÓN SERIE En este modo Como se puede apreciar en el gráfico, la comunicación se realiza por un único BUS de información, al cual se conectan todos los sistemas que tengan que transmitir o recibir información, es decir por los mismos conductores circula distinta información en tiempos distintos, por esto a este sistema se le llama serie o bien de multiplexado temporal. C 11 C 12 BUS C 21 C 22 Este sistema de comunicación, fue factible de implementarse gracias al avance de la tecnología de los semi conductores que introdujo en el mercado dispositivos llamados TRISTATE. Este avance tecnológico consiste, en disponer además de los estados lógicos normales “1” y “0”, de un tercer estado llamado de alta impedancia. Mediante él, se logra un estado de desconexión eléctrica entre un componente y el otro. Dicho de otra manera, la impedancia de salida en este estado es tan alta, que simula que el sistema se encuentra desconectado eléctricamente, por mas que persista la conexión fisica. Para estos sistemas, la simplicidad circuital se logra en detrimento de la velocidad operativa, ya que cuando S1 envía información a D2, tanto S2 como D1 deberán desconectarse. Aún así, las ventajas comparativas son tan grandes, que en la mayoría de los casos se aplicará este sistema, tanto en los elementos externos a la CPU como en los mismos sistemas internos. Como comentario teniendo en cuenta lo anterior, para cualquier aplicación en sistemas digitales es posible generalizar: Sistemas Paralelos Son los de mayor velocidad comparativa, a su vez son los de mayor complejidad circuital de interconexión como también la estructura de los sistemas de control necesarios. Sistemas Series Mas lentos que los paralelos pero de una significativamente menor complejidad circuital y de de la lógica de control. Para esto último, generalmente los sistemas de control son simples secuenciadores.

S 1

S 2

D 1

D 2

Page 30: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

30

COMUNICACIÓN SERIE tecnología tri-state buffer tri state bidirectional

Page 31: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

31

COMUNICACIÓN SERIE tecnología tri-state buffer latch tri state

Page 32: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

32

ARQUITECTURA DE UN COMPUTADOR CON BUS DE DATOS Y DE DIRECCIONES.

Se trata de uno de los tipo de organización mas utilizada por la mayoría de los computadores basados en los microprocesadores del que analizaremos en el desarrollo de la materia, para este caso analizaremos una versión simplificada del Intel 8080. En la figura siguiente está esquematizado los principales elementos que intervienen en un computador basado en un microprocesador del tipo del Intel 8080. En él se observa claramente la estructura de Doble Barra, se describen a continuación los distintos elementos, a saber: C.P.U.

LÍNEAS CONTROL BUS BUS DATOS DIRECCIONES

M.D.R.

I.R.

DECO DIFICA DOR

M.A.R.

P.C.

S.P.

UNIDAD TIEMPO Y

SINCRONIS.

REGISTRO TEMPORARIO

AC.

REGISTROS GENERALES

A.L.U.

MEMORIA DE PROGRAMAS (ROM)

MEMORIA DE DATOS (RAM)

ENLACE A PERIFÉRICOS

PER. 1

PER. 2

PER. n

SR

CLK Reset

Page 33: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

33

BUS DE DATOS Es uno de los canales de información que conecta la CPU con el resto de los sistemas externos. Por él circula información de distinto tipo, datos, códigos de instrucciones, direcciones (parte alta y parte baja), líneas de control, etc. Constructivamente no es más que una serie de 8 cables aislados entre sí, que posibilita la interconexión de los elementos. Es bidireccional y todos los elementos colgados a él que ingresan información, deberán ser fabricados con tecnología TRISTATE, además deberá estar controlado por una lógica que especifique el sentido en el que se realizará la transferencia, el cual será de CPU al dispositivo cuando se trata de una instrucción de escritura (almacenaje); y el contrario cuando se trata de una lectura ( carga). BUS DE DIRECCIONES Este canal de información compuesto generalmente por 16 líneas unidireccionales, le permiten a la CPU direccionar 65.536 (64 Kbytes) de memoria y/o dispositivos de entrada salida, en la mayoría de los casos las líneas más significativas se utilizarán para seleccionar un determinado dispositivo y las otras se utilizarán para seleccionar elementos internos dentro de estos como puede ser algún registro. Cabe aclarar que por este bus circulan únicamente direcciones. MDR Memory Data Register (Registro de Memoria de Datos). Es un registro de 8 bits transparente al usuario, puerta obligada de toda la información que entra y sale por el Bus de Datos. Es bidirecional, por lo tanto se comporta como un buffer latch TRISTATE hacia el bus de datos y hacia la CPU. I.R. Instructions Register (Registro de Instrucciones). Es un registro transparente al usuario, de 8 bit. En él se copia automáticamente, el contenido del registro MDR, cuando la información que posee corresponde al Código de Operación de una instrucción. Al ser el MDR un registro de paso hacia la CPU, y circular por él todo tipo de información, códigos de operación inclusive, la forma en que el sistema detecta que es un C.Op. es mediante el protocolo temporal correspondiente a la ejecución de cada instrucción. DECODIFICADOR Es un sistema que se encuentra íntimamente ligado al Registro de Instrucción cuando éste almacena un nuevo Código de operación, luego decodifica ese código analizándolo y genera internamente las acciones de control para lo cual pondrá activas las líneas de control necesarias para la ejecución de la instrucción en curso. REGISTRO TEMPORARIO En general son registros de 8 o 16 bits, transparentes al usuario, inaccesibles, que la unidad de control utiliza para almacenar transitoriamente información durante la ejecución de una instrucción, esta información pueden ser datos o direcciones según se requiera. M.A.R. Memory Adress Register (Registro de direcciones de memoria). Es un registro de 16 bits, puerta obligada entre la CPU y el bus de direcciones, y debe tener la misma longitud que el bus de direcciones. Es transparente al usuario y dispone a su salida de un LATCH. Las direcciones que contendrá puede corresponder a la de una instrucción o a la de un dato, esto va a depender de que tipo de ciclo de máquina es el que se está ejecutando.

Page 34: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

34

ACUMULADOR AC Es un registro de 8 bit, accesible al usuario. Es el operando obligado para todas las instrucciones aritméticas y lógicas, que realiza la ALU, en todos los sistemas de una dirección. Es el registro mas potente de que dispone la CPU, y forma parte del denominado grupo de Registros de Propósitos Generales. Naturalmente, tiene la longitud de la palabra de datos, algunos procesadores disponen de más de un acumulador. REGISTROS DE PROPÓSITOS GENERALES Es un conjunto de seis registros, de 8 bits, accesibles al usuario. Con ellos se pueden realizar algunas operaciones aritméticas, en general contienen datos, aunque en algunos casos pueden concatenarse de a dos, formando registros de 16 bits que podrían contener direcciones de memoria donde se encuentra algún operando, en este caso a estos registros se los suele llamar punteros. P.C. Program Counter (Contador de Programa) Es un registro de 16 bits, accesible al usuario. A pesar de que el programador puede variarlo a voluntad (con ciertos límites), la unidad de control lo utiliza en forma automática para llevar la secuencia de las direcciones de las instrucciones que van siendo ejecutadas. Es imprescindible que en la tarea de inicialización (RESET), éste se cargue con la dirección de comienzo del programa principal. S.P. Stack Pointer (Puntero de pila). Es un registro de 16 bit, accesible al usuario. El programador puede variarlo a voluntad, se lo utiliza para direccionar (apuntar) a una zona de memoria RAM donde se almacenan datos en forma ordenada (pila), los datos pueden ser de distinta índole, especialmente se utiliza para guardar las direcciones de retorno de las subrutinas. Una vez iniciado el programa principal, éste tendrá la función de cargarlo con una dirección, de la memoria de datos a partir del cual se iniciará la pila. SR : Registro de estado (" Status Register ") o también llamado Registro de " códigos de condición " o Registro de " indicadores" (" Flag Register"). Mas que un registro de carga paralelo, como lo son los anteriores es una colección de Flip-Flops independientes entre si, el numero de bits no guarda ninguna relación ni con la palabra de instrucción, ni de datos depende del diseño realizado por el fabricante. En efecto, cada bit de este registro cumple la función de indicador (“ bandera, flag ”) de algo que ha sucedido como consecuencia de una operación anterior. Por ejemplo, uno de estos bits indicara si la última operación realizada, por ejemplo una suma, dio como resultado cero, en tal caso, cierto bit del SR se pondrá a 1, y si tal resultado no fue cero, ese bit o bandera (" Flag") de cero, quedara en el valor lógico cero. Del mismo modo, si por ejemplo, el resultado fue un numero negativo, habrá otra " bandera" que toma el valor 1 1ogico, para indicar tal circunstancia. A posteriori veremos con mas detalle cuales son todas estas banderas. Por ahora, basta con retener que la existencia del S R es fundamental pues da en cada instante el "estado del programa": su contenido indica al programador lo que ha sucedido en el sistema hasta el instante en que el contenido de dicho registro es analizado. Además, y esto es de capital importancia, ya que en función de los bits del S R es posible hacer que el programa adopte decisiones, o sea, elija entre dos alternativas de procesamiento, como veremos mas adelante. UNIDAD DE TIEMPO Y SINCRONISMO Habíamos explicado anteriormente que el sistema Decodificador era el encargado de generar las líneas de control que se utilizarían durante la ejecución de la instrucción en curso. Pero este conjunto de líneas no pueden activarse todas juntas, sino que deben cumplir con un determinado protocolo de comunicación perfectamente definido. Todos los tiempos que requiere la correcta ejecución de una instrucción son regidos mediante la Unidad de Control y Sincronismo.

Page 35: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

35

Para ello y como elemento indispensable, todo micro dispone de una entrada de reloj, sincronizada mediante un cristal. En el caso del 8080, se requiere de una entrada bifásica, o sea que con la misma frecuencia, ingresan al sistema dos señales de reloj. De esta manera se consigue aumentar la velocidad de ejecución general de las instrucciones. En otras palabras esta unidad es la que marca los instantes en que puede '' suceder algo ", de acuerdo a la cadencia dada por el reloj; y envía señales de control que según el código operación, gobiernan todo el sistema, A.L.U. Aritmetic Logic Unit (Unidad Aritmética Lógica) Ya descripta anteriormente MICROSECUENCIAS Al analizar en profundidad el funcionamiento de la estructura precedente, podemos encontrar una secuencia que explique de manera lógica, los pasos que se realizan para que se ejecuten las instrucciones. Tomemos como referencia por ejemplo la instrucción LDA A16. La función de esta instrucción es cargar el acumulador con el contenido de la dirección de memoria indicado como A16. Dicha dirección se encuentra almacenada en los dos bytes siguientes al del código de operación. Si partimos del supuesto que al comenzar el primer ciclo de reloj del ciclo de instrucción, el PC ya está cargado con la dirección que tiene almacenada la primera palabra de la instrucción, el desarrollo de la instrucción o el llamado ciclo de instrucción será el siguiente: 1er Ciclo de Máquinna 1) (PC)--»(MAR), 2) (MAR)--»(MP), 3) (PC) + 1--»(PC), 4) (MP)--»(MDR), 5) (MDR)--»(IR), 6) DECODIFICA. Este conjunto de micropasos llamados comúnmente microsecuencias que realizan una acción determinada se denomina Ciclo de Máquina. Este en particular por ser el primero en ser ejecutado y es común para cualquier instrucción, puesto que hasta que no se realiza la decodificación, la unidad de control no sabe que tarea tiene que realizar este ciclo se denomina CICLO DE BÚSQUEDA del código del operación. El cual se corresponde casi totalmente a un ciclo de máquina de lectura en la memoria de programa. Una vez ejecutado este primer ciclo, la Unidad de Control, recurre a memoria de programa, que es el lugar donde se encuentra almacenada el resto de la información necesaria para la ejecución de la instrucción. En este caso la dirección del operando, la cual esta especificada en 16 bits. Pero como la longitud de palabra de nuestro procesador es de 1 byte ( 8bits ), se deberán realizar dos lecturas en la memoria para poder disponer de la información requerida. 2do Ciclo de Máquina 7) (PC)--»(MAR), 8) (MAR)--»(MP), 9) (PC) +1--»(PC), 10) (MP)--»(MDR), 11) (MDR)--»(R.T.)L Este conjunto de pasos que conforman el 2do Ciclo de Máquina de la instrucción. Al finalizar este ciclo, la Unidad de Control, transfirió hacia la CPU la parte baja de la dirección a la cual tiene que acceder. Posteriormente repite la secuencia para la parte alta: 3er Ciclo de Máquina 12) (PC)--»(MAR), 13) (MAR)--»(MP), 14) (PC) +1--»(PC), 15) ((MP))--»(MDR), 16) (MDR)--»(R.T.)H Este conjunto de upasos que conforman el 3er Ciclo de Máquina, tanto este ciclo de máquina como el anterior corresponde a ciclos de lectura en la memoria.

Page 36: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

36

Una vez almacenado en el registro temporario interno la dirección del operando, solamente resta acceder a memoria de datos para llevar a la CPU el dato guardado y cargarlo en el Acumulador, acción que representamos de la siguiente forma: 17) (RT)--»(MAR), 18) (MAR)--»(MD), 19) ((MD))--»(MDR), 20) (MDR)--»(AC) Este último ciclo se lo denomina Ciclo de Ejecución propiamente dicho y se corresponde también a un ciclo de lectura en memoria de datos. Mediante éste se da por finalizada la ejecución de la instrucción y al mismo tiempo se deja cargado el PC con la dirección de la próxima instrucción a ser ejecutada. En el caso del 8080A, cada ciclo de máquina viene precedido por la activación de una línea de control que es una pata física de CPU denominada SYNC. Dicha línea de sincronismo indica que por el BUS de Datos y por un período de tiempo totalmente determinado, estarán presentes líneas de control que definen que tipo de ciclo de máquina es el que se ejecutará. MICROPROGRAMACIÓN Como podemos apreciar por todo lo expuesto, la ejecución de cada instrucción no es mas que la realización en forma ordenada de una sucesión de pasos en un tiempo totalmente definido, por lo tanto lo podemos asociar perfectamente a la ejecución de microinstrucciones. La correcta elección de estas micro instrucciones dará nacimiento a una instrucción. Es así que la mayoría de los procesadores actuales se los denomina de lógica programada. La estructura interna del funcionamiento del Sistema Decodificador, conjuntamente con la Unidad de Tiempo y Sincronismo, la podemos graficar en la figura siguiente. En ella podemos definir los siguientes bloques: MDR, IR, DECOD. Son los mismos que ya describimos en el gráfico anterior, de ellos se desprende: MICRO P.C. Es el sistema que lleva la cuenta de los pasos a ejecutar. ROM DE CONTROL Es el lugar donde se encuentran almacenados todos los micropasos (en forma de micro programas) de todas las instrucciones que componen el Repertorio Básico de Instrucciones. MICRO DEC. Es el sistema que genera las líneas de control internas a nivel de habilitación de los latch internos de CPU. MICRO I.R. Es el sistema similar al Registro de instrucciones, que carga en su interior las micro instrucciones que serán ejecutadas. Si el procesador dispone de esta configuración y la ROM de Control no está accesible por el usuario, esta máquina se la denomina MICROPROGRAMADA. Si por el contrario, se puede acceder a esta ROM, modificando el orden de las microinstrucciones, se la denomina MICROPROGRAMABLE. Este último término supone que el usuario podrá diseñar su propio repertorio básico de Instrucciones.

Page 37: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

37

Este principio se pone en práctica con los procesadores BIT SLIDES, o procesadores de un bit. Por su característica de ser apilables, se puede diseñar el procesador del ancho operativo deseado, y por ende, el repertorio básico de instrucciones se puede generar a voluntad. VARIANTES DE LA ARQUITECTURA CLASICA

Los fabricantes de microprocesadores y demás componentes de los sistema de microcómputo han adoptados una serie de criterios diferentes en cuanto a la estructura física, a los fines de obtener alguno de los siguientes objetivos:

a) Que los componentes del sistema tienden a constituir un conjunto o familia de circuitos integrados en la que distinguimos la CPU, las memorias y los enlaces a periferia.

b) Tratar de minimizar el número de circuitos integrados que constituyen un sistema básico, por ejemplo con una CPU (microprocesador) del tipo monolítico, y aun incluyendo en ella parte de memoria y en algunos casos se integra en el mismo chip memoria de programa, de datos e inclusive puertas de entrada salida dando lugar a los llamados microcontroladores o microcomputadores.

c) En el caso del microprocesador monolítico, se procura que este se vincule fácilmente a circuitos integrados standard para las funciones de memoria y de entrada-salida.

d) Algunos diseños tienden constituir sistemas versátiles de uso general, no demasiado rápidos. Otros se orientan en cambio hacia controladores dedicados a realizar una función especifica a alta velocidad.

e) Cuando las exigencias de alta velocidad impiden el uso de tecnologías MOS de gran escala de integración, fraccionándose en “chips” denominados “tajadas de bits” (bits slices) que se interconectan para llegar a la longitud de palabra deseada.

f) A veces se provee capacidad de microprogramación para que el usuario elabore su propio conjunto de instrucciones de acuerdo a sus necesidades.

Sin entrar aquí en detalles sobre los sistemas que tienden a los objetivos e y f, veremos las

arquitecturas mas comunes que de uno u otro modo buscan alcanzar las otras metas.

M.D.R.

I.R.

DECODIF. u P.C.

ROM DE

CONTROL microprograma

uDECODIF.

u I.R.

Page 38: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

38

ORGANIZACIÓN DE BARRA ‘MULTIPLEXADA’

Esta arquitectura caracterizo a los primeros microprocesadores de 4 bits (Por ejemplo, el primero de todos, el Intel 4004 y su sucesor el, Intel 4040). Se trata de un conjunto de circuitos integrados, de acuerdo al objetivo a) del parágrafo anterior, cada uno de los cuales incluye circuitos de sincronismo de tal modo que las direcciones y sus contenidos, ya sean instrucciones o datos, transiten entre ellos a través de una única barra de cuatro líneas.

Con esto se consigue que todos los circuitos integrados vayan en cápsula de 16 patas (caso 4004) o a lo sumo que la CPU sea de24 patas (caso 4040). El ciclo de instrucción de divide en ocho ciclos de reloj: en los tres primeros se envían sucesivamente otros tantos conjunto de cuatro bits, que constituyen la dirección de la instrucción, hacia la ROM “multiplexándolos” a través del bus. Luego se multiplexan por la misma vía, en los siguientes ciclos, otros dos grupos de cuatro bits, que forman el “contenido” de la instrucción. Finalmente, esta es ejecutada durante los tres últimos ciclos de reloj. La CPU emite una señal, antes de cada ciclo de instrucción, para sincronizar los demás circuitos integrados. Evidentemente todo esto simplifica la circutería pero sacrifica la velocidad. ARQUITECTURA CON VARIOS CONTADORES DE PROGRAMA

En este tipo de solución propia del sistema Fairchild F8, se evita el multiplexado de las direcciones a través de la barra de datos, la cual solo tiene su fin especifico.

La CPU no necesita transmitir direcciones (salvo en el caso de instrucciones de ramificación o salto), pues cada circuito integrado que contiene memoria fija ROM para programa, o enlaza con ROM, tiene su propio contador de programa (PC) el cual “no” existe en la CPU. Estos PC cuentan simultáneamente, manteniendo idéntico contenido. El hecho de no sacar líneas de dirección a través de los contactos de los circuitos integrados de la CPU y memoria de programa, permite disponer en estos de dos puerta de entrada salida de 8 líneas cada una, lo cual hace un conjunto de cuatro puertas con 32 líneas en total. Las cápsulas son así de 40 patas de las cuales 16 son para entrada-salida. Además, se presenta aquí el concepto que distribuyendo algunas de las funciones de la CPU en varios circuitos integrados se ha logrado constituir una familia que puede funcionar eficientemente con un numero mínimo de componente. MICROPROCESADORES EN “TAJADAS DE BITS” (BIT SLICE). Existen aplicaciones para las cuales la velocidad de los microprocesadores MOS es insuficiente, por lo cual se ha debido recurrir a arquitecturas especiales usando tecnologías bipolares Schottky o aun ECL (Emitter Coupled Logic), en los casos de extrema velocidad. Pero con ello se pierde en densidad de integración y no era posible realizar una CPU completa de 8 o más bits en una sola cápsula. Entonces aparece la arquitectura “ Bit Slice”, en la cual la ALU se constituye disponiendo en paralelo un conjunto de elementos aritmetico-1ógicos, donde cada uno de los cuales puede realizar todas las funciones sobre un corto número ( '"tajada", slice ) de bits, típicamente dos o cuatro. La longitud de palabra es determinada por el usuario según el número de "tajadas" que use. La unidad de control, que sirve, a todos los mencionados elementos y gobierna al resto del sistema ( ROM, RAM, enlaces a periféricos) por intermedio de barras, debe ser necesariamente microprogramable por el usuario. Este tipo de arquitectura tiene ciertas ventajas notorias: Gran velocidad, como se dijo, versatilidad para configurar una estructura acorde con las necesidades particulares. Se puede "emular" casi cualquier sistema de cómputo, es decir, microprogramar para constituir el mismo conjunto de instrucciones del sistema emulado. En cuanto a las desventajas, se puede mencionar: Mayor costo que los sistemas MOS con microprocesadores monolíticos. Más

Page 39: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

39

trabajo de programación, ya que al no estar dado el conjunto de instrucciones, el fabricante no puede proveer ayudas de "software" (ASSEMBLER, compiladores, etc. ). ARQUITECTURAS MAS UTILIZADAS Aunque inicialmente todos los microprocesadores adoptaron la arquitectura clásica de von Neumann, en la actualida se observa en el mercado la opción de microprocesadores con la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control).

En la figura se observa la arquitectura de Von Neumann, en esta la memoria contiene indistintamente datos e instrucciones. La arquitectura Harvard dispone de dos memorias independientes: una, que contiene sólo instrucciones y otra, sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias.

En la figura se observa la arquitectura Harvard, la cual dispone de dos memorias independientes, una para datos y otra para instrucciones.

MemoriaPrincipal

Instrucciones+

Datos

CPU

Unidad deControl

UnidadOperativa

Bus de Control

Bus de Direcciones

Bus de Datose

Instrucciones

Memoria deInstrucciones

Instrucciones

CPU

Unidad deControl

UnidadOperativa

Memoria deDatos

Datos

Control

Direccionesde

Instrucciones

Instrucciones

Control

Direccionesde

Datos

Datos

Page 40: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

40

EL MICROPROCESADOR 8080 Historia del 8080 Durante el verano de 1971, Federico Faggin de Intel fue a Europa para realizar seminarios sobre el MCS-4 y el 8008 y para visitar clientes. Recibió una gran cantidad de críticas (algunas de ellas constructivas) acerca de la arquitectura y el rendimiento de los microprocesadores por ellos fabricada. Las compañías que estaban más orientadas hacia la computación eran las que le decían las peores críticas. Cuando regresó a su casa, se le ocurrió una idea de cómo hacer un microprocesador de 8 bits mejor que el 8008, incorporando muchas de las características que esa gente estaba pidiendo, sobre todo, más velocidad y facilidad de implementación en el circuito. Decidió utilizar el nuevo proceso NMOS (que utiliza transistores MOS de canal N) que se utilizaba en las últimas memorias RAM dinámicas de 4 kilobits, además le agregó una mejor estructura de interrupciones, mayor direccionamiento de memoria (16 KB en el 8008 contra 64 KB en el 8080) e instrucciones adicionales . Al principio de 1972 decidió realizar el nuevo chip. Sin embargo Intel decidió esperar a que el mercado respondiera primero con el MCS-4 y luego con el MCS-8 antes de dedicar más dinero al desarrollo de nuevos diseños. En el verano de 1972, la decisión de Intel fue comenzar con el desarrollo del nuevo microprocesador. Shima (el mismo de antes) comenzó a trabajar en el proyecto en noviembre. La primera fabricación del 8080 se realizó en diciembre de 1973. Los miembros del grupo que hacían el desarrollo encontraron un pequeño error y el primero de abril de 1974 se pudo lanzar al mercado el microprocesador. El 8080 realmente creó el verdadero mercado de los microprocesadores. El 4004 y el 8008 lo sugirieron, pero el 8080 lo hizo real. Muchas aplicaciones que no eran posibles de realizar con los microprocesadores previos pudieron hacerse realidad con el 8080. Este chip se usó inmediatamente en cientos de productos diferentes. En el 8080 corría el famoso sistema operativo CP/M (siglas de Control Program for Microcomputers) de la década del '70 que fue desarrollado por la compañía Digital Research. Como detalle constructivo el 8080 tenía alrededor de 6000 transistores MOS de canal N (NMOS) de 6 micrones, se conectaba al exterior mediante 40 patas (en formato DIP) y necesitaba tres tensiones para su funcionamiento (típico de los circuitos integrados de esa época): +12V, +5V y -5V. La frecuencia máxima era de 2 MHz. La competencia de Intel vino de Motorola. Seis meses después del lanzamiento del 8080, apareció el 6800. Este producto era mejor en varios aspectos que el primero. Sin embargo, la combinación de tiempos (el 8080 salió antes), "marketing" más agresivo, la gran cantidad de herramientas de hardware y software inclinaron la balanza hacia el 8080. El mayor competidor del 8080 fue el microprocesador Z-80, que fue lanzado en 1976 por la empresa Zilog (fundada por Faggin). Entre las ventajas pueden citarse: mayor cantidad de instrucciones (158 contra 74), frecuencia de reloj más alta, circuito para el apoyo de refresco de memorias RAM dinámicas, compatibilidad de código objeto (los códigos de operación de las instrucciones son iguales) y una sola tensión para su funcionamiento (+5V). El Z-80 fue concebido por Federico Faggin y Masatoshi Shima como una mejora al 8080, comenzando el desarrollo a partir de noviembre de 1974 en la empresa presidida por el primero. Tal fue el éxito que tuvo esta CPU que luego varias empresas comenzaron a producir el chip: SGS-Ates, Mostek, Philips, Toshiba, NEC, Sharp, etc. Este microprocesador ocupó rápidamente el lugar del anterior y se usó en todo tipo de microcomputadoras (incluyendo muchas de las "home computers" de la primera mitad de la década del '80).

Page 41: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

41

DESCRIPCION DE LOS PINES DEL MICROPROCESADOR 8080

Denom. Sen Descripción A15-A0 S BUS DE DIRECCIONES: el bus de direcciones es el encargado de

proveer la dirección de memoria (64 K de 8 bit) o direccionar un dispositivo de entrada/salida de los 256 posibles

D7-D0 E/S BUS DE DATOS: El bus de datos permite realizar la comunicación bidireccional entre la CPU, con memoria y dispositivos I/O para instrucciones y transferencias de datos. Además, durante el primer ciclo de reloj de cada ciclo de máquina, el 8080 pone sobre el bus de datos una palabra de estado, que describe el tipo de ciclo de máquina que VA A EJECUTAR.

SYNC S SEÑAL DE SINCRONISMO: El pin SYNC provee una señal que indica el comienzo de cada ciclo de máquina. Se utiliza para capturar la información de control presente en el bus de datos.

DBIN S DATA BUS IN: La señal DBIN indica a los dispositivos externos en que momento el bus de datos está en modo entrada. Esta señal se usa para habilitar la entrada de datos en el bus del 8080 desde la memoria o de los dispositivos de entrada/salida

READY E READY: Un uno lógico sobre la señal READY indica al 8080 que la memoria o que los datos de entrada están disponibles en el bus de datos. Esta señal se utiliza para sincronizar la CPU con memorias o dispositivos de I/O mas lentos. Si después de transmitir una dirección sobre el bus de direcciones, el 8080 no recibe un uno lógico en la entrada READY, el microprocesador entra en un estado de espera tanto tiempo como la línea READY este en cero lógico. Esta entrada podría también usarse para accionar paso a paso a la CPU.

WR S Indica a los dispositivos externos, memoria o periféricos que puedan capturar el dato presente en el bus de datos.

WAIT S WAIT: Cuando este pin se encuentra en uno lógico, la CPU se encuentra en un estado de espera.

HOLD E HOLD: Esta entrada requiere que la CPU entre en el estado HOLD, el cual permite a un dispositivo externo ganar el control de los buses de datos y de direcciones tan pronto como la CPU termine el uso de estos buses para el ciclo de máquina corriente. Una vez que la CPU entra en este estado, el bus de datos y el bus de direcciones estarán en su estado de alta impedancia. La CPU reconoce el estado HOLD con el pin de salida HLDA o HOLD ACKNOWLEDGE (HLDA) El hold se reconoce bajo dos condiciones a) La CPU esta en el estado HALT b) La CPU está en el estado T2 o Tw y la señal READY esta activa.

Page 42: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

42

HLDA S HOLD ACKNOWLEDGE: Este pin va a un estado de uno lógico en respuesta a una señal de entrada HOLD e indica que el bus de datos y de direcciones están en alta impedancia La señal HLDA comienza en cualquiera de los tiempos: a) T3 de memoria de lectura o entrada. b) El periodo de reloj siguiente a T3 para memoria de escritura u

operación de salida. En cada caso, la señal HLDA aparece después del disparo de φ2

INTE S HABILITACIÓN DE INTERRUPCIÓN: Indica el estado del flip flop de habilitación de interrupciones. Este flip flop puede ser puesto en uno o cero por las instrucciones de habilitación o desabilitación de interrupción respectivamente e impide que las interrupciones sean aceptadas por la CPU cuando el flip flop esta en cero. Este flip flop se borra con la señal de reset.

INT E PEDIDO DE INTERRUPCIÓN: Un uno lógico en esta entrada genera un pedido de interrupción que la CPU reconoce al final de la instrucción en curso. Si la CPU se encuentra en estado HOLD o si el flip flop de habilitación de interrupción esta en cero, la interrupción no se tendrá en cuenta.

RESET E RESET: Un uno lógico en esta entrada, inicializa la CPU.. Después del reset, el contador de programa PC, se carga con la dirección 0000, por lo tanto desde este lugar deberá comenzar el programa a ejecutar, lo que indica que la memoria de programa (ROM o EPROM) deberá ubicarse en esta zona de memoria. Las banderas de INTE y HLDA también se llevan a cero pero ni el registro de estado, el acumulador, el puntero de pila y los registros se modifican.

VSS MASA VDD +12 VOLT VCC +5 VOLT VBB -5 VOLT φ1, φ2 FASE DE RELOJ: 2 relojes externos no compatible con TTL

Page 43: Introducción a los Microprocesadoresdea.unsj.edu.ar/mp1/APUNTES/Catedra Introducion.pdf · Se estudiaran los microprocesadores y su utilización en los microcomputadores desde el

Electrónica Digital III

43