• No se han encontrado resultados

Circuitos Digitales y Microprocesadores

N/A
N/A
Protected

Academic year: 2021

Share "Circuitos Digitales y Microprocesadores"

Copied!
74
0
0

Texto completo

(1)

Circuitos Digitales y Microprocesadores

(CDM)

http://www.ing.unlp.edu.ar/electrotecnia/cdm/

(2)

• Altura de conocimientos y perspectiva futura

[Plan 2002]

Plan de trabajo

PAyED(CB*): Programación, algoritmos y estructura de datos

ISLyD (TB*): Introducción a los sistemas lógicos y digitales

CDM (TA*): Circuitos digitales y microprocesadores

Arq (TA*): Arquitectura

SOyR (TA*): Sistemas operativos y redes

(3)

Objetivos y contenido de la materia

• Comprensión del funcionamiento de un procesador:

Estudio desde el punto de vista físico y lógico de los microprocesadores.

– Diagrama de bloques. Buses. Registros. Instrucciones. Modos

de direccionamiento. Estructura algorítmica. (CPU)

– Periféricos de entrada salida. Proceso de interrupción.

Temporizadores. Comparadores y capturadotes. (MCU)

• Tipos y Selección de procesadores genéricos:

– Estado del arte y criterios comparativos de procesadores – Conceptos de diseño digital con microprocesadores y

microcontroladores

• Utilización de procesadores genéricos:

– Programación en C

• Realización de experiencias concretas con elementos de

entrada / salida:

(4)

Procesador Utilización: Programa Algoritmo Diagrama de flujo Diagrama de estados Bloques de estructura de programa (main, subrutinas, interrupciones, etc) Instrucciones Modelo de programación microinstrucción Diseño interno: Arquitectura Diagrama en bloques Transferencia de registros Componentes secuenciales Componentes combinacionales Compuertas Transistor Conexión con el mundo real

Estudio de los procesadores

Herramientas de diseño y utilización: Hojas de datos, programas, etc

Conocimientos de interfaz entrada/salida: Comunicación Serie, temporizadores, motores paso a paso, etc.

(5)

• Bibliografía básica

– Manuales Técnicos Manuales técnicos y notas de aplicación del microcontrolador HC908.

– Manuales técnicos de otros componentes – Apuntes de cátedra

• Bibliografía de consulta

– Microcontroladores Motorola - Freescale Programacion Familias y Sus Distintas Aplicaciones en La Industria Cazares Juan , Haro Diego , Hueso Jaime , Muriel Eduardo , Puebla Luis, Ed. Alfaomega 2008. – Programación de Sistemas Embebidos en C, Gustavo Galeano, Ed

Alfaomega, 2009

– Microcontroller Technology : The 68HC11and 68HC12, Peter Spasov Ed. Prentice Hall (5th Edition) 2004

– Embedded Microcomputer Systems Real Time Interfacing Jonathan W. Valvano Ed Thomson 2da Edition 2002

– Introduction to Embedded Microcomputer Systems: Motorola 6811 and 6812 Simulation Ed Thomson 2da Edition 2004

– Estructura y diseño de computadores. D. A. Patterson, J. L. Hennessy. Ed. Reverté, 2000

(6)

Características de la cursada

REGLAMENTO

Disposiciones vigentes:

• Ordenanza 028/02, 3 de junio de 2002, NUEVO REGIMEN DE EVALUACION.

