Fundamentos de Computadores I



Documentos relacionados
ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Estructura de Computadores

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

6-REGISTROS DEL 8086 Y DEL 80286

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Arquitectura de Computadores

Arquitectura Von Neumann

La Unidad Procesadora.

La memoria principal. Los subsistemas de E/S. Los buses del sistema

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León.

Entorno de Ejecución del Procesador Intel Pentium

Clase 20: Arquitectura Von Neuman

Unidad 1: Conceptos generales de Sistemas Operativos.

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

Fundamentos de Programación. Sabino Miranda-Jiménez

Estructuras de Sistemas Operativos


2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Convivencia. Gestión del Sistema de Entrada/Salida

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Introducción a la Firma Electrónica en MIDAS

Mod. I, Unid. 1, Obj. 1 Criterio de Dominio 1/1

1. SISTEMAS DIGITALES

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Arquitectura intel Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Matemática de redes Representación binaria de datos Bits y bytes

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

Representación de números en binario

Tema 4. Gestión de entrada/salida

Tema IV. Unidad aritmético lógica

Introducción a los Sistemas Digitales

Tema 2. Diseño del repertorio de instrucciones

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Soporte y mantenimiento. Generalidades

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

Tema 6: Periféricos y entrada-salida

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red

La arquitectura del 8086/8088

UNIDADES DE ALMACENAMIENTO DE DATOS

Sistemas de Numeración Operaciones - Códigos

TEMA 4. Unidades Funcionales del Computador

18. Camino de datos y unidad de control

Primeros conmutadores: diodos de cristal y de tubos de vacío (1906). Transistor (TRT): más pequeño y fiable, de material semiconductor (1950).

SISTEMAS DE ENTRADA/SALIDA

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Mod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

DESCRIPCION DEL SITEMA MASTER.

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

Requerimientos principales de un sistema operativo

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

Arquitectura basica de un computador


Presentación de la materia Historia de las computadoras

Sistemas de numeración, operaciones y códigos.

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

Tema 2: Implementación del núcleo de un Sistema Operativo

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

UNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

WINDOWS : COPIAS DE SEGURIDAD

Estructura de Datos. Unidad I Tipos de Datos

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

Guía rápida de CX-Programmer

Práctica de laboratorio: Uso de la calculadora de Windows con direcciones de red

Soporte y mantenimiento. Generalidades

CONCEPTOS INFORMÁTICOS BÁSICOS

Global File System (GFS)...

2.- Diseño del comportamiento: Diagrama de actividades. Mª Antonia Zapata

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

CCNA Discovery Networking para el hogar y pequeñas empresas

Capas del Modelo ISO/OSI

GedicoPDA: software de preventa

Qué es un Microcontrolador?

SOLUCIÓN: a) Signo y magnitud:

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Introducción a los Sistemas Operativos

Transcripción:

Universidad Rey Juan Carlos Fundamentos de Computadores I Luis Rincón Córcoles Programa 1. La familia de microprocesadores M68000 2. Características principales del MC68000 3. Modelo de programación del MC68000 4. Los registros de datos del MC68000 5. Los registros de direcciones del MC68000 6. La memoria en el MC68000 7. Punteros de propósito específico del MC68000 8. La estructura de la pila del MC68000 9. El registro de estado del MC68000 10. Las instrucciones en el MC68000 11. Modos de ejecución del MC68000 12. Las interrupciones en el MC68000 13. El MC68000 y el sistema operativo 14. Excepciones en el MC68000 2 1

Bibliografía A. CLEMENTS. Microprocessor Systems Design. 3 rd edition, ITP - PWS Publishing Company, 1997. J. SEPTIÉN, H. MECHA, R. MORENO, K. OLCOZ. La familia del MC68000. Síntesis, 1995. C. CERRADA, V. FELIU. Estructura y Tecnología de Computadores I. U.N.E.D., 1993. S. KELLY-BOOTLE, B. FOWLER. 68000/68010/68020 Arquitectura y programación en ensamblador. Anaya Multimedia, 1989. M68000 8// Bit Microprocessors User s Manual. 9 th edition. Motorola, 1993. Motorola M68000 Family Programmer s Reference Manual. Motorola, 1992. A. GARCÍA GUERRA, E. FENOLL COMES. Sistemas digitales Ingeniería de los microprocesadores 68000. Centro de Estudios Ramón Areces, 1993. A. CLEMENTS. 68000 Family Assembly Language. ITP - PWS Publishing Company, 1994. 3 1. La familia de microprocesadores M68000 Modelo Ancho de los registros Ancho del bus de datos Ancho del bus de direcciones Ancho de la UAL 68000 24 68008 8 20 68010 24 68012 30 68020 68030 68040 68060 4 2

