Sistemas con mp y mc

Sistemas con mP y mC. Tema N° 1: Introducción a la Arquitectura de Computadoras Eduardo Daniel Cohen – [email protected] http://www.herrera.
Author:  Raúl Lara Cordero

5 downloads 107 Views 434KB Size

Recommend Stories


MOBILIARIO ESP ESP ESP MC-2 COR COR COR MC-2 MP-3 MC-2 MC-2 MP-2 MC-3 MP-5 PUFF MC-2 PUFF MCJ MC-2 ESP PUFF MC-4 ESP MP-6
10. MOBILIARIO ESP ESP ESP COR 6 5 4 3 COR COR COR COR ESP ESP ESP 5 COR 2 1 MC-2 4 3 2 1 LEYENDA DE MOBILIARIO MC-1: Mueble de

Milano MP Santa Cruz MP Valencia MP
Radio / CD / MP3 Milano MP34 Santa Cruz MP34 Valencia MP34 7 644 192 310 7 644 178 310 7 644 195 310 Instrucciones de manejo http://www.blaupunkt.

CIE-9-MC CIE-9-MC CIE-9-MC
4 4 ENFERMEDADES DE LA SANGRE Y ÓRGANOS HEMATOPOYÉTICOS CODIFICACIÓN EN CIE-9-MC. Edición 2012 CIE-9-MC CIE-9-MC CIE-9-MC CIE-9-MC CIE-9-MC CIE-9-

Story Transcript

Sistemas con mP y mC.

Tema N° 1: Introducción a la Arquitectura de Computadoras Eduardo Daniel Cohen – [email protected]

http://www.herrera.unt.edu.ar/procesadores

2014

Sistemas con Microprocesadores y Microcontroladores

1

Temas a Tratar: Introducción • Información General del Curso • Componentes de un Computador. – – – –

I/O, Memoria, CPU, Buses. CPU – Camino de Datos - Control El ciclo de la Instrucción Todo junto: ejecución de un programa.

• Conceptos de E/S. • Conceptos de Sw – Lenguaje de Máquina, Lenguaje Superior. – Sistema Operativo, Ensamblador, Intérprete, Compilador

2014

Sistemas con Microprocesadores y Microcontroladores

2

¿De qué se trata este curso? • Un Procesador en un chip (mP). • Integrando Memoria y otros dispositivos en el chip tenemos un Microcontrolador (mC). • El mC se usa para propósitos específicos: – Celulares, alarmas, juguetes, controles… – Muy bajo precio, muy bajo consumo, pequeños.

• Reemplazó y mejoró diseños con lógica cableada. • Impensable hace 40 años… revolucionó la electrónica. • Importante fuente de trabajo e innovación. • Herramientas de desarrollo accesible. • ¡¡Un Estudiante puede desarrollar en su casa!! 2014

Sistemas con Microprocesadores y Microcontroladores

3

Procesadores de Propósito General • Ejemplo: Pentium, Athlon, Celeron... • Se usan en Computadoras (ej. PCs) • De Propósito general: – Desarrollo de diversos programas. – Ejecución de los más diversos programas. – Herramientas de trabajo: Word, Excel, Internet…

• • • •

Consumo y Potencia muy superior a los mC. Performance (rapidez) y Potencia de Cálculo. Se estudiarán en Arquitectura de Computadoras ¿Qué hay más en el mundo? – ¿Procesadores de Uso General o de uso Específico?

2014

Sistemas con Microprocesadores y Microcontroladores

4

Objetivos de la Materia • Temas a Aprender – Cómo funcionan las computadoras, fundamentos. – Qué es un Microcontrolador. – Programación de un Microcontrolador. – Hardware de un Microcontrolador. Conectarlo al Mundo. – Manejar una placa basada en Microprocesador (Hw y Sw). – Aprender a “Aprender”. – Ritmo y Actualización  Básico para Arq. de Computadoras.

• ¿Para qué aprender estos temas? – Diferencia esencial con otras profesiones en Informática. – Precio muy accesible y amplia disponibilidad en el mercado. – Fuente de Trabajo y de Proyectos Finales de la Carrera.

2014

Sistemas con Microprocesadores y Microcontroladores

5

¿Qué estaremos viendo? • Módulo I

• Módulo II

– Introducción. ¿qué es una computadora? • CPU – Memoria – I/O. • Buses. • Conceptos generales del Hw y Sw. – Programación del mC MC68HC08.

– Hw del mC MC68HC08. – Mapas de Memoria y Dispositivos Internos. – Interrupciones – DMA

– Sistema de I/O. • Puertos • Timers – Conexión Dispositivos Externos.

• Laboratorios. – Sw. – Placas.

2014

Sistemas con Microprocesadores y Microcontroladores

6

Funcionamiento del Curso - I • Dictado Conceptual – Ing. Daniel Cohen e Ing. Esteban Volentini. – 2 clases por semana en general – de 2 hs c/u. (L y Mi de 8 a 10 hs). – A veces Viernes de 8 a 10 hs. – Importante: Venir a Clase. – Consultas después de cada clase. – Quizes en Clase – lectura clase anterior. • Mejor un 0 en un quiz que un Ausente (concepto). 2014

Sistemas con Microprocesadores y Microcontroladores

7

Funcionamiento del Curso - II • Trabajos Prácticos. – Docentes. • Ing. Maximiliano Cecilia - [email protected]. • Ing. Matías Scida - [email protected] • Erika Beker - [email protected] • Otros ayudantes estudiantiles a confirmar.

– Prácticos: en general Viernes de 8 a 10 hs. • 1 vez por semana aprox. – Problemas a resolver individualmente del sitio Web. • Evaluación de cada práctico – 1 vez por semana. • Dictado del Práctico – 1 hora después de la evaluación. • Horarios: Viernes de 8 a 10 hs “en general”. • Consultas a Estudiantes 2 hs dos veces por semana. • Se usarán herramientas de Desarrollo (simulador)

2014

Sistemas con Microprocesadores y Microcontroladores

8

Funcionamiento del Curso IV •

Consultas. –

Solo quien traiga un planteo. •

Si se dá el planteo se pierde el aprendizaje.



Recordar conceptos teóricos, el planteo sale a partir de allí.



Quien no sepa la teoría no recibirá respuesta.



En lugares públicos y horarios pre-informados.



Consignas / Enunciados.



Enseñar a Aprender •

Situaciones Nuevas.

