1 UNIDAD I CONCEPTOS GENERALES Fall 2011 Conceptos Generales Microprocesadores Otoño 2011 Contenido 2 Introducción Arquitectura generalizada de una computadora Componentes de una computadora Conjunto de Instrucciones y lenguaje de maquina Introducción 3 El microprocesador es un dispositivo programable con capacidades de decisión y computo. Introducción 4 ` Cada microprocesador puede ejecutar un conjunto de instrucciones fijas expresadas en forma de patrones binarios llamadas lenguaje de maquina. ` Cada patrón binario asociado a una instrucción es también asociado a un mnemónico. ` El conjunto de mnemónico forma el ensamblador del microprocesador. Lenguaje de Maquina 00110111 Nmemonicos LD SP, 1895H Introducción 5 El microprocesador lee instrucciones en binario del dispositivo de almacenamiento llamado memoria. El microprocesador acepta datos binarios y los procesa de acuerdo a las instrucciones. Instrucciones Salida Introducción 6 Los componentes físicos del sistema son llamados hardware. Un programa es un conjunto de instrucciones que desarrollan una tarea especifica Un conjunto de programas son llamados software Programa 1 Programa 2 Programa 3 Software Entrada Salida Hardware Introducción 7 Microprocesador Microcontrolador Microprocesador Unidad Aritmética Lógica (ALU) Entrada Unidad de Control Unidad de Memoria Memoria Salida I/O Dispositivos Periféricos • Convertidores A/D • Timer • Serial I/O Organización de un Sistema basado en Microprocesador 8 ` ALU Arreglo de Registros Entrada Salida ` BUS Unidad de Control ROM RAM Memoria ` ALU: realiza operaciones aritméticas (+,-, etc.) y lógicas (and, or, etc) Registros: almacenan datos y direcciones temporalmente Unidad de Control: envía señales de control y temporización a todo la unidad de microprocesador. Conjunto de Instrucciones 9 Longitud de palabra cambia con respecto a cada microprocesador. Un microprocesador de 16 bit tiene una longitud de palabra de 16 bits, i.e. 2 bytes. Instrucción se define como una tarea completa que el microprocesador puede realizar, puede estar formada de 1 o mas palabras Conjunto de Instrucciones 10 If A > B C = 2 +A else B = C +A Puede Migrar a otra plataforma LD B,32H LD C,0A2H ADD A,B 0000 1111 1010 1100 0101 0101 Dependiente del hardware Conjunto de Instrucciones 11 ` Cada microprocesador es diseñado para ejecutar un determinado numero de instrucciones ` La instrucción esta compuesta por las señales de control que le indicaran al microprocesador que acción ejecutar ` El numero de instrucciones para cada procesador varia de acuerdo al diseño del mismo. ◦ Por ejemplo el Z80 tiene 158 instrucciones Formato de Datos 12 ` ` El microprocesador solamente es capaz de procesar datos binarios. Estos datos pueden estar en los siguientes formatos ◦ Código ASCII, (American Standard Code for Information Interchange) x ◦ Código BCD, (Binary-Code Decimal) x ◦ Representación binaria de los 10 dígitos decimales Enteros con signo x ◦ Código de 7-bits que representa letras, números decimales, símbolos y comandos de maquina. El digito mas significativo es usado para el signo, 0 representa un numero positivo, mientras que 1 representa un numero negativo Enteros sin signo x Los 8-bits son usados para representar un numero Formato de Datos 13 Código ASCII 30H – 39H 41H – 5AH 61H – 7AH 00H – 0FH Código BCD 0–9 A–Z a–z Comandos de Maquina 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Ejemplo: 07H 09H Campana Tabulador 0 1 2 3 4 5 6 7 8 9 Ejemplo: 00110101 35 Codigo ASCII 14 Formato de Datos 15 Enteros con Signo Entero sin Signo MSB 1 LSB 0 0 1 1 0 1 0 Signo MSB 1 LSB 0 0 1 1 0 1 0 Rango Rango 0 a 255 -128 a 127 Números Negativos se representan en complemento a 2 Los 8 bits son usados para representar al numero Ejemplo Ejemplo: 01111111 11111111 127 -128 10000000 11111111 00001010 128 255 10 Programando en Ensamblador 16 • Mnemónicos • LD A,32H • ADD B,C Codigo Fuente Compilador • Traduce los mnemónicos a lenguaje de maquina • Lenguaje de Maquina • Listo para ejecutarse en el procesador Código Objeto