2. Características principales del MC68000 Máquina CISC (computador con repertorio de instrucciones complejo). Tamaño de los buses: Datos: bits. Direcciones: 23 bits, ya que el bit menos significativo no sale realmente por el bus de direcciones, sino a través de las señales de control LDS y UDS. Tamaños de datos utilizados: Octeto (byte):.b Palabra (word):.w Palabra larga (longword):.l Bits (agrupados de ocho en ocho en un octeto). Dígitos BCD (empaquetados de dos en dos en un octeto). Esquema de bus único para memoria y E/S. Modos de funcionamiento: Usuario. Supervisor. 5 El interfaz del MC68000 6 3

Ejemplo: sistema mínimo con un MC68000 7 3. Modelo de programación del MC68000 D0 A0 PC D1 A1 D2 D3 A2 A3 SR CCR D4 D5 D6 A4 A5 A6 A7 (USP) A7 (SSP) D7 0 2 4 i*2 MAX-2 15 8 7 0 1 3 5 i*2+1 MAX-1 8 4

4. Los registros de datos del MC68000 D0 D1 D2 D3 D4 D5 D6 D7 31 15 8 7 0 Tamaño: bits. Modos de acceso: Octeto (.B): se accede sólo a los 8 bits menos significativos. Palabra (.W): se accede sólo a los bits menos significativos. Palabra larga o doble (.L): se accede al registro completo. Uso: para almacenar datos temporales. 9 5. Los registros de direcciones del MC68000 31 15 0 A0 A1 A2 A3 A4 A5 A6 Tamaño: bits. Modos de acceso: Palabra (.W): se usan los bits menos significativos. Si escribimos en un registro de direcciones en modo palabra, se realiza extensión de signo a los bits. Palabra larga o doble (.L): se usa el registro completo. Uso: punteros de bits a datos o estructuras de datos en memoria. Como la memoria máxima tiene 2 24 octetos, al usar un registro de direcciones como puntero se descarta su octeto más significativo. 10 5

6. La memoria en el MC68000 Direcciones pares 000000000000000000000000 000000000000000000000010 000000000000000000000100 i*2 MAX-2 15 8 7 0 Direcciones impares 000000000000000000000001 000000000000000000000011 000000000000000000000101 i*2+1 MAX-1 Tamaño máximo: Moctetos incluyendo RAM, ROM y puertos de E/S. Unidad direccionable: octeto. Acceso básico: palabra de bits formada por dos octetos consecutivos, el primero con dirección par y el segundo con dirección impar. Líneas de datos válidos (activas por nivel bajo): UDS (Upper Data Strobe): permite acceder a un octeto en dirección par. LDS (Lower Data Strobe): permite acceder a un octeto en dirección impar. Memoria de tipo asíncrono. 11 La memoria en el MC68000 Acceso a un dato de tamaño octeto: El dato puede estar en cualquier posición de memoria. Dirección par: se activa UDS. Dirección impar: se activa LDS. Lecturas: como se accede a palabra, se descarta el octeto sobrante. Escrituras: se modifica el octeto requerido, y el otro se preserva. Accesos a palabra: El objeto accedido (dato o instrucción) estará en una dirección N par (se activan UDS y LDS). Big endian: el octeto más significativo es el de la dirección par (N), y el menos significativo es el de dirección impar (N+1). Acceso a palabra larga: El objeto accedido estará en una dirección N par. Se realizan dos accesos consecutivos de tamaño palabra. Big endian: el octeto más significativo se encuentra en la dirección N par, el siguiente en la dirección N+1 (impar), el siguiente en la dirección N+2 (par) y el menos significativo está en la dirección N+3 (impar). 12 6