• Trabajo de Ejercitación – no copiarse. 2014

Sistemas con Microprocesadores y Microcontroladores

9

Funcionamiento del Curso V •

Regularización – 40%. –

2 Parciales (60%).



Parcial 2 representa 60% de la nota de Parciales.



Evaluación Prácticos (30%)



Participación en clase, Quizzes (10%) •

2014

Nota de Defensa, caso contrario parciales 70%.



Porcentajes tentativos, cambian si aparecen “trampas”.



Quien copia recibe “0”.



Hay que obtener 40% entre los dos parciales.

Sistemas con Microprocesadores y Microcontroladores

10

Funcionamiento del Curso VI • Correlativas para Inscribirse (Computación): – Diseño Lógico I (regular). – Estructura de Datos. (regular). – Electrónica I (aprobada).

• ¡Prueba Prerrequisitos Viernes Próxima Semana! – Equivale al primer práctico. – Ejercicios en la Web.

2014

Sistemas con Microprocesadores y Microcontroladores

11

Funcionamiento del Curso V • Esta materia es Correlativa para: – Arquitectura de Computadoras (y muchas que le siguen). – Debe aprobarse al finalizar el Semestre. – Riesgo: perder un año.

2014

Sistemas con Microprocesadores y Microcontroladores

12

Atención: Ing. Electrónica • Algunos temas parecidos a EIV pero... – – – – –

Conceptos y puntos de vista diferentes. Funcionamiento de una computadora. Mayor profundidad. Especialización en Digitales y MCUs. Prerequisitos – deben rendir para repasar y aprender más, no es obligatorio aprobar.

• Correlativa: EIV

2014

Sistemas con Microprocesadores y Microcontroladores

13

Página de la Cátedra • Material de Ayuda – transparencias, bibliografía. • Anuncios y Novedades. • Información General – Programa de la Materia. • Parciales Años anteriores. • Trabajos Prácticos de Ejercitación. • Encuestas y quejas anónimas... La opinión de los estudiantes nos ayuda. • Calificaciones. • INSCRIBIRSE EN LA PAGINA.

2014

Sistemas con Microprocesadores y Microcontroladores

14

Foro de Cátedra • Por Facebook, https://www.facebook.com/groups/procesadore s/ • Consultas y opiniones temas específicos. • Temas generales de la Carrera. • Mayor comodidad: tiempo y lugar. • Práctica de lectoescritura. – Gran obstáculo al momento de rendir escritos.

• Muchas veces aparecen temas que se preguntan en parcial.

2014

Sistemas con Microprocesadores y Microcontroladores

15

Bibliografía • • • •

Transparencias. CPU08 Reference Manual, Motorola Inc., Rev 3, 2/2 Otros Manuales de Motorola. Primer Tema: Heuring (ver sitio Web).

Disponibles en el sitio Web de la Cátedra. http://www.herrera.unt.edu.ar/procesadores Recomendación: leer antes y después de clase.

2014

Sistemas con Microprocesadores y Microcontroladores

16

Reglamentación del Curso ¿Quedó claro el reglamento del Curso? Es todo lo explicado en el Funcionamiento del Curso. No lo olviden. Estas diapositivas están en el sitio Web.

2014

Sistemas con Microprocesadores y Microcontroladores

17

Plan de Mejoras 1. Muchos comentarios en 2012. Sus respuestas ayudarán a entender la filosofía de la materia. http://www.herrera.unt.edu.ar/arqcom/Descargas/OpinionesAlum nos.pdf 2. También en el sitio web de la cátedra podrán ver FAQs. 3. En 2013 hubo buenas observaciones  no fue necesario hacer un plan de mejoras.

2014

Sistemas con Microprocesadores y Microcontroladores

18

Parciales Otras Asignaturas Muchos faltan cuando tienen parciales. Se atrasan más. No se puede asignar una semana sin clases para todos los parciales. Me avisan para ver si podemos dictar en otro día. Llevar las clases al día es lo mejor.

2014

Sistemas con Microprocesadores y Microcontroladores

19

Componentes de un Computador Desde Afuera: • Dispositivos I/O 1.10 Looking Ahead

ng is that comes from viewi The intellectual synthes ectives each the three persp a computer system from It ign. des puter cient, effective com leads to an effi machine functions erstand how a l is when you und architecture leve tem sys the , and er at the gate, ISA chine. Wheth

the ma ly understand nce, that you ful mputer Scie jective is in Co your career ob aspect of some other or ng, eri ok Engine that this bo Comp uter cerest hope it is our sin nding. computers t unde rsta viding tha pro by you will serve

– – – – –

Mouse Teclado Monitor Discos – Disketes Otros...

• Input / Output – – – –

¿Cuál es Input? ¿Output? ¿Input y Output? ¿Variedad de velocidades? – Comunica con el Mundo. 2014

Sistemas con Microprocesadores y Microcontroladores

20

Por dentro...

• Motherboard Procesador video

– – – –

Procesador (CPU) Memoria (M) Conectores - Bus Plaquetas de Expansión (I/O) • Placa wireless. • Procesador de Gráficos • Otros...

2014

Sistemas con Microprocesadores y Microcontroladores

21

Partes de un Computador – CPU – sistema complejo. – Dividir Funcionalmente: Acción (camino de Datos) y Control. – En síntesis: Control

Input Memory

Datapath CPU

2014

Output M

I/O

Sistemas con Microprocesadores y Microcontroladores

22

Memoria - M • Contiene DATOS y PROGRAMAS. • Ejemplo de Datos (X e Y) • Posición A – X • Posición B – Y

• Ejemplo de Programa: • Tome X de A • Súmele Y de B • Guarde el resultado en C.

• Concepto de Programa Almacenado • Puede ser manipulado como datos por otro programa.

2014

Sistemas con Microprocesadores y Microcontroladores

23

CPU - Procesador • Ejecuta los Programas. • Lee Instrucciones de Memoria • Las Decodifica • Las Ejecuta – Lee / Escribe Datos de Memoria – Recibe / Envía Datos a I/O – Realiza Operaciones Lógico-Artiméticas (PROCESA)

• Se compone de • Unidad de Control – fija qué se debe hacer y cuándo. • Camino de Datos: Registros, ALU, interconexión. – Se encarga de hacer.

• Analogía: Sistema Nervioso y Músculos.

2014

Sistemas con Microprocesadores y Microcontroladores

24

