Arquitectura de Computadoras Dr. Andrés David García García Escuela de Diseño, Ingeniería y Arquitectura Departamento de Mecatrónica 1 EDIA/Mecatrónica/ADGG/2014 Microprocesadores y Periféricos Objetivos: Analizar la arquitectura interna y comprender el funcionamiento de una Unidad Central de Procesamiento. Entender el funcionamiento de la arquitectura de una computadora. Comprender la función de cada uno de los dispositivos periféricos asociados a una Unidad Central de Procesamiento. 2 EDIA/Mecatrónica/ADGG/2014 Introducción a los microprocesadores y microcontroladores Definiciones 3 Microprocesador CPU Microcontrolador Elementos periféricos Evolución de las familias EDIA/Mecatrónica/ADGG/2014 Microprocesador 4 Es el corazón de toda computadora, así como de otros equipos electrónicos que requieren de una central de procesamiento de datos. Al microprocesador se le conoce también como CPU (Central Processing Unit). La CPU es un elemento capaz de realizar operaciones lógicas y aritméticas además de poder auxiliar en la toma de decisiones. También permite el intercambio de datos entre localidades de memorias y/o periféricos. EDIA/Mecatrónica/ADGG/2014 Microprocesador 5 Un Microprocesador, como su nombre lo indica es un elemento muy pequeño que puede procesar información. Este elemento se construye mediante procesos de alta integración o VLSI. EDIA/Mecatrónica/ADGG/2014 ¿Dónde podemos encontrarlos? 6 Existen una gran variedad de aplicaciones a base de procesadores: EDIA/Mecatrónica/ADGG/2014 ALU Una ALU (Unidad Aritmética-Lógica) es un circuito que permite, como su nombre lo indica, realizar operaciones lógicas y aritméticas. Además de los operadores lógicos y aritméticos, la ALU cuenta con una serie de registros para almacenar los datos, y bits de información sobre los resultados, también llamados banderas. Las banderas más comunes son: Carry, Auxiliary Carry, Borrow, Overflow, Parity, Zero. 7 EDIA/Mecatrónica/ADGG/2014 ALU El símbolo de una ALU: C ALU A 8 Banderas B EDIA/Mecatrónica/ADGG/2014 ALU El circuito ALU es simplemente un operador, es decir, sólo realiza operaciones. La ALU no toma decisiones. Las entradas deben contener tanto la magnitud como el signo que corresponda a la operación. La ALU requiere de un mecanismo de control que le permita saber el tipo de operación a realizar. 9 EDIA/Mecatrónica/ADGG/2014 Diseño de una ALU Una forma de construir una unidad aritmética lógica simple es mediante una célula de tipo “bit-slice”. Esta célula permite realizar la suma ó alguna operación lógica entre 2 bits. 10 EDIA/Mecatrónica/ADGG/2014 Diseño de una ALU 11 Varias células bit-slice permiten construir una ALU más compleja: EDIA/Mecatrónica/ADGG/2014 ALU 12 La interfaz entre la ALU y el resto de la CPU: EDIA/Mecatrónica/ADGG/2014 ALU 13 Otro tipo de célula que se puede emplear es a base de multiplexores: EDIA/Mecatrónica/ADGG/2014 ALU 14 Otro tipo de célula que se puede emplear es a base de multiplexores: EDIA/Mecatrónica/ADGG/2014 ALU 15 Partes de la ALU: Sumador/restador rápido Operadores lógicos (AND, OR, XOR, NOT) Un acumulador y un registro auxiliar Un registro de salida Señales de control que indiquen la operación a realizar Registro de banderas de estatus EDIA/Mecatrónica/ADGG/2014 Arquitectura de una CPU 16 EDIA/Mecatrónica/ADGG/2014 Funcionamiento de una CPU Ejecuta una colección de instrucciones en lenguaje máquina, las cuales le indican al microprocesador de forma secuencial las tareas que debe tomar. Usar su ALU para realizar operaciones lógicas y aritméticas. Mover datos de una localidad de memoria a otra. Tomar decisiones y cambiar de una rutina de instrucciones a otra (interrupciones). 17 EDIA/Mecatrónica/ADGG/2014 Sistema a base de un microprocesador Como hemos visto un CPU cuenta con 2 tipos de buses: 18 Bus de datos: por el cual se realiza el intercambio de palabras de información. Bus de direcciones: que permite direccionar el mapa de memoria. Por medio de estos buses se controlan los elementos de memoria y los sistemas de entrada/salida o periféricos. EDIA/Mecatrónica/ADGG/2014 Sistema a base de un microprocesador Arquitectura: Bus de direcciones CPU Bus de datos /MWTC /MRTC /IOWC /IORC Memoria ROM 19 Memoria RAM Teclado EDIA/Mecatrónica/ADGG/2014 Pantalla Lenguaje Ensamblador Un microprocesador ejecuta una serie de instrucciones de forma secuencial, estas instrucciones se escriben en lenguaje ensamblador, el cual mediante un programa llamado propiamente “ensamblador” se traduce a un lenguaje máquina que el CPU decodifica. LOAD A mem ; carga el valor contenido en el registro A en la ; dirección de memoria mem. CON B const ; carga el valor de la constante const en el registro B. ADD A,B ; Suma el valor del registro A con el valor del registro B ; y almacena ese valor en otro registro. SUB A,B ; Efectua la resta entre los valores contenidos en los registros ; A y B. 20 EDIA/Mecatrónica/ADGG/2014 Dispositivos de memoria Memorias volátiles : Son aquellas que al dejar de suministrar la alimentación eléctrica al sistema pierden toda la información contenida en ella. Memorias no volátiles : Son aquellas que no pierden su información cuando no se suministra la alimentación eléctrica. 21 EDIA/Mecatrónica/ADGG/2014 Tecnologías de fabricación de memorias semiconductor EPROM, no volatil. SRAM, volatil. DRAM, volatil. Anti-Fusible, no volatil. Flash, no volatil. 22 EDIA/Mecatrónica/ADGG/2014 Dispositivos de entrada y salida 23 Teclado Mouse Monitor Disco duro Lector de disco flexible y CD-ROM Puertos EDIA/Mecatrónica/ADGG/2014 Microcontroladores Pequeño microprocesador con memoria interna y puertos de entrada y salida. Circuito de uso específico, es decir, está diseñado para realizar una sola tarea, la cual es la de controlar algún proceso de forma digital. 24 Cámaras, electrodomésticos, computadoras de viaje, bolsas de aire, video cámaras, etc. EDIA/Mecatrónica/ADGG/2014 Arquitectura interna 25 EDIA/Mecatrónica/ADGG/2014 Partes de un microcontrolador 26 CPU (que contiene una ALU) Control de interrupciones internas y externas Control de bus Memoria RAM para registros temporales de datos y banderas Memoria ROM para programa Control de temporizadores y contadores Puertos serie y paralelo de entrada y salida Convertidor de Analógico a Digital EDIA/Mecatrónica/ADGG/2014 Diferencias entre un microprocesador y un microcontrolador Un microcontrolador es de uso específico. Un microprocesador o CPU es de uso general. El microcontrolador contiene un CPU con memoria y puertos. Originalmente un microprocesador no tiene memoria integrada. 27 EDIA/Mecatrónica/ADGG/2014 Arquitectura Von Neuman 28 La mayoría de los microprocesadores actuales son basados en esta arquitectura. La memoria de programa tiene datos e instrucciones mezclados. Sólo hay un bus para transmitir datos e instrucciones. Las instrucciones están codificadas en palabras en base hexadecimal. EDIA/Mecatrónica/ADGG/2014 Arquitectura Von Neumann ROM CPU RAM Datos/instrucciones EPROM Registros De Status Direcciones Puertos E/S 29 EDIA/Mecatrónica/ADGG/2014 Arquitectura Harvard Datos e instrucciones están claramente diferenciados. Emplean buses y dispositivos de memoria diferentes. Es mas rápido que la máquina de Von Neumann Las instrucciones siguen codificadas. 30 EDIA/Mecatrónica/ADGG/2014 Arquitectura Harvard Puertos E/S EPROM Instrucciones Deco de Instrucciones Direcciones CPU 31 Datos EDIA/Mecatrónica/ADGG/2014 ROM RAM RISC y CISC RISC : Reduced Instruction Set Computer. CISC : Complex Instruction Set Computer. 32 Juego de instrucciones reducido o simplificado Estructura pipeline (Ejecuta una instrucción mientras decodifica la siguiente). Un ciclo máquina por instrucción. Juego de instrucciones complejo. Estructura tipo pipeline y paralela (ejectura en una sola instrucción CISC varias RISC). Dos o mas instrucciones por ciclo máquina EDIA/Mecatrónica/ADGG/2014 Arquitectura de una PC 33 Un sistema a base de una CPU se compone de 2 tipos de memoria: Memoria de programa (ROM) y memoria de datos (RAM). EDIA/Mecatrónica/ADGG/2014 Arquitectura de una PC La distribución de la memoria dentro de la computadora se suele denominar mapa de memoria y en el es posible observar en que zona se encuentran ubicados los registros y programas del sistema operativo. Independientemente de la disponibilidad de memoria, el limite real de direccionamiento va a estar dado por el sistema operativo que se esta usando, por ejemplo el sistema operativo D.O.S. independientemente de la memoria instalada puede direccionar como área de trabajo 640 Kb. 34 EDIA/Mecatrónica/ADGG/2014 Arquitectura de una PC Cuatro clases principales de técnicas se aplican comúnmente en forma individual o combinada para controlar la transferencia de datos de Entrada Salida: 35 1.- Entrada – Salida controlada por programa 2.- Entrada – Salida por interrupciones 3.- Acceso directo a memoria (DMA) 4.- Entrada – Salida mapeada por direcciones EDIA/Mecatrónica/ADGG/2014