Ejemplo: transferencia entre memoria y registro Contenidos iniciales: MEMORIA REGISTRO DE DATOS D i Pares 15 8 7 0 Impares 31 24 23 15 8 7 0 N M(N) M(N+1) N+1 Oct0 Oct1 Oct2 Oct3 N+2 (par) M(N+2) M(N+3) N+3 31 24 23 15 8 7 0 MOVE.B N,D i D i Oct0 Oct1 Oct2 M(N) 31 24 23 15 8 7 0 MOVE.B N+1,D i D i Oct0 Oct1 Oct2 M(N+1) 31 24 23 15 8 7 0 MOVE.W N,D i D i Oct0 Oct1 M(N) M(N+1) 31 24 23 15 8 7 0 MOVE.L N,D i D i M(N) M(N+1) M(N+2) M(N+3) 13 7. Punteros de propósito específico del MC68000 Contador de programa (PC) Tiene bits, de los cuales sólo se usan los 24 menos significativos. Actúa como puntero a la próxima instrucción que se va a ejecutar. Punteros de pila (SP o A7) El MC68000 tiene dos punteros de pila: Puntero de pila de usuario (USP): visible por el usuario como SP o A7 y por el supervisor como SSP. Puntero de pila de supervisor (SSP): accesible sólo por el supervisor como SP o A7. Tienen bits. Funcionan como registros de direcciones. Tienen un uso específico en determinadas instrucciones. 14 7

8. La estructura de la pila del MC68000 Estructura LIFO (último en entrar-primero en salir). Puntero de pila: A7 ó SP. Pila de usuario y de supervisor independientes. USP: puntero de pila de usuario. SSP: puntero de pila de supervisor. La pila crece hacia posiciones decrecientes de memoria, y el puntero de pila apunta al último elemento insertado en la misma (si no hay ninguno, apunta al fondo de la pila). Inserción: MOVE.{WL} DATO,-(SP) Extracción: MOVE.{WL} (SP)+,DATO Es posible acceder a cualquier dato almacenado en la pila. Direccionamientos relativos al puntero de pila. Direccionamientos relativos al puntero de marco si está definido. 15 Inserción de un dato en la pila ANTES DESPUÉS SP SP XXXX 2 ó 4 octetos INSERCIÓN MOVE.{WL} DATO,-(SP) El contenido de DATO se almacena en la cima de la pila 8

Extracción de un dato de la pila ANTES DESPUÉS SP XXXX 2 ó 4 octetos SP EXTRACCIÓN MOVE.{WL} (SP)+,DATO La información extraída se almacena en DATO 17 9. Las instrucciones en el MC68000 Máquina CISC (computador con repertorio de instrucciones complejo). Tamaño de las instrucciones: múltiplo de bits. Número de operandos: 0, 1 ó 2. En instrucciones aritméticas o lógicas, se suele exigir que uno de los operandos esté en un registro de datos o de direcciones. Palabra de operación (OW, operation word): bits. Código de operación + direccionamientos + datos inmediatos pequeños. Palabras de extensión (EW, extension word): palabras adicionales que almacenan informaciones que no caben en la palabra de operación. Se almacenan a continuación de OW. Pueden ser necesarias cuando en la instrucción hay: Operandos inmediatos. Direcciones absolutas. Desplazamientos posiblemente con índice. Listas de registros. Puede haber hasta cuatro palabras de extensión (como máximo 2 por operando). 18 9

10. El registro de estado del MC68000 15 13 10 9 8 4 3 2 1 T S I 2 I 1 I 0 X N Z V 0 C OCTETO DEL SISTEMA OCTETO DEL USUARIO (REGISTRO DE CÓDIGOS DE CONDICIÓN) CCR (condition code register): octeto del usuario. C: acarreo. V: desbordamiento en complemento a 2. Z: resultado igual a 0. N: resultado negativo. X: bit de extensión (acarreo superior en operaciones aritméticas y de desplazamiento). SR (status register): octeto del usuario + octeto del sistema. T: modo traza (1=se genera una excepción al ejecutar una instrucción; 0=se ejecutan las instrucciones normalmente). S: modo de funcionamiento (1=supervisor; 0=usuario). I 2 I 1 I 0 : nivel actual de prioridad de interrupción. 19 11. Las interrupciones en el MC68000 Interrupción: demanda de un periférico para que la UCP lo atienda. Las interrupciones en el MC68000 tienen siete niveles de prioridad. Cada periférico tendrá su propia prioridad. Los tres bits I 2 I 1 I 0 del SR codifican el nivel actual de prioridad. Si I 2 I 1 I 0 = 000 se reconocerá cualquier interrupción que se produzca (no hay ninguna interrupción de nivel 0). Si I 2 I 1 I 0 = 111, tan solo se reconocerán las interrupciones con nivel de prioridad 7 (interrupciones no enmascarables). Si 000 < I 2 I 1 I 0 < 111, se reconocerán las interrupciones que tengan un nivel de prioridad N > I 2 I 1 I 0. Si una interrupción no tiene el nivel de prioridad requerido, el procesador la deja pendiente y no la reconoce hasta que el nivel de prioridad especificado por I 2 I 1 I 0 lo permita. Cuando una interrupción es reconocida, la UCP desencadena una secuencia de acciones que culmina con la ejecución de una rutina de manejo de interrupciones que lleva a cabo las acciones necesarias para atender al periférico demandante. 20 10