Camino de Datos • Ejemplo Simple C3

C1

n

A

Latch

ALU n

B

n

C4

C2

n • C1, C2, C3 y C4 son señales de control. • ¿De qué depende la cantidad de bits de C3? • ¿Para qué está el LATCH? LATCH?

2014

Sistemas con Microprocesadores y Microcontroladores

25

Concepto de Bus • Salida 3 State: • Posibilita conexión de salidas en forma directa a un conjunto de conectores = bus. • Se sube con OE=1 (output-enable) • Se baja con L=1 (LOAD) OE2

OE1

Bus

OE3

n L4

L5

– Se sube en varios lados. – Se baja en varios lados. – ¿Cuántos pueden subir a la vez? ¿y bajar? 2014

Sistemas con Microprocesadores y Microcontroladores

26

Camino de Datos – Ejemplo más elaborado • Se desea interconectar 7 Registros y un ALU. • R1, R2, ..., R7 y ALU. • Intercambiar Contenidos de Registros (Ri Rj) • Acceder al ALU desde cualquier Registro (RiALU) • Poner el resultado en cualquier Registro (ALU  Rj)

• Solución 1 • Conectar todos contra todos. • Evaluar Ventajas y Desventajas.

2014

Sistemas con Microprocesadores y Microcontroladores

27

Solución 2 – 1 Bus • ¿Es solución? • Probar R1=R1+R2 y R3 R4, calcular ciclos de clock. • Ventajas y Desventajas. • El Bus es bidireccional.

C1

R1

C2

Bus L1 Latch1

m

2014

C3

n Latch2

ALU

A

R7

...

R2 L2

¿cuántas líneas en C1?

Sistemas con Microprocesadores y Microcontroladores

28

Banco de Registros • Observaciones: • Solo un registro se conecta a la vez. • Muchas señales de control = O(n)... ¿se podría reducir? • Se pueden poner todos juntos en un bloque. • Con nuevas entradas de Control: SELECCIÓN, LOAD, OE. • ¿Se podría eliminar L2?

C1

R1

C2

Bus L1 Latch1

...

R2

R7

C3

n Latch2

L2

ALU

A m

2014

Sistemas con Microprocesadores y Microcontroladores

29

Banco de Registros – Entradas de Control: SELECCIÓN, WR (LOAD), OE. – Ventaja: Integración – similar a una RAM. – ¿Cuántos bits lleva SEL? R0

SEL

R1

# líneas de control = O[log(n)] WR OE R7 DATA

2014

BUS

Sistemas con Microprocesadores y Microcontroladores

30

Solución 3 – 2 Buses • ¿Mejora la Velocidad? • Probar R1=R1+R2 y R3 R4, calcular ciclos de clock. • ¿Cuánto más rápido es la operación de suma? • ¿Puede eliminarse el Latch L1?

B1 DATA OUT

SELo

R0

SELi

R1

L1 Latch1

OE

ALU

A

WR

m

R7 DATA IN

B2 2014

Sistemas con Microprocesadores y Microcontroladores

31

Solución 4 – 3 Buses • Mejora la Velocidad • Probar R1=R1+R2 y R3 R4, calcular ciclos de clock. • ¿Cuánto más rápido es la operación de suma? • ¿Eliminar L1, ponerlo al costado? ¿L1 pasante?

B2 B1

DATA OUT

SEL1 SEL2 SEL3

R0

L1 Latch1

R1

m

WR OE

ALU

A R7 DATA IN

2014

Sistemas con Microprocesadores y Microcontroladores

B3 32

Memorias

Control

Input Memory

Datapath CPU

2014

Output M

I/O

Sistemas con Microprocesadores y Microcontroladores

33

Memoria - RAM • •

Funciona como una gran Tabla unidimensional. Una dirección de memoria es un índice en la tabla.



“Direccionamiento de Byte" : el índice apunta a una byte en M.

0 1 2 3 4 5 6 ...

8 bits of data 8 bits of data 8 bits of data 8 bits of data 8 bits of data 8 bits of data 8 bits of data

• La celda básica es el flip-flop. Empacados en alta densidad. 2014

Sistemas con Microprocesadores y Microcontroladores

34

Tecnología de Memorias • Acceso Aleatorio (Random): • “Random”: tiempo de acceso es el mismo para todas las celdas.

– SRAM: Static Random Access Memory • Baja Densidad, alto consumo, cara, rápida • Estática: el contenido se mantiene indefinidamente con Vcc.

– DRAM: Dynamic Random Access Memory • Alta Densidad, bajo consumo, barato, lento. • Dinámica: necesita ser “refrescada” regularmente.

• Memorias de acceso “no aleatorio”. • Tiempo de acceso varía de lugar en lugar y de tiempo en tiempo. • Ejemplos: Discos, cintas (secuencial), CD-ROM 2014

Sistemas con Microprocesadores y Microcontroladores

35

Diagrama Lógico de una SRAM A N

WE_L

2 N words x M bit SRAM

OE_L

M

D

• Señales de Control: Write Enable y Output Enable • Generalmente se activan en “Low” (WE_L, OE_L). • OE_L permite Ahorrar Pins, unificando Din y Dout.

– WRITE: WE_L se activa (0), OE_L se desactiva (1) • D funciona como entrada de Datos.

– READ: WE_L se desactiva (1), OE_L se activa (0) • D es la salida de datos.

– INDEFINIDO: SI tanto WE_L como OE_L se activan: • Resultado no definido. ¡¡No hacerlo!!

2014

Sistemas con Microprocesadores y Microcontroladores

36

Memorias: SRAM y DRAM 1. ¿Cómo se puede verificar el tamaño en KB de estos chips? 2. Algunas RAM unifican WE_L y OE_L en un único R/W_L 3. ¿Para qué traen incorporados CS?

2014

Sistemas con Microprocesadores y Microcontroladores

37

La Interfase CPU–Memoria Data bus

Address bus

CPU m MAR

Main memory s m

Address

A0 – Am– 1

w MDR

b

D0 – Db– 1

0 1 2 3

w R/W Register file

REQUEST

2m – 1

COMPLETE

Control signals

1. MAR – Memory Address Register. • •

Contiene la dirección de los datos a leer o escribir en M. 2m es la dimensión del “espacio de direcciones”.

2. MDR – Memory Data Register. • •

• 2014

Contiene los datos a escribir o que se leen de M. w es el “ancho de palabra” del CPU. ¿w grande es bueno?