(http://www.ing.unlp.edu.ar/actualidad/otros_links/Ordenanzas/Ordenanza28.htm). • Plan de Estudios 2002. (http://www.ing.unlp.edu.ar/carreras/text/plan-electronica.htm) (http://www.ing.unlp.edu.ar/carreras/analiticos/Electrotecnia/E-213%20Circuitos%20Digitales%20y%20Microprocesadores.doc) • Calendario Académico 2010. (http://www.ing.unlp.edu.ar/decanato/secacad-web/paginas/calendario10.htm)

Modalidad del curso:

• La cátedra adopta el cronograma de evaluaciones correspondiente a las asignaturas básicas, el que se detalla en el enlace Calendario, de la página electrónica de la Cátedra.

• Los alumnos deberán inscribirse en la cátedra mediante Internet (SIU-Guaraní), previamente al inicio del curso. • Los Trabajos Prácticos se realizarán en comisiones de tres (3) alumnos, que, a libre elección, deberán conformarse

el día de la inscripción.

• La realización de los Trabajos Prácticos (TP) constituirá parte de la nota final de cada módulo. A tal fin, antes de retirarse de cada clase práctica, las comisiones deberán entregar a su ayudante la resolución del problema que se le indicara al inicio de la clase. Si el trabajo resultara aprobado en primera instancia o en una segunda entrega a la siguiente semana, aportará 0,5 puntos a la nota final del módulo correspondiente.

• Los horarios de las Clases: Teóricas, Prácticas y de Consulta, así como el contenido de las clases, los enunciados y la bibliografía, se encuentran disponibles en sendos enlaces de la página electrónica de la Cátedra.

(7)
(8)

Presentación de los Docentes y

Armado de comisiones

(9)

Procesador Utilización: Programa Algoritmo Diagrama de flujo Diagrama de estados Bloques de estructura de programa (main, subrutinas, interrupciones, etc) Instrucciones Modelo de programación microinstrucción Diseño interno: Arquitectura Diagrama en bloques Transferencia de registros Componentes secuenciales Componentes combinacionales Compuertas Transistor Conexión con el mundo real

Estudio de los procesadores

Herramientas de diseño y utilización: Hojas de datos, programas, etc

Conocimientos de interfaz entrada/salida: Comunicación Serie, temporizadores, motores paso a paso, etc.

(10)

Diseño interno:

Evolución hacia los microprocesadores

Lógica combinacional

• Los primeros controles digitales, corresponden a simples

decisiones de aperturas y cierres de “reles”, que respondian a

una lógica de operacón ( funciones lógicas: AND, OR, NOT)

– Componentes: Compuertas lógicas

– Herramientas: Karnaugh, Quine-McKlusky, etc

– Ejemplos:

• Control combinacional: Las salidas dependen solo de

las entradas

– Control de presencia - estado activo de alarma por apertura de puerta, ventana o presencia

– Control on off de un motor…

(11)

Diseño interno:

(12)
(13)

Decodificadores (BCD a Decimal)…

(14)

3 a 8

(15)

Que generan la posibilidad mejorarlos e integrarlos,

…(74LS138)

(16)

ALU de 2 bit OP = 000 → XOR OP = 001 → AND OP = 010 → OR OP = 011 → Suma multiplexer multiplexer

(17)

Lógica secuencial

• Realizar una secuencia determinada en el tiempo. Las salidas

NO dependen solo de las entradas. Tipos: Asincrónicos y

Sincrónicos

– Herramientas: Diagramas de flujo y de estados

– Componentes: Flip-Flop (registros, contadores y memorias)

– Ejemplos:

• Temporizadores. Barrera de un paso a nivel. Control

secuencial lineal: Las salidas dependen de las entradas y del tiempo en que ellas ocurren.

• Procesador digital ( sistema secuencial + unidad de

memoria + unidad aritmética)

Diseño interno:

(18)

herramientas

• Diagramas de flujo

• Diagramas de estado

1 00 0 01 1 10 0 11 0 0 1 0 1 1 0 1

(19)

Contador de 0 a 99

(20)

Contador de 0 a 99

CD4511

(21)

MC14553B, contador BCD de tres dígitos por una parte y el MC14543B, decodificador BCD a siete segmentos

(22)

• Cuando esas operaciones y secuencias se almacenaron

en un dispositivo (memoria) y se ejecutaron (unidad de

control)  pasamos al mundo de la lógica programada

3

.

3 No confundir con programación de lógica (programación de dispositivos lógicos – ej FPGA)

Periféricos

CPU

Unidad central de procesamiento

Memoria

BUS

BUS

Diseño interno:

(23)

Diagrama en bloques de un procesador

Periféricos

CPU

Unidad central de procesamiento

Memoria

BUS

BUS

ROM

Memoria de solo lectura

RAM

Memoria de lectura escritura

entradas

salidas

CU

Unidad de control

ALU

Unidad aritmético lógica

Control

información

• Memorias: ROM

• programable ROM = PROM • Programable y borrable por

luz ultravioleta = EPROM • Programable por única vez =

OTP

• Programable y borrable eléctricamente = EEPROM FLASH (difieren en el tipo de acceso de borrado dentro de la memoria, son las que permiten realizar

(24)

Diagrama en bloques de un procesador

CPU

Unidad central de procesamiento

Programa

ROM

Memoria de solo lectura

Datos

RAM

Memoria de lectura escritura

entradas

salidas

CU

Unidad de control

ALU

Unidad aritmético lógica

(25)

Diagrama en bloques de un procesador:

Microprocesador

-

Microcontrolador

CPU

Unidad central de procesamiento

Programa

ROM

Memoria de solo lectura

Datos

RAM

Memoria de lectura escritura

entradas

salidas

CU

Unidad de control

ALU

Unidad aritmético lógica

(26)

Diagrama en bloques de un procesador:

Arquitecturas …

Von Neumann Harvard

CPU

Unidad central de procesamiento

Memoria de

Instrucciones y Datos

CPU

Unidad central de procesamiento

Memoria de Instrucciones Memoria de Datos Bus de datos Bus de instrucciones de datos de instrucciones Bus de direcciones

(27)

Procesador Utilización: Programa Algoritmo Diagrama de flujo Instrucciones Modelo de programación microinstrucción Ejemplo: SUMA …

Conexión con

el mundo real

Diseño interno: Arquitectura Diagrama en bloques Transferencia de registros Componentes secuenciales Componentes combinacionales Componentes

Estudio de los procesadores

Herramintas de diseño y utilización

(28)

Aplicaciones

– ¿Que puede realizar con un procesador?

• Sistemas „embebidos‟ o „empotrados‟ (embedded)

• Sistemas Centralizados

• Sistemas Distribuidos

– ¿Que tipos de procesadores tenemos?

• uP + e/s en un solo chip uC

• uP +

procesador matemático

 DSP

• uP +

más niveles lógicos

Lógica difusa

(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)

Tecnología

Como apareció el microprocesador?

Un poco de Historia:

A partir del pedido de integración de las plaquetas, en un pocos

„chips‟, de una calculadora de la empresa japonesa Busicon en

1969

[12 circuitos para una calculadora electrónica - 100Ku$]

a la empresa

Integrated Electronic (INTEL), se penso en realizar un sistema

que resuelva este y otros problemas similares

[Ted Hop (~12 de Intel)

realizar un microcomputador en un chip] .

La empresa contrató a un

diseñador italiano Federico Faggin, que inspirado en una PDP

8

(*)

realizo una microcomputadora en 4 chip, el 4004

[CPU 4004, I/O

4003, Ram 4002, Rom 4001].

Por publicidad considerando que son útiles para vender

memorias Intel compra a Busicon el micro por (60Ku$) !!!

http://www.intel.com/museum/online/hist_micro/hof/index.htm

(*) Diferencial Engine II (mecánica – 1847) – Harvard Mark I (reles 1944)  ENIAC [Electronic Numerical Integrator

And Computer (Computador e Integrador Numérico Electrónico), utilizada por el Balistic Research

Laboratory] (tubos de vacio – 1959) PDP-1 (Programmed Data Processor-1) fue el primer computador en

serie PDP de la Digital Equipment, producida por primera vez en 1960… …Univac (Universal Atomic Computer), IBM 360, PDP 8 -11 etc

(37)

Texas .. Atmel .. Dallas .. Philips Intel :::: Zilog Freescale MOS Technology(1) Microchip

(ex – Motorola)

(1)1975, MOS Technology, 6501 y 6502 se vendían a solo $25 dólares cada uno, mientras el precio de los 8080 y 6800 eran de $179 dólares. Como una respuesta a esto Intel y Motorola bajaron sus precios al primer día del anuncio del competidor a $69.95 por microprocesador. Utilizado en Apple I, Apple II, Atari, Comodore, Acorn, Oric, etc..

El diseño de ARM comenzó en 1983 como un proyecto de desarrollo en la empresa Acorn Computers Ltd.  Advanced RISC Machines

(2)Inicialmente la empresa GI (General Instruments) creó una subdivisión para fabricar dispositivos. Más tarde esta subvisión fue vendida a Venture Capital Investors que decidió crear una nueva empresa llamada Arizona Microchip Technology.

6502 (1) ARM (1) PIC1650(2) PIC16F84 DSPIC HC908… Rabit HC12 HC16 MCS 51 -4004 - 4040 MSP430 AT91

(38)

Aquitecturas Comerciales

• 16C74 Microchip

• 8051 Intel

• 8085 Intel

• 6800 de Motorola

• HC11 Fresscale (ex Motorota)

• y otros..

(39)
(40)
(41)
(42)
(43)
(44)

Motorola - Fresscale

Más Potencia Menor Costo 6800 68HC11 60 Versiones 68HC05 180 Versiones 68HC08 45 Versiones 16-Bit 8-Bit 68HC12 15 versiones Software Compatible 68HCS12 25 versiones 68HCS08 10 Versiones 32 - Bit Software Compatible

Arquitectura

Tiempo

(45)

68HC908RK2 68HC908JK1 68HC908MR32 68HC908KX2/8 68HC908JB8 ROM 68HC908AS60A 68HC08AZ32 68HC908AZ60A CAN Auto./Ind. Motor Control Gen. Purp. Auto./Ind. Low cost Consum. Comm. General Purpose 68HC908MR8/4 68HC908JL3 68HC908JK3 68HC908GP32 68HC908MR16 68HC908QT1 68HC908QT2 68HC908QT4 68HC908QY1 68HC908QY2 68HC908QY4 68HC908GT16 68HC908GT8 68HC908LJ12 68HC908SR12 68HC908JL8 68HC908JK8 68HC908GR8/4 68HC908GR16 68HC908GZ8/GZ16 68HC908AP8/16/32/64

(46)
(47)
(48)
(49)
(50)

Procesador Utilización: Programa Algoritmo Diagrama de flujo Instrucciones Modelo de programación microinstrucción Ejemplo: SUMA … Ejemplos de Conexión con el mundo real Diseño interno: Arquitectura Diagrama en bloques Transferencia de registros Componentes secuenciales Componentes combinacionales Componentes

Estudio de los procesadores

Herramientas de diseño y utilización

(51)

Lógica de transferencia entre registros

• Los sistemas digitales simples pueden ser diseñados por

medio de

tablas de estado.

De esta manera se llega a circuitos

lógicos secuenciales de grado no muy complejo. Sin embargo,

a la hora de diseñar circuitos lógicos complejos las tablas de

estado se tornan

increíblemente complicadas, extensas y poco

prácticas.

Una manera de poder llegar a este tipo de circuitos

es

describir

el sistema digital desde el

punto de vista de su

comportamiento.

De esta manera se encuentran cuatro partes fundamentales en

los sistemas digitales complejos:

– Registros

– Información en código binario

– Operaciones realizadas con la información en los registros

– Funciones de control que inician las operaciones.

(52)

Lógica de transferencia entre registros

Esta manera de ver al sistema se conoce también como lógica de

transferencia ente registros y es sumamente útil en el diseño de

sistemas lógicos complejos como los sistemas de procesamiento o procesadores.

En la lógica de transferencia entre registros la unidad registro abarca una gran gama de circuitos lógicos como son los contadores, registros de desplazamiento, unidades de la memoria, etc.

Una unidad de memoria se considera como una colección de registros de almacenamiento donde se guarda la información. De hecho, un flip-flop se considera como un registro de un bit.

La información binaria puede ser código, números binarios, decimales

codificados en binario, etc. Dicha información es guardada en los registros antes mencionados.

Las operaciones realizadas con la información en los registros se conocen como microoperaciones. Una microoperación es una

operación elemental que se realiza en paralelo durante un periodo del pulso de reloj. Por ejemplo, sumar, restar, desplazar, borrar, cargar, etc.

Las funciones de control, son las condiciones que deben de prevalecer

(53)

Microoperaciones básicas.

Carga en paralelo

: Transferencia de datos de un registro a otro.

B ← A

La información que tenga el registro

A

se transfiere al registro

B

ordenada bit a bit.

1 1 0 1 1 1 0 1

1 1 0 1 0 0 1 1

Registro A Registro B

(54)

Microoperaciones básicas.

• Desplazamiento

.

• En un desplazamiento lógico se desplazan a la derecha o a la

izquierda los bits contenidos en un registro. En un extremo, el bit

saliente se pierde al desplazarse. En el otro extremo se introduce

un cero

.

0

(55)

Microoperaciones básicas.

• Rotación: En la rotación se preservan todos los bits del registro

ya que si se hace hacia la derecha el bit mas a la izquierda se

coloca en lugar del bit mas a la derecha corriendo los demás

una posición hacia la derecha.

• ROL A, rotación a la izquierda del registro A

.

• ROR A, Rotación a la derecha del registro A.

1 0 1 0

… mas detalles: capitulo 8 - Nivel de transferencia de registros – M. Morris Mano Diseño Digital 3era Edición Pearson 2003

(56)

Procesador Utilización: Programa Algoritmo Diagrama de flujo Instrucciones Modelo de programación microinstrucción Ejemplo: SUMA … Ejemplos de Conexión con el mundo real Diseño interno: Arquitectura Diagrama en bloques Transferencia de registros Componentes secuenciales Componentes combinacionales Componentes

Estudio de los procesadores

Herramientas de diseño y utilización

(57)
(58)

Instrucciones

Aritméticas

Las microoperaciones básicas son sumar, restar y complementar.

• Todas las demás operaciones aritméticas puede obtenerse de una variación o secuencia de estas microoperaciones.

• Simbología - Descripción

F ← A + B Suma el contenido de A mas B y carga en F F ← A - B Resta el contenido A menos B y se carga en F B ← B‟ Complemento a1 del registro B

B ← B‟ + 1 Complemento a2 del registro B

F ← A + B‟ + 1 Sumar A mas el compl. a2 de B y carga en F A ← A+1 Incrementar el contenido de A en uno

A ← A-1 Decrementar el contenido de A en uno

– La operación de multiplicación, en la mayoría de las

computadoras, se ejecuta con una secuencia de

microoperaciones de suma y desplazamiento.

– La división se ejecuta con una secuencia de

microoperaciones de resta y desplazamiento. En la siguiente

tabla se muestran las operaciones aritméticas consideradas

básicas con su respectiva simbología.

(59)

Instrucciones

Lógicas

Las microoperaciones lógicas básicas son: • A‟ , negación o complemento del registro A • A ٧ B, OR lógica ente A y B.

• A ٨ B, AND lógica entre A y B • A (+) B, XOR lógica entre A y B

(60)

Set de Instrucciones

• Manejo de datos: Carga, almacenamiento, transferencia, … – LDA, STA, LDHX, MOV,….

• Aritméticas: Suma, resta, comparación, complemento a dos, multiplicaciones y divisiones, …

– ADD, ADC, SUB, NEG, DEC, MUL, DIV, …. • Operaciones lógicas y de manipulación de bit

– AND, OR, COM, LSR, ASR, …

• Desplazamientos (lógicos y aritméticos) y rotaciones

• Testeo/comparación de datos

– TST, CMP, BIT, ….

• Bifurcaciones y saltos condicionales

– BRA, JMP, JSR, BGE, CBEQ, DBNZ, …

• Instrucciones de modificación del CCR

(61)
(62)
(63)
(64)
(65)
(66)
(67)
(68)

Procesador Utilización: Programa Algoritmo Diagrama de flujo Instrucciones Modelo de programación microinstrucción Ejemplo: SUMA … Ejemplos de Conexión con el mundo real Diseño interno: Arquitectura Diagrama en bloques Transferencia de registros Componentes secuenciales Componentes combinacionales Componentes

Estudio de los procesadores

Herramientas de diseño y utilización

(69)
(70)

CPU

• Características:

– Frecuencia de reloj

(clock)

– Bus de datos

– Bus de direcciones

– Set de instrucciones

(Risc/Cisc) y Registros

(71)

Modelo de programación

Registros del CPU08

Acumulador (A) Registro Indice (H:X) (16 BITS) Puntero de Pila (SP) (16 BITS) Contador de Programa (PC) (16BITS)

Registro de condiciones de código (CCR)

7 0 A READ: WRITE: RESET: X X X X X X X X X = Indeterminate X H 15 7 0 READ: WRITE: RESET: 0 0 0 0 0 0 0 0 X X X X X X X X X = Indeterminate 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 15 7 0 READ: WRITE: RESET: 15 7 0 READ: WRITE:

RESET: LOADED WITH VECTOR FROM $FFFE AND $FFFF

7 4 0 V 1 1 H I N Z C 1 X 1 X 1 X X X READ: WRITE: RESET: X = Indeterminate

(72)

Registro de condiciones de código (CCR)

7 4 0

V

1 1

H I

N

Z

C

1 X 1 X 1 X X X READ: WRITE: RESET: X = Indeterminate

V - Flag overflow del Complemento a dos

“Seteado” si una operación aritmética signada ha desbordado Utilizado en “chequeos” de operaciones aritmética signadas

H - Half Carry flag

“Seteado” si un carry (acarreo) ocurre desde el bit 3 al bit 4 Utilizado en operaciones aritméticas BCD

I - Global Interrupt Mask ( Mascara Global de Interrupciones ) Cuando está seteada, deshabilita las interrupciones del CPU.

N- Negativo

Seteado si el bit 7 está seteado en el Acumulador

Z - Zero flag

Seteado si TODOS los bits en el Acumulador son ceros.

C - Carry or Borrow flag

(73)
(74)

Referencias

Documento similar

Elaborar el Diagrama de Pareto a partir de estudios de casos aplicando el aprender haciendo para resolver problemas de la vida diaria y la gestión

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

La realización de perfiles de conductividad eléctrica en sondeos profundos del área de estudio ha permitido constatar la existencia de una estratificación importante del agua

Mediante el análisis del diagrama de flujo y un algoritmo de corte, el simulador determina que para la solución de este modelo se requieren cuatro corrientes

RESISTENCIA DE MATERIALES: ANÁLISIS DE VIGAS PARA FLEXIÓN DIAGRAMAS DE FUERZA CORTANTE Y MOMENTO FLECTOR. Para los casos mostrados a continuación, realice el análisis y