12. Modos de funcionamiento del MC68000 El MC68000 tiene dos modos de funcionamiento: usuario y supervisor. Modo usuario (no privilegiado): cuando el bit S del SR es igual a 0. Los programas normales funcionan en este modo. Su puntero de pila es USP (los programas lo referencian como A7 o SP). No se puede escribir sobre el octeto del sistema del SR, aunque sí se puede leer. Existen instrucciones que no pueden utilizarse (instrucciones privilegiadas). Modo supervisor (privilegiado): cuando el bit S del SR es igual a 1. Se permite acceder a todos los recursos de la máquina sin restricciones. Su puntero de pila es el SSP (los programas lo referencian como A7 o SP), y se puede acceder también al puntero de pila de usuario (referenciándolo como USP). Se puede leer y escribir sobre el SR completo. Se pueden ejecutar todas las instrucciones del repertorio, incluyendo las instrucciones privilegiadas. Se pasa automáticamente a modo supervisor al iniciar el tratamiento de una excepción. 21 13. El MC68000 y el sistema operativo Sistema operativo (SO): conjunto de programas encargados de Controlar el computador. Proteger al computador de potenciales daños hipotéticamente causados por los programas de los usuarios. Gestionar la asignación de recursos (memoria, tiempo de UCP, etc.) a los programas de los usuarios. Gestionar el intercambio de información de la UCP con los periféricos. Gestionar las comunicaciones entre el computador y otros computadores conectados en red. El SO es una capa de software que facilita la utilización de los recursos del computador por parte de los usuarios y sus programas. 22 11

El MC68000 y el sistema operativo Mecanismo en el MC68000: niveles de protección. Las rutinas del SO funcionan en modo privilegiado (protegido). Los programas de usuario funcionan en modo no privilegiado (no protegido). Hay pilas separadas para usuario y SO con punteros independientes. Otros procesadores de la familia M68000 incorporan elementos adicionales para facilitar la tarea del SO. Las rutinas del SO entran en funcionamiento cuando se produce una excepción: Cuando se ejecuta una instrucción de TRAP: llamada a un servicio del sistema operativo (excepción software). Cuando se produce alguna situación extraña: excepción por desbordamiento (instrucción TRAPV), RESET, error de chequeo de índices (instrucción CHK), error de bus, división por cero, traza (bit T=1), error de privilegio, etc. Cuando se acepta una interrupción producida por un módulo de E/S: rutina de servicio de interrupción o manejador de interrupción. Las direcciones de memoria entre la $0 y la $3FF están reservadas para uso del SO. Puede haber más zonas de memoria reservadas para el SO. Al arrancar el computador, automáticamente se inicia en modo supervisor. 23 14. Excepciones en el MC68000 Excepción: situación que requiere un tratamiento inmediato por parte del procesador. Tipos de excepciones: Excepciones internas: se deben a errores producidos por las instrucciones, o bien cuando se ejecuta una instrucción especial. Excepciones externas: se deben a eventos externos al procesador como son las interrupciones, los errores de bus y la señal de RESET. Cada excepción requiere un tratamiento particular. Cada vez que se produce una excepción: El procesador realiza una serie de acciones automáticamente (procesamiento de la excepción). El procesador llama a una rutina de servicio de la excepción (manejador de la excepción). Las rutinas de manejo de las excepciones forman parte del sistema operativo de los computadores. Por tanto, el código de las mismas reside en memoria principal. Vector de excepción: posición de memoria que contiene la dirección de comienzo del código correspondiente a una rutina de tratamiento de una excepción. En el MC68000, los vectores de excepción están numerados y se almacenan entre las direcciones $0 y $3FF de memoria. Cada vector de excepción ocupa 4 octetos. 24 12