DATA BUS, ADDRESS BUS y CONTROL BUS. Sistemas con Microprocesadores y Microcontroladores

38

La Interfase CPU–Memoria Data bus

Address bus

CPU m MAR

Main memory s m

Address

A0 – Am– 1

w MDR

b

D0 – Db– 1

0 1 2 3

w R/W Register file

REQUEST

2m – 1

COMPLETE

Control signals

Secuencia de Eventos: Read: 1. CPU pone dirección en MAR, activa Read y REQUEST 2. Memoria envía el dato a MDR 3. Memoria activa COMPLETE

Write: 1. CPU carga MAR y MDR, activa Write y REQUEST 2. El contenido de MDR se escribe en celda indicada por MAR 3. Memoria activa COMPLETE

•¡Ojo!: No aparece CS, en la RAM no hay Request, ni Complete 2014

Sistemas con Microprocesadores y Microcontroladores

39

La Interfase CPU–Memoria Data bus

Address bus

CPU m MAR

Main memory s m

Address

A0 – AmÐ1

w MDR

b

D0 – Db Ð1

0 1 2 3

w R/W Register file

REQUEST

2m – 1

COMPLETE

Control signals

Consideraciones Adicionales: • Si b < w, se requieren w/b transferencias de b-bits a Memoria. • Algunos CPUs permiten leer o escribir palabras con tamaño < w Ejemplo: Intel 8088: m = 20, w = 16, s=b = 8 Se pueden leer o escribir Datos de 8- y 16-bit

• Si la memoria es suficientemente rápida, entonces puede omitirse la señal COMPLETE. • Algunos sistemas usan líneas OE y WE y omiten REQUEST 2014

Sistemas con Microprocesadores y Microcontroladores

40

Algunas Propiedades de Memoria Símbolo

Definición

Motorola CPU-08

Intel 8086

Pentium

w

Ancho de palabra del CPU

8 bits

16 bits

32 bits

m

Bits en una dirección de M

16 bits

20 bits

32 bits

s

Bits en menor unidad direccionable 8 bits

8 bits

8 bits

b

Ancho del Data Bus

8 bits

16 bits

32 bits

2m

Capac de palabras ancho s en M

216 words

220 words

232 bytes

2mxs Espacio de Mem. en bits

216 x 8 bits 220 x 8 bits 232 x 8 bits

Ancho de Palabra de CPU no siempre igual ancho data bus

2014

Sistemas con Microprocesadores y Microcontroladores

41

Espacio de Memoria

• Es la maxima cantidad de memoria que se puede conectar a un Procesador. • Esta dado por su capacidad de direccionamiento. • En general no todo se usa. • La ubicación de las partes usadas en el espacio de M forman el Mapa de Memoria.

2014

Sistemas con Microprocesadores y Microcontroladores

42

CPU - Registros Adicionales • Registros Adicionales: – PC – program Counter – dirección de la próxima instrucción. – IR – Instruction Register – contiene la instrucción actual:

2014

Sistemas con Microprocesadores y Microcontroladores

43

El Ciclo de la Instrucción

Instruction Fetch

Obtener instrucción de Memoria M(PC), guardar Instrucción en IR Actualizar PC

Instruction

2014

Decode

Determinar las acciones que se requieran

Execute

Ejecutar las acciones requeridas (leer o escribir en M o I/O, procesar en ALU...)

Sistemas con Microprocesadores y Microcontroladores

44

¿Qué debe especificar una instrucción? Flujo de Datos

• ¿Qué operación realizar? – Op code: add, load, branch, etc.

add r2, r1, r3

• ¿Dónde están los operando/s? add r2, r1, r3 – En registros del CPU, celdas de memoria, lugares de I/O o parte de una instrucción. • ¿Dónde se guarda el resultado? – En un registro, M, I/O o Inst.

add r2, r1, r3

• ¿Dónde está la próxima instrucción? – En el lugar de memoria a que apunta el PC – Para ej. salto – PC endloop

add r2, r1, r3

2014

br endloop

Sistemas con Microprocesadores y Microcontroladores

45

Formato de la Instrucción Op-Code

Operando 1

Operando 2

...

Operando n

1. Op-Code: Qué se hace. •

n bits – hasta 2n operaciones distintas.

2. Operandos: Con qué dato se hace. •

En general desde 0 a 3 operandos.



El dato puede estar en el campo de la Instrucción, en Memoria o en un Registro.



Modo de Direccionamiento: forma en que se especifica un dato en el campo Operando.

3. Puede haber más de un formato, dependiendo de Op-Code. 2014

Sistemas con Microprocesadores y Microcontroladores

46

3 Clases de Instrucciones • Movimiento de Datos – – – –

Tienen siempre una fuente y un destino. Load— La fuente es memoria y el destino un registro. Store— La fuente es un registro y el destino es memoria. Hay casos con fuentes y destino ambos M o ambos R.

• Procesamiento – Instrucciones Aritméticas y Lógicas. – Procesar uno o más operandos fuentes y guardar el resultado en un lugar de destino. – Add, Sub, Shift, etc.

• Control de flujo de Instrucciones (Saltos) – Alterar el flujo normal de control en lugar de ejecutar la siguiente instrucción de la dirección contigua. – Br Loc, Brz Loc2,—saltos condicionales o incondicionales.

2014

Sistemas con Microprocesadores y Microcontroladores

47

PSW – Program Status Word • Registro de Código de Condición (CCR). – Compuesto por flags que indican cómo fue el último resultado que los cambió. • Carry, Negative, Overflow, Zero, Half Carry, ...

– Sirven para implementar instrucciones de salto. • BZ (salte si cero), BN (salte si negativo), ...

– Algunas arquitecturas implementan saltos sin CCR • Veremos en Arquitectura de Computadoras.

• PSW – Program Status Word. – Contiene los flags (CCR) – Contiene información de estado del CPU (más adelante)

2014

Sistemas con Microprocesadores y Microcontroladores

48

Modos de Direccionamiento - I • Para escribir un programa se requiere: Algoritmo y Estructura de Datos. • Los modos sirven para acceder a estructuras de datos de forma eficiente. • Veremos algunos ejemplos:

2014

Sistemas con Microprocesadores y Microcontroladores

49

Modos de Direccionamiento - II •



Registro – para variables temporarias muy usadas. •

En el operando figura el número de un registro en el que está el dato.

• •

Si r2 contiene 3 y r3 contiene 4. Add r1, r2, r3 ; r1 7

Directo – variables globales. –

En el operando se escribe la dirección del dato en M. Ej. Si M(100H)=5 Ld r1, (100H) ; r15

2014

Sistemas con Microprocesadores y Microcontroladores

50

¿Cuáles son las componentes de un ISA? • ISA = Modelo del Programador de la máquina. máquina • Celdas de Almacenamiento – Registros de propósito general y especial en el CPU. – Muchas celdas de propósito general de igual tamaño en Memoria. – Almacenamiento relacionado con dispositivos I/O. • Formato de la Instrucción – Tamaño y significado de los diferentes campos de la Instrucción. – Modos de Direccionamiento. • El Set de Instrucciones de la Máquina. – Es el repertorio completo de las operaciones de la máquina. – Emplea celdas de almacenamiento, formatos y resultados del ciclo de la Instrucción. – El fabricante provee una tabla y manuales. 2014

Sistemas con Microprocesadores y Microcontroladores

51

Arquitectura del Set de Instrucciones (ISA)

• ISA = Información que se requiere para escribir programas en el CPU. • Presentaremos un CPU y su trayectoria de datos. • Presentaremos algunas Instrucciones. • Veremos todas las operaciones que se realizan para ejecutar un programa.

2014

Sistemas con Microprocesadores y Microcontroladores

52

Ej: Diagrama de Bloques CPU de 1 Bus: SRC - 1 CPU

CB

Control Unit Control signals out

R0

31

0 32 32-bit general purpose registers

Control unit inputs 31..0 32

31

0 PC

Data Path

R31

Main memory

Input/ output

IR A

A

B ALU C

MA To memory subsystem MD

Memory bus

C

2014

Sistemas con Microprocesadores y Microcontroladores

53

Comentarios Adicionales • Un solo Bus permite solo una transferencia de Registro a la vez. • El primer operando de la ALU siempre en A, resultado en C. ¿Por qué? • Segundo Operando de la ALU proviene siempre del Bus • Palabras de Mem de 32 bits. • Direccionamiento a Bytes en M. • MAR tiene 32 bits. • ¿Espacio de direcciones? • 32 Registros de uso General R(0...31) • Tiempo de Acceso a Mem = 1T 2014

31

0

31..0

R0 32 32-bit general purpose registers

32

31

0 PC

R31 IR A

MAR A A

B ALU C

To memory subsystem MDR

C

Sistemas con Microprocesadores y Microcontroladores

54

Trayectoria de Datos 31

0

31..0

R0 32 32-bit general purpose registers

32

31

0 PC

R31 IR A

MAR A

B ALU C

a AB

To memory subsystem MDR

a DB

C

2014

Sistemas con Microprocesadores y Microcontroladores

55

Descripción Formal de Instrucciones • RTN – Register Transfer Notation o RTL. • Descripción Abstracta – dice qué se hace pero no cómo se implementa. • Descripción Concreta – dice cómo se implementa. • Se trata de diseño – puede haber distintas implementaciones, con ventajas y desventajas. • Debe haber una única descripción abstracta. • Puede haber múltiples descripciones concretas. • La trayectoria de datos no forma parte del ISA.

2014

Sistemas con Microprocesadores y Microcontroladores

56

Instrucciones SRC-1 Formatos: 31 27 26 22 21 17 16 op ra rb 31 27 26 22 21 17 16 12 11 op ra rb rc

0 c2

Type 1 0 c3

Type 2

Abstract RTN: (IR  M[PC]: PC PC + 4; instruction_execution); instruction_execution := ( • • • add (:= op= 12)  R[ra] R[rb] + R[rc]: ld (:= op= 1)  R[ra]  M[disp] : st (:= op= 3)  M[disp]  R[ra] : ...) donde disp31..0 := ((rb=0)  c216..0 {sign ext.} : (rb0)  R[rb] + c216..0 {sign extend, 2's comp.} ) : Extender signo significa repetir el MSB. Implementación: R(0)=0 siempre y todo se simplifica. 2014

Sistemas con Microprocesadores y Microcontroladores

57

Preguntas

1. 2. 3. 4.

2014

¿Cómo sabe el CPU cuál tipo corresponde? ¿Qué instrucción está en tipo 1? ¿Cuál en tipo 2? ¿Extender el signo cambia el número?

Sistemas con Microprocesadores y Microcontroladores

58

RTN Concretas para ADD Abstract RTN: (IR  M[PC]: PC PC + 4; instruction_execution); instruction_execution := ( • • • add (:= op= 12)  R[ra] R[rb] + R[rc]: RTN concreta para add Paso T0 T1 T2 T3 T4 T5

RTN MAR PC: C PC + 4; MDR M[MAR]: PC  C; IR MDR; IF A R[rb]; IEx. C A + R[rc]; R[ra] C;

31

0 32 32-bit general purpose registers

32

31

0 PC

R31 IR A

MAR A

B ALU C

• • •

31..0

R0

To memory subsystem MDR

C FETCH (IF) es igual para todas las instrucciones. En T0 se ejecutan parte de 2 RTs (IR  M[PC]: PC PC + 4;) La ejecución de una sola RT abstracta en ADD toma 3 RTs concretas (T3, T4, T5)

2014

Sistemas con Microprocesadores y Microcontroladores

59

RTN Concretas para Ld y St Ld (:= op= 1)  R[ra]  M[disp] : St (:= op= 3)  M[disp]  R[ra] : donde disp31..0 := ((rb=0)  c216..0 {sign ext.} : (rb0)  R[rb] + c216..0 {sign extend, 2's comp.} ) :

Instrucciones Ld and St (load/store register from memory) 16@IR(16)# significa “repetir 16 veces el bit 16 de IR y concatenar con...”

Paso RTN para Ld RTN para St T0–T2 Instruction fetch T3 A (rb = 0  0: rb 0  R[rb]); R(0):=0 siempre T4 C A + (16@IR16#IR15..0); ext. signo T5 MAR C; T6 MDR M[MAR]; MDR R[ra]; T7 R[ra] MDR; M[MAR] MDR; 2014

Sistemas con Microprocesadores y Microcontroladores

60

Ejemplo de Programa • Datos • 00000100H • 00000104H • 00000108H

2 3

(valor de la palabra) (lugar para resultado)

• Programa • • • •

00000000H 00000004H 00000008H 0000000CH

ld ld add st

r1, r0, 0100H r2, r0, 0104H r3, r2, r1 r3, r0, 0108H

• Programa y Datos están en Memoria.

2014

Sistemas con Microprocesadores y Microcontroladores

61

Ejecución: Ld

r1, r0, 0100H

• Inicialmente PC=00000000H Paso RTN para ld Fetch T0 MAR PC: C PC + 4; T1 MDR M[MAR]: PC  C ; T2 IR MDR; Ejecución T3 A (rb = 0  0: rb 0  R[rb]); T4 C A + (16@IR16#IR15..0); T5 MAR C; T6 MDR M[MAR]; T7 R[ra] MDR;

MAR=0, C=4 MDR=M(0)=Ld, PC=4 IR=Ld A=0 C=00000100H MAR=00000100H MDR=M(100H)=2 R(1)=2

• Veamos Paso a Paso. 2014

Sistemas con Microprocesadores y Microcontroladores

62

Fetch: Ld

r1, r0, 0100H

T0: MAR PC: C PC + 4;

0 PC Banco Registros

IR

0

A

MAR MDR C

4 2014

Sistemas con Microprocesadores y Microcontroladores

63

Fetch: Ld

r1, r0, 0100H

T0: MAR PC: C PC + 4; T1: MDR M[MAR]: PC C;

4 PC Banco Registros

IR

0

A

MAR MDR C

Ld

4 2014

Sistemas con Microprocesadores y Microcontroladores

64

Fetch: Ld

r1, r0, 0100H

T0: MAR PC: C PC + 4; T1: MDR M[MAR]: PC C; T2: IR MDR;

4 PC Banco Registros

IR

Ld A MAR MDR C

2014

Sistemas con Microprocesadores y Microcontroladores

Ld

65

Ejecución: Ld T0: T1: T2: T3:

MAR PC: C PC + 4; MDR M[MAR]: PC C; IR MDR; A (rb = 0  0: rb 0  R[rb]);

r1, r0, 0100H 0

r0

Banco Registros

4 PC IR

Ld 0 A MAR MDR C

2014

Sistemas con Microprocesadores y Microcontroladores

66

Ejecución: Ld T0: T1: T2: T3: T4:

MAR PC: C PC + 4; MDR M[MAR]: PC C; IR MDR; A (rb = 0  0: rb 0  R[rb]); C A + (16@IR16#IR15..0);

r1, r0, 0100H 4 PC

Banco Registros

IR

Ld r1, 0, 100H 0 A MAR MDR C

100H 2014

Sistemas con Microprocesadores y Microcontroladores

67

Ejecución: Ld T0: T1: T2: T3: T4: T5:

MAR PC: C PC + 4; MDR M[MAR]: PC C; IR MDR; A (rb = 0  0: rb 0  R[rb]); C A + (16@IR16#IR15..0); MAR C;

r1, r0, 0100H 4 PC

Banco Registros

IR

Ld 0 100H

A

MAR MDR C

100H 2014

Sistemas con Microprocesadores y Microcontroladores

68

Ejecución: Ld T0: T1: T2: T3: T4: T5: T6:

MAR PC: C PC + 4; MDR M[MAR]: PC C; IR MDR; A (rb = 0  0: rb 0  R[rb]); C A + (16@IR16#IR15..0); MAR C; MDR M[MAR];

r1, r0, 0100H 4 PC

Banco Registros

IR

Ld 0 100H

A

MAR MDR C

100H 2014

Sistemas con Microprocesadores y Microcontroladores

2

69

Ejecución: Ld T0: T1: T2: T3: T4: T5: T6: T7:

MAR PC: C PC + 4; MDR M[MAR]: PC C; IR MDR; A (rb = 0  0: rb 0  R[rb]); C A + (16@IR16#IR15..0); MAR C; MDR M[MAR]; R[ra] MDR;

r1, r0, 0100H 4 2

r1

PC

Banco Registros

IR

Ld 0 100H

A

MAR MDR C

100H 2014

Sistemas con Microprocesadores y Microcontroladores

2

70

Ejecución: Ld

r2, r0, 0104H

• PC = 00000004H, r1=2 Paso RTN para ld Fetch Ídem anterior – para vagos creativos T8 MAR PC: C PC + 4; MAR=4, C=8 T9 MDR M[MAR]: PC  C; MDR=M(4)=Ld, PC=8 T10 IR MDR; IR=Ld Ejecución Ídem anterior – para vagos creativos T11 A (rb = 0  0: rb 0  R[rb]); A=0 T12 C A + (16@IR16#IR15..0); C=00000104H T13 MAR C; MAR=00000104H T14 MDR M[MAR]; MDR=M(104H)=3 T15 R[ra] MDR; R(2)=3

2014

Sistemas con Microprocesadores y Microcontroladores

71

Ejecución: Add r3, r2, r1 • PC = 00000008H, r1=2, r2=3 Paso RTN para ld Fetch Ídem anterior – para vagos creativos T16 MAR PC: C PC + 4; T17 MDR M[MAR]: PC  C; T18 IR MDR; Ejecución T19 A R[rb]; T20 C A + R[rc]; T21 R[ra] C;

2014

MAR=8, C=12=CH MDR=M(8)=Add, PC=12 IR=Add A=R(2)=3 C=A+R(1)=3+2=5 R(3)=C=5

Sistemas con Microprocesadores y Microcontroladores

72

Ejecución: St

r3, r0, 0108H

• PC = 0000000CH, r1=2, r2=3, r3=5 Paso RTN para ld Fetch Ídem anterior – para vagos creativos T22 MAR PC: C PC + 4; T23 MDR M[MAR]: PC  C; T24 IR MDR; Ejecución T25 A (rb = 0  0: rb 0  R[rb]); T26 C A + (16@IR16#IR15..0); T27 MAR C; T28 MDR R[ra]; T29 M[MAR] MDR;

2014

MAR=CH, C=10H=16 MDR=M(CH)=St, PC=16 IR=St A=0 C=00000108H MAR=00000108H MDR=R(3)=5 M(108H)=5

Sistemas con Microprocesadores y Microcontroladores

73

Conclusiones del Ejemplo • El CPU es sólo una máquina. • Siempre hace lo mismo – ciclo de la instrucción.

• El Programa es quien da la “inteligencia”. • Hay un programa que sintetiza un algoritmo.

• Al final el PC apunta a la siguiente instrucción. • Continúa indefinidamente. • “Para” con un retorno al Sistema Operativo. • Pero en el fondo no para, ejecuta el sistema operativo.

2014

Sistemas con Microprocesadores y Microcontroladores

74

Performance del Ejemplo • Tiempo de Ejecución: 30 T • Cantidad de Instrucciones: I = 4. • Ciclos T por Instrucción Promedio - CPI. • • • •

Depende del programa. En este caso resulta: 7,50. Tiempo de ejecución = I x CPI x T Aparecen las 3 variables que se pueden mejorar. – I: un buen ISA, buen programa: algoritmo, estruct. datos – CPI: mejorar la realización concreta del ISA. – T: mejorar la tecnología para usar un reloj más rápido.

2014

Sistemas con Microprocesadores y Microcontroladores

75

Ventajas de RTN • Permite describir el “qué” sin obligar a describir el “cómo”. • Especificación precisa y no ambigua, • al contrario de lenguajes naturales.

• Reduce errores: – Debido a mala interpretación o especificaciones imprecisas. – Confusiones en diseño e implementación —“error humano”

• ¡Permite al diseñador hacer chequeo de la especificación! • Las especificaciones pueden ser chequeadas y procesadas automáticamente mediante herramientas CAD. – Una especificación RTN puede ingresar a un generador que • Produce un simulador para la máquina especificada.

– Una especificación RTN puede ingresar a un generador de compilador. • Genera un compilador para crear un simulador. • Un programa en LM corre en el simulador. 2014

Sistemas con Microprocesadores y Microcontroladores

76

Lenguajes de Especificación - RTN Lenguaje que describe otro lenguaje (LM) se llama Metalenguaje

ISAspecification written in RTN RTN compiler Generated processor LM program and data

2014

SRC interpreter or simulator

Data output

Sistemas con Microprocesadores y Microcontroladores

77

Arquitectura Harvard • Arquitectura Tradicional – Von Newman. – Instrucciones y Datos comparten Memoria. – Ventaja: es simple

• Arquitectura Harvard – Memoria de Instrucciones separada de Memoria de Datos. – Permite implementar dos buses, uno para instrucciones y otro para datos, con la posibilidad de buscar la siguiente instrucción cuando se buscan los datos de la actual. 2014- D. Cohen

UNT - Arq. de Computadoras

78

Entrada / Salida Control

Input Memory

Datapath CPU

Output M

I/O

Gran Variedad de Dispositivos E/S y Velocidades de transferencia.

2014

Sistemas con Microprocesadores y Microcontroladores

79

Ejemplos de Dispositivos E/S Dispositivo Teclado Mouse Laser Printer Optical Disk Red-LAN Magnetic Disk Display Gráfico

Función Input Input Output Storage E/S Storage Output

Interlocutor Humano Humano Humano Máquina Máquina Máquina Humano

Tasa Transf. (Mb/s) 0,0001 0,0038 3,2000 80.000 20.000 – 266.000 44.000 – 125.000 2.100.000

¿Cómo hace un computador para manejar todo esto eficientemente? ¡No quedarse esperando un tecleo! ¡Hacer otras cosas mientras tanto!

2014

Sistemas con Microprocesadores y Microcontroladores

80

Conceptos de E/S Ej. Sistema Multitarea: Secretaria prepara Café. Alternativas: 1. 2.

3. 4. 5.

Ineficiente: Espera a que alguien pida y le sirve. No hace otra cosa (la echan por monotarea) Polling (encuestas): Cada media hora pregunta si alguien quiere café. Un reloj con alarma se lo recuerda. Si tiene otras urgencias no hace caso. Interrupciones: Cuando alguien quiere café la llama por el interno. No hace caso si hay urgencias. Acceso Directo (DMA): el que quiere café se sirve solo, si la cafetera se vacía suena alarma a la Secret. (Interrupt) Procesador Dedicado (IOP): dispensador automático de café y otras bebidas. Una vez por semana la Secretaria carga la máquina. Alarma si falla (Interrupt).

Lo mismo vale entre un CPU y dispositivo E/S 2014

Sistemas con Microprocesadores y Microcontroladores

81

Conceptos de E/S - Implementación 1. Lazo de Polling permanente. 2. Cada n instrucciones, reviso flag. 3. Señal Externa, provoca salto a Rutina Servicio de Interrupción. 4. Periférico transfiere Datos directo a Mem. • • •

Controlador DMA con puntero a lugar y cantidad de datos a transferir. Preparado inicialmente por CPU. Cuando termina pide interrupción.

5. IOP con programa preparado por CPU. • Cuando termina Interrumpe. ¿Qué es mejor (2) o (3)? 2014

Sistemas con Microprocesadores y Microcontroladores

82

Conexión CPU – Mundo Exterior 1. Conversión de Naturaleza de señales. • •

Ej. de temperatura a tensión o viceversa. Transductores o Actuadores.

2. Conversión de señales analógicas a Digital o viceversa. •

Mediante Conversores A/D o D/A.

3. Interfase con el Sistema: • • •

2014

Como uno o varios registros. De Datos. De Control.

Sistemas con Microprocesadores y Microcontroladores

83

Modularidad y Regularidad • Sistema Modular: – Compuesto por Módulos Independientes con reglas claras de interconexión. – Ej. Subrutinas.

• Sistema Modular Regular. – Todos los módulos tienen iguales reglas de interconexión. – Cuando dos módulos se conectan, el resultado se comporta como un nuevo módulo, con idénticas reglas de conexión. – Ej. Sumadores. 2014

Sistemas con Microprocesadores y Microcontroladores

84

Lenguaje de Máquina (LM) • Conformado por las Instrucciones del ISA. • Tal como son cargadas en memoria y leídas por el CPU. • Expresados como cadenas de ‘0’ y ‘1’. • Las primeras CPUs se programaban así.

• Problemas • • • • •

Propenso a errores: basta con cambiar un 1 por un 0. Ilegible. Indocumentable. Requiere mucho tiempo de las personas. Al principio lo caro eran las computadoras.

• Escribir en Hexadecimal es un primer avance.

2014

Sistemas con Microprocesadores y Microcontroladores

85

Lenguaje Assembler (LA) • Conformado por las Instrucciones del ISA. • Pero escritas en código mnemotécnico. • Correspondencia uno a uno con LM. • Es necesario traducirlas antes de ejecutarlas.

• Traductor = Ensamblador. • • • • •

2014

Tarea mecánica realizada por un programa traductor Instrucciones al traductor = Seudoinstrucciones. Incorpora también símbolos para variables y rótulos. Ejemplos ORG, DS, DC, EQU, END... Acepta Comentarios

Sistemas con Microprocesadores y Microcontroladores

86

Ej: programa en Lenguaje Ensamblador Algunas Seudoinstrucciones: DCW DSW ORG

fin:

Dos: Tres: Res:

2014

Define Constant Word Reserve Storage Word 100H Ubicar el código siguiente a partir de 100H

org ld ld add st

000H r1, 0, Dos r2, 0, Tres r3, r2, r1 r3, 0, Res

;comienza en 000H ;r1 = 2 ;r2 = 3 ;r3 = r2 + r1 = 2 + 3 = 5 ;M(108H) = r3 = 5

br org dcw dcw dsw end

fin 100H 2H 3H

;autolazo indefinido ;los datos a partir de 100H

;reservar 1 palabra para result.

Sistemas con Microprocesadores y Microcontroladores

87

Ensamblador Traducción: de Fuente (LA) a Objeto (LM) Fuente

Ensamblador

Progr Objeto

Ejecución: Corre el programa Objeto Datos Entrada

2014

Progr. Objeto

Sistemas con Microprocesadores y Microcontroladores

Datos Salida

88

Ventajas y Desventajas LA • Desventajas • • • • •

Cada máquina tiene un LA diferente LA está orientado a la máquina y no al usuario. Hay que ser un experto. Difícil desarrollar mercados... ¿Y por qué no se ponen de acuerdo en un solo LA?

• Ventajas • Manejo exacto de Tiempo y Memoria. • Para aplicaciones críticas en tiempo real.

2014

Sistemas con Microprocesadores y Microcontroladores

89

Lenguaje Superior (LS) • • • • • • •

Característica: 1 inst. LS  n inst. LM Orientado a Problemas y a Usuarios. Independiente de la Máquina. ¿Ejemplos de Lenguajes Superiores? Traductor = Compilador. Traduce a LM o LA Traducción no es única, optimiza. Primero se compila, luego se carga y ejecuta.

2014

Sistemas con Microprocesadores y Microcontroladores

90

Compilador, Ensamblador, Lenguaje de Máquina temp = v[k];

Programa de Alto Nivel

v[k] = v[k+1]; v[k+1] = temp;

Compilador lw lw sw sw

Programa Lenguaje Assembler

$15, 0($2) $16, 4($2) $16, 0($2) $15, 4($2)

Ensamblador Programa Lenguaje de Máquina

0000 1010 1100 0101

1001 1111 0110 1000

1100 0101 1010 0000

0110 1000 1111 1001

1010 0000 0101 1100

1111 1001 1000 0110

0101 1100 0000 1010

1000 0110 1001 1111

interpretación de Máquina Especificación de señales de control

2014

Sistemas con Microprocesadores y Microcontroladores

91

Intérprete • • • •

Características similares al Compilador. Pero traduce y ejecuta en un solo paso. ¿Cuándo conviene Compilador y cuándo Intérprete? Observación: el control del CPU es un intérprete para ISA. Leer Instrucción Decodifica Ejecuta

2014

Sistemas con Microprocesadores y Microcontroladores

92

Sistema Operativo • ¿Cómo trabajar con un Computador? – ¿cómo cargo un programa? – ¿cómo manejo discos y monitor? • No basta con el Hw puro. • No basta con el ISA.

• Se necesitan Interfases. • Físicas (Hw – I/O: teclado, monitor, ...) • Lógicas (manejadores del Hw, Intérpretes).

• Y Optimizar y Facilitar uso de recursos... • Tanto de Hw como de Sw. • Compartir. • Presentar interfases transparentes a emplear por el usuario. • Seguridad, confiabilidad. 2014

Sistemas con Microprocesadores y Microcontroladores

93

Visión Jerárquica por Niveles Compilador Ensamblador SO ISA Control Hw

2014

Sistemas con Microprocesadores y Microcontroladores

94

Arquitectura de Computadoras ° Cordinación de

niveles de abstracción

Aplicación Sistema Operativo Compilador Procesador

Sistema I/O

Instruction Set Architecture

Diseño Digital Diseño de Circuitos ° Bajo presión de fuerzas que cambian muy rapidamente

2014

Sistemas con Microprocesadores y Microcontroladores

95

Fuerzas en Arq. de Computadoras Tecnología

Aplicaciones

Lenguajes de Programación

Arquitectura De Computadores

Sistemas Operativos

Historia (A = F / M)

2014

Sistemas con Microprocesadores y Microcontroladores

96

¿Qué Hemos Visto? • Computadora 3 partes: CPU, M, I/O. • I/O – gran diversidad de dispositivos. – Eficiencia (cafetera): • • • • •

2014

Polling. Interrupciones. DMA. IOP. Ayuda del Sistema Operativo – Transparencia y Seguridad.

Sistemas con Microprocesadores y Microcontroladores

97

Sistema de Memoria • Clasificación. – Tecnología: Dinámica, Estática… – Modo de Acceso: Random / No Random.

• Conexión al CPU – MAR, MDR.

2014

Sistemas con Microprocesadores y Microcontroladores

98

CPU • Ciclo de la Instrucción. • Camino de Datos. – Posibilita físicamente que se ejecuten las Inst. – Registros Especiales: PC, IR, MAR, MDR, PSW.

• Control. – Señales para que se hagan las cosas.

• Ejemplo SRC-1.

2014

Sistemas con Microprocesadores y Microcontroladores

99

Sistema de Varios Niveles. • • • • • • •

Hw. Control. ISA. Sistema Operativo. Ensamblador. Compilador, Intérprete. ORGANIZADO EN CAPAS.

2014

Sistemas con Microprocesadores y Microcontroladores

100

Sistema Operativo • Manejo de Recursos. – Transparencia y Facilidad de Uso. – Compartir con • Equitatividad. • Eficiencia. • Seguridad.

2014

Sistemas con Microprocesadores y Microcontroladores

101

En Síntesis • Sistema Complejo. • Sometido a grandes fuerzas de Cambio y de Inercia. – Tecnología  – Nuevos Lenguajes  – Sistemas Operativos  – Nuevas Aplicaciones.  – Aplicaciones existentes (Historia) 

2014

Sistemas con Microprocesadores y Microcontroladores

102

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.