Tema 5.- Memorias. ---***---

Documentos relacionados
INTRODUCCIÓN A LA UNIDAD DE MEMORIA

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Tema 0. Introducción a los computadores

Memorias. Docente: Ing. Víctor Cárdenas Schweiger

Tema 0. Introducción a los computadores

Tema 5: Memorias. Espacio reservado para notas del alumno

Tema 0. Introducción a los computadores

MEMORIA EJERCICIO 1 EJERCICIO 2

Departamento de Electrónica Electrónica Digital. Mapas de memoria. Bioingeniería Facultad de Ingeniería - UNER

UNIDAD 2. Unidad de Microprocesador (MPU) Microprocesadores Otoño 2011

ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II BOLETÍN 3 MEMORIAS SEMICONDUCTORAS

Enunciados de problemas. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Tema: MAPAS DE MEMORIA: LÓGICA DE SELECCIÓN, GESTIÓN Y ORDENACIÓN DE LA MEMORIA. J. Luis Lázaro, J. Jesús García "MAPA DE MEMORIA" 0

Memorias de Semiconductor. Departamento de Electrónica Curso 2010/11

Tema 5: Memorias. Índice Conceptos básicos Parámetros característicos Jerarquía de memoria Memoria principal Tecnologías Estructura Mapa de memoria

Unidad de Memoria. Almacenamiento de información Operaciones básicas. Propiedades de la Memoria. Escritura o almacenamiento. Lectura.

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES MAPAS DE MEMORIA

TEMA 11 MEMORIAS. CIRCUITOS LÓGICOS PROGRAMABLES

TEMA 7 UNIDAD DE MEMORIA

Estructura básica de un ordenador

Informática. Informática = Hardware + Software. Hardware + Software. Hardware = Parte física. Software = Parte lógica

Arquitectura de Computadores

TEMA 5 DISPOSITIVOS LÓGICOS PROGRAMABLES Y MEMORIAS. 1. Introducción. 2. Dispositivos lógicos programables.

Introducción Composición Caracteristicas Jerarquía Tipos Memoria Diseño. Cache. Memorias

Tecnología Electrónica 3º Ingeniero Aeronáutico. Memorias. Mª Ángeles Martín Prats

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

Tema II. Unidad de memoria

Organización de Computadoras

Arquitectura del MIPS: Introducción

ARQUITECTURA DE COMPUTADORES. 2º INGENIERIA INFORMATICA. Soluciones del BOLETIN 2: Tecnología de los sistemas de memoria. Curso 06/07.

Ing. Jose Luis Apaza Gutierrez MEMORIAS. Un elemento de memoria es aquel elemento capaz de almacenar un estado durante un tiempo determinado.

Memoria y Entrada/Salida Tecnología Organización - Expansión

}Transparencias de clase en

Microprocesadores, microcontroladores, memorias

Qué es la memoria? Organización de la memoria. Elementos de almacenamiento. Los biestables. Los registros. La memoria

Organización de la memoria

Procedimiento para el diseño de un mapa de memoria de un sistema basado en microprocesador:

Introducción a la Computación. Capitulo 4 Memoria Cache

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

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

UNIDAD CENTRAL DE PROCESO

Las palabras clave y otros términos que se han resaltado en negrita se encuentran en el glosario final del libro.

Sistemas Electrónicos Industriales II EC2112

Sistemas Electrónicos Digitales

Tema VI: Memorias y Dispositivos de Lógica Programable (PLDs)

Memoria. M. en C. Erika Vilches. Parte 1

TEMA 9. MEMORIAS SEMICONDUCTORAS

Electrónica Industrial - 4º ETSII. Concepto de capacidad Concepto de bit, byte y word (palabra) Electrónica Industrial - 4º ETSII

INTRODUCCIÓN A LA UNIDAD DE MEMORIA

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

4. Escribe con palabras lo que significan las siguientes letras y di cuántos bytes hay aproximadamente: a) 1 Gb? b) 1 Mb? C) 1 Kb?

2º Cuatrimestre MÓDULO 11: Introducción a la jerarquía de memoria. fc 2

... La Memoria. La Memoria CAPÍTULO. Conceptos Básicos sobre Tecnologías de la Información

TEMA 2. Memorias ROM, PROM, EPROM y E2PROM. Memorias FLASH. Memorias FIFO y LIFO. Diseño de circuitos lógicos empleando PROMs.

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

Mapas de Memoria y E/S

MEMORIA CENTRAL. Memoria central. 1

Tema 4 SUBSISTEMAS DE MEMORIA. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Análisis de la Afirmación I organización 2D

Tema 5 Jerarquía de Memoria

El Microprocesador. Tecnología y Funcionamiento

MÓDULO Nº8 MEMORIAS SEMICONDUCTORAS

Dispositivos de memoria (Parte #2)

Por su tipo de acceso las memorias se clasifican en:

Tema 4. Estructura de un ordenador elemental

Tema 2: Memorias y Dispositivos Lógicos Programables

Procesador Concepto Tipos Velocidad de proceso Características funciones aritmético- lógicas y de control

MODULO DE MEMORIA RAM. Ing. Raúl Rojas Reátegui

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Introducción a las Computadoras

Memoria principal e Interconexión

Partes de la Computadora: Equipo central. Partes de la Computadora: Equipo periférico

Qué es un Microcontrolador?

Qué es un Microcontrolador?

Problemas de estructura y tecnología de computadores Hoja 6: Temas 12, 13 y 14

Tema 2 Unidades Funcionales del Ordenador

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

TEMA 6. MEMORIAS. dispositivos destinados al almacenamiento de la. paces de almacenar 1bit.

16/11/2016. MEMORIAS de SEMICONDUCTORES

El funcionamiento de una memoria se evalúa por: i. el área del chip por bit de almacenamiento ii. el tiempo de acceso R/W iii. Durabilidad iv.

La memoria del ordenador

Docente: Sandra Romero Otálora SISTEMA DE COMPUTO INTRODUCCIÓN A LOS COMPUTADORES CONCEPTOS BÁSICOS

Arquitectura de Computadoras

MEMORIAS INTEGRADAS VLSI. Capítulo 4 MEMORIAS EN EL SISTEMA MICROPROCESADOR. Factores clave: Tipos de memorias Tab. AGG-1.1

Transcripción:

Tema 5.- Memorias. 1. Conceptos básicos generales. 2. Organización de mapas de memorias. 2.1. Objetivos. 2.2. Ejemplo de conexión entre un procesador genérico y la memoria. 2.3. Ejemplo de conexión entre el MC68000 y la memoria. ---***--- Página 1 de 34

1. Conceptos básicos generales. La memoria es la parte de un computador encargada de almacenar la información que éste maneja. En ella se guardan tanto los programas como los datos implicados en la ejecución de los mismos. n An-1-A0 Address Bus n 2 posiciones de ancho m bits n 2 m bits D -D m-1 0 m Data Bus Términos básicos que se manejan cuando se trabaja con memorias. Palabra de memoria. Unidad mínima de acceso. Ancho de la palabra de memoria. n Nº de posiciones 8 8 2 = 256 palabras 9 9 2 = 512 palabras 10 10 2 = 1024 palabras = 1 Kpalabras 11 11 2 = 2 Kpalabras 20 20 2 = 1024 Kpalabras = 1 Mpalabras 23 23 2 = 8 Mpalabras 30 30 2 = 1024 Mpalabras = 1 Gpalabras 40 40 2 = 1024 Gpalabras = 1 Tpalabras Tamaño de la palabra de memoria, coincide con el número de bits del bus de datos del chip de memoria. Celda de memoria. Corresponde a un bit de la memoria. Capacidad de una memoria. Cantidad de información que la memoria puede almacenar. Viene determinado por el tamaño del bus de direcciones (AB) y del de datos (DB) según la fórmula Capacidad = 2 AB DB bits. Es decir, la memoria está formada por 2 AB posiciones de DB bits cada una de ellas. Página 2 de 34

Tiempo de escritura. Tiempo transcurrido desde que la memoria recibe la orden de escritura hasta que son almacenados en la misma. Tiempo de lectura. Tiempo transcurrido desde la orden de lectura hasta que la memoria vuelca los datos solicitados en su bus de datos. Tiempo de acceso. Media de los dos tiempos de lectura y escritura definidos. Clasificaciones de las memorias siguiendo distintos criterios. Según el acceso a los datos: De acceso aleatorio. Se puede acceder directamente a cualquier dirección de memoria. El tiempo de acceso es el mismo para cualquier dirección de memoria. Ejemplo: la (Random Access Memory). De acceso secuencial. Para acceder a una posición (o dirección) de memoria hay que pasar linealmente por todas las anteriores. El tiempo de acceso depende de la dirección de la palabra de memoria a la que se acceda. Ejemplo: cinta magnética. Página 3 de 34

Según las operaciones permitidas sobre la memoria: De sólo lectura. Tema 5 En estas memorias sólo están permitidas operaciones de lectura. Ejemplo: ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Erasable Programmable ROM), EEPROM (Electrically-erasable Programmable ROM). De lectura y escritura. Pueden ser leídas y escritas. Ejemplo:. Según el tipo de lectura: De lectura destructiva. Al leer el contenido de una posición de memoria, la información almacenada desaparece. Se precisa una regeneración del contenido, después de cada lectura. De lectura no destructiva. La lectura no provoca la pérdida de la información almacenada. Casi totalidad de las memorias centrales modernas pertenecen a este grupo. Página 4 de 34

Según la estabilidad de la información almacenada: Volátiles. Tema 5 La información almacenada en la memoria se pierde al cortar la alimentación. Ejemplo:. No volátiles. Retienen la información aún sin alimentación, el contenido es memorizado sin consumo energético. Ejemplo: ROM. Según la tecnología de las celdas de memoria: Estáticas (S). Esta memoria no necesita ser restaurada, lo que la hace más rápida; pero es también más costosa que la D. Cada celda de memoria se basa en un biestable. Dinámicas (D). Esta memoria necesita ser restaurada millares de veces por segundo para no perder su contenido. Cada celda de memoria se basa en un condensador. Página 5 de 34

Según el soporte físico de almacenamiento: Eléctrico. Memorias de semiconductores estáticas (biestables) y dinámicas (condensadores). Magnético. Disquetes. Óptico. CD y DVD. Mecánico. Tarjetas perforadas. Página 6 de 34

Jerarquía de memorias. Las memorias se pueden clasificar siguiendo una jerarquía de capacidades crecientes y velocidades decrecientes. Registros: Son internos a la CPU, de baja capacidad y acceso rápido. Capacidad: bytes. Caché: Memoria de pequeña capacidad y muy alta velocidad dedicada a que el procesador pueda trabajar a la máxima velocidad sin necesidad de pedir información constantemente a la memoria principal. Su contenido es copia de una parte de la memoria principal. Capacidad: Kilobytes. Memoria principal (o interna): Formada por la asociación de chips de y ROM, según la capacidad de almacenamiento requerida por el sistema. Capacidad: Megabytes o pocos Gigabytes. Memoria secundaria (o periférica): Almacenamiento auxiliar en dispositivos periféricos, de elevada capacidad y baja velocidad de acceso (millones de veces inferior a la de la primaria). No son imprescindibles como la principal. Página 7 de 34

CPU Registros Velocidad y coste decreciente Caché Capacidad creciente Memoria Principal Memoria secundaria (HD, Floppy, CD, Pen Drive...) Página 8 de 34

2. Organización de mapas de memorias. Entendemos por mapa de memoria la organización de las distintas unidades de memoria (chips) en el espacio de direccionamiento de un procesador. 2.1. Objetivos. Objetivos del diseño de un mapa de memoria: a) Adaptación al ancho de palabra del procesador (bus de datos). b) Adaptación el espacio direccionable por el procesador (bus de direcciones). Página 9 de 34

Adaptación al ancho del bus de datos. El ancho de los datos que salen y entran de la memoria ha de coincidir con el tamaño del bus de datos del procesador (K). Si el ancho del bus de datos de los chips de memoria es superior a K bits, sólo utilizaremos K líneas de dicho bus. Si el ancho del bus de datos de los chips de memoria es K bits, no tendremos problema, se conectarán directamente las líneas de datos del chip con las del microprocesador. Si el ancho del bus de datos de los chips de memoria es inferior a K bits, tendremos que utilizar varios chips para conectarlos en paralelo al bus de datos del microprocesador. Ejemplo: el bus de datos del microprocesador de 8 bits y el de los chips de memoria de 4 bits. Será necesario utilizar dos chips de memoria para completar una palabra del microprocesador. 11 A10-A0 2K 4b 11 2K 4b 11 A10-A0 2K 8b D7-D4 4 4 D3-D0 D7-D0 8 Página 10 de 34

Adaptación al ancho del bus de direcciones. Proporcionar el espacio direccionable por el microprocesador. Si el ancho del bus de direcciones del procesador es M, el espacio direccionable será 2 M posiciones de memoria. Ejemplo: el bus de direcciones del microprocesador es de 12 bits (A 11 -A 0 ), es decir, un espacio de 2 12 (= 4K posiciones). Chips de memoria de 2K posiciones. Será necesario utilizar dos chips. A11 A10-A0 11 2K 4b 4 D3-D0 A11 4 D3-D0 12 A11-A0 4K 4b 11 2K 4b D3-D0 4 4 D3-D0 Página 11 de 34

2.2. Ejemplo de conexión entre un procesador genérico y la memoria. Hay que conectar las líneas de dirección, las de datos y las de control. Bus de control CPU Bus de direcciones 16 A15-A0 64K 8b 64KB D7-D0 8 Bus de datos Página 12 de 34

El número de líneas de dirección de cada chip depende de su tamaño: 14 A13-A0 CS Chip 1 ROM 16KB 12 A11-A0 CS Chip 5 4 KB Chips 1 y 2: 16 K posiciones -> 14 líneas de dirección = A 13 -A 0. Chips 3 y 4: 8 K posiciones -> 13 líneas de dirección = A 12 -A 0. Chips 5, 6, 7 y 8: 4 K posiciones -> 12 líneas de dirección = A 11 -A 0. 14 A13-A0 8 CS Chip 2 16KB 8 D7-D0 D7-D0 12 A11-A0 8 CS Chip 6 4 KB 8 D7-D0 D7-D0 Las líneas más significativas del bus de direcciones que sale del procesador seleccionan el chip al que accedemos. Las líneas menos significativas del bus de direcciones que sale del procesador seleccionan la posición de memoria (dirección física) dentro del chip. 13 A12-A0 CS Chip 3 8 KB 12 A11-A0 CS Chip 7 4 KB 8 D7-D0 8 D7-D0 13 A12-A0 CS Chip 4 8 KB 12 A11-A0 CS Chip 8 4 KB 8 D7-D0 8 D7-D0 Página 13 de 34

Chip Tipo Tamaño Líneas de selección 1 ROM 16 KB 2 A15-14 00 2 16 KB 2 A15-14 01 3 8 KB 3 A15-13 100 4 8 KB 3 A15-13 101 5 4 KB 4 A15-12 1100 6 4 KB 4 A15-12 1101 7 4 KB 4 A15-12 1110 8 4 KB 4 A15-12 1111 Líneas de dirección 14: A13-0 0 0 1 1 14: A13-0 0 0 1 1 13: A12-0 0 0 1 1 13: A12-0 0 0 1 1 12: A11-0 0 0 1 1 12: A11-0 0 0 1 1 12: A11-0 0 0 1 1 12: A11-0 0 0 1 1 Rango de posiciones $0000 $3FFF $4000 $7FFF $8000 $9FFF $A000 $BFFF $C000 $CFFF $D000 $DFFF $E000 $EFFF $F000 $FFFF Página 14 de 34

Mapa de memoria del ejemplo. $0000 Chip 1 ROM 16KB Líneas de dirección de la CPU Chip al que se accede $3FFF $4000 A 15 A 14 A 13 A 12 A 11 -A 0 0 0 0...0 0 1 0...0 1 0 0 0...0 1 0 1 0...0 1 1 0 0 0...0 1 1 0 1 0...0 1 1 1 0 0...0 1 1 1 1 0...0 Chip 1 Chip 2 Chip 3 Chip 4 Chip 5 Chip 6 Chip 7 Chip 8 $7FFF $8000 $9FFF $A000 $BFFF $C000 $CFFF $D000 $DFFF $E000 $EFFF $F000 $FFFF Chip 2 16KB Chip 3 8 KB Chip 4 8 KB Chip 5 4 KB Chip 6 4 KB Chip 7 4 KB Chip 8 4 KB Página 15 de 34

Si el bus de direcciones de la CPU es de n bits y el chip de memoria es de 2 k posiciones (siendo n>k): Las k líneas menos significativas del bus de direcciones de la CPU seleccionan la dirección dentro del chip. Las n-k líneas más significativas elegirán el chip de memoria al que se accede. Ejemplos: Tema 5 La CPU accede a la dirección lógica $80FF Direcció n Lógica: $80F F Líneas de selección Línea s de dirección 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 La CPU accede a la dirección lógica $7FFF Dirección Lógica: $7FFF Líneas de se lección Líneas de direcc ión 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Chip 3 Dirección física $00FF Chip 2 Dirección física $3FFF Página 16 de 34

Chip al que se accede Líneas de dirección A 15 A 14 A 13 A 12 A 11 -A 0 0 0 0...0 Chip 1 ROM 16 K 0 1 0...0 Chip 2 16 K 1 0 0 0...0 Chip 3 8 K 1 0 1 0...0 Chip 4 8 K 1 1 0 0 0...0 Chip 5 4 K 1 1 0 1 0...0 Chip 6 4 K 1 1 1 0 0...0 Chip 7 1 1 1 1 0...0 4 K Chip 8 4 K Según esta tabla obtendríamos las siguientes activaciones de los CS: CS1 = A15 + A14 CS2 = A15 + A14 CS3 = A15 + A14 + A13 CS4 = A15 + A14 + A13 CS5 = A15 + A14 + A13 + A12 CS6 = A15 + A14 + A13 + A12 CS7 = A15 + A14 + A13 + A12 CS8 = A15 + A14 + A13 + A12 Sólo uno de los CS estará activo en cada acceso a memoria. Página 17 de 34

Obtención de los CS mediante decodificadores: A15 A14 1 0 DEC 2:4 0 1 2 3 CS1 CS2 A13 A13 A12 1 0 DEC 1:2 DEC 2:4 0 1 0 1 2 3 CS3 CS4 CS5 CS6 CS7 CS8 A15 A14 A13 A12 3 2 1 0 DEC 4:16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CS5 CS6 CS7 CS8 CS3 C S4 C S1 C S2 NOTA: Estos circuitos de decodificación se basan sólo en las líneas de dirección, es necesario incluir la información de las líneas de control. Página 18 de 34

Decodificación total y decodificación parcial. Es posible que, con los chips de los que disponemos, no se llene el mapa de memoria completo. En estos casos los mapas de memoria pueden hacerse de dos maneras diferentes: Decodificación total. Cada dirección física (posición de cada chip) es direccionada con una única dirección lógica. Esta decodificación es más exhaustiva y es necesario tener en cuenta un mayor número de líneas de dirección, lo que la hace más precisa, complicando la circuitería de decodificación. Decodificación parcial. A una dirección física le pueden corresponder diferentes direcciones lógicas. Esta decodificación es más sencilla pero menos precisa. Supongamos, como ejemplo, que queremos completar un espacio de direcciones de 64 K y disponemos de los siguientes chips de memoria: 2 chips de 8 K de 1 chip de 16 K de EPROM. Página 19 de 34

Con la técnica de decodificación total obtendríamos el siguiente mapa de memoria: A 15 A 14 A 13 0 0 Chip 1 16 K EPROM 1 1 0 Chip 2 8 K 1 Chip 3 8 K 32 K LIBRES Circuito de decodificación: A15 A14 A13 2 1 0 DEC 4:16 0 1 2 3 4 5 6 7 CS 1 CS 2 CS EPROM Página 20 de 34

Otra colocación: A 15 A 14 A 13 X 0 define bloques de 0 define bloques de 16 K 32 K 1 X 16 K EPROM 1 0 1 0 SIN CUBRIR 1 0 8 K 1 8 K Con la decodificación total a cada chip le corresponde un espacio de direcciones cuyo tamaño coincide con la capacidad real del chip. Página 21 de 34

Con decodificación parcial obtendríamos el siguiente mapa de memoria: A 15 A 14 0 define bloques 0 de 16 K Chip 2 8 K 1 Chip 3 8 K 1 define bloques de 32 K Chip 1 16 K EPROM Físicamente, cada tiene 8K posiciones aunque en el espacio de direcciones ocupa el doble. Se accederá al chip 2 cuando se acceda a cualquier dirección entre la $0000 y la $3FFF. Se accederá al chip 3 cuando se acceda a cualquier dirección entre la $4000 y la $7FFF. Se accederá al chip 1 cuando se acceda a cualquier dirección entre la $8000 y la $FFFF. Página 22 de 34

Líneas de dirección Chip al que se accede A 15 A 14 A 13 A 12 -A 0 0 0 X 0...0 0 1 X 0...0 1 X 0...0 Chip 2 8 K Chip 3 8 K Chip 1 16 K EPROM Siempre que A 15 -A 14 valgan 00 y 01 se accederá a los chips de 2 y 3 respectivamente, independientemente del valor de las otras líneas de dirección. Para direccionar dentro de los 8 K de necesitamos 13 líneas de dirección (A 12 -A 0 ). El valor de A 13 no interviene ni a la hora de seleccionar el chip ni a la hora de elegir una posición dentro de ese chip. Siempre que A 15 valga 1 se accederá a la EPROM, independientemente del valor de las otras líneas de dirección. Para direccionar los 16 K de EPROM necesitamos 14 líneas de dirección (A 13 -A 0 ). El valor de A 14 no interviene ni a la hora de seleccionar el chip ni a la hora de elegir una posición dentro de ese chip. Página 23 de 34

Se simplifica la circuitería de decodificación, en la que el decodificador pasaría a ser 2:4, teniendo como entradas A 15 y A 14. Tal como se muestra en la siguiente figura: 0 CS 1 A15 A14 1 0 DEC 2:4 1 2 CS 2 CS EPROM 3 Se podría conectar directamente #A 15 al CHIP SELECT de la EPROM y usar un decodificador 1:2 con entrada de habilitación activa en bajo a la que se conecta A15. Página 24 de 34

Si se accede a la dirección $C000 (1100 0000 0000 0000) accederemos al chip de EPROM, a la misma posición dentro de este chip que si accediésemos a la dirección $8000 (1000 0000 0000 0000), dado que el valor de A 14 no tiene importancia. Vemos que dos direcciones lógicas distintas nos llevan a la misma dirección física en la EPROM. La desventaja de este método es que si se amplía la memoria hay que cambiar el circuito entero, mientras que con la decodificación total, el añadir un nuevo chip de memoria sólo implica conectar el CHIP SELECT de dicho chip a una de las salidas de decodificador. Página 25 de 34

2.3. Ejemplo de conexión entre el MC68000 y la memoria. Organización de la memoria del 68000. Banco Par Banco Impar Direcciones Pares Direcciones Impares Dir física i Dir lógica 2i Dir lógica 2i+1 Dir física i+1 Dir lógica 2i+2 Dir lógica 2i+3 D 15 - D 8 D 7 - D 0 #UDS #LDS Página 26 de 34

La activación de uno y/u otro banco dependerá del tamaño y la dirección del dato al que se accede, activándose el banco par (#UDS) cuando accedemos a un BYTE colocado en dirección par o a un WORD, y el impar (#LDS) cuando accedemos a un BYTE colocado en dirección impar o a un WORD. Como ejemplo, supongamos que los bancos implementan un bloque de memoria colocado en la dirección 0. Esta tabla muestra la relación entre las direcciones lógicas y las físicas. Dirección dentro del chip Banco Par Banco Impar Dirección del Dirección 68000 dentro del chip Dirección del 68000 0 0 0 1 1 2 1 3 2 4 2 5............ i 2i i 2i + 1............ Recordemos que si un dato es de tamaño WORD, el MSByte estará en la dirección lógica más baja (2i) y el LSByte en la más alta (2i+1), ocupando la misma dirección física en ambos bancos. El acceso a un LONG se divide en dos accesos a memoria, uno para cada WORD de los dos que lo componen. Página 27 de 34

Las líneas del MC68000 involucradas en los accesos a memoria son: Las del bus de direcciones. Indican la dirección a la que queremos acceder. De las 24 líneas que componen el bus de direcciones interno del MC68000, sólo salen al exterior las 23 más significativas (A 23 - A 1 ). A 0 la utiliza internamente el MC68000 (combinada con el tamaño del dato) para generar las señales #UDS y #LDS. Las del bus de datos. Por sus líneas viajan los datos que se quieren leer o escribir en la memoria. Las del bus de control. #AS. Su activación indica que en el bus de direcciones hay una dirección de memoria válida a la cual el microprocesador quiere acceder. R / #W. Esta señal se pone a 1 si el acceso es de lectura de memoria y a 0 si es de escritura en memoria. #UDS (Upper Data Strobe). Asociada al tráfico por la mitad alta del bus de datos. Se activa si se accede a un BYTE cuya dirección es par o un WORD. #LDS (Lower Data Strobe). Asociada al tráfico por la mitad baja del bus de datos. Se activa si se accede a un BYTE cuya dirección es impar o un WORD. #DTACK. Señal de sincronización de la memoria con el MC68000 mediante la cual la memoria indica al MC68000 que la transferencia solicitada ha sido realizada. Página 28 de 34

Terminado este repaso, procedemos a exponer un ejemplo: Implementar un espacio de memoria para el 68000 con las siguientes características: Las 320 K primeras posiciones de memoria serán ocupadas por 320 KB de EPROM. Las últimas 128 K posiciones de memoria serán ocupadas con 128 KB de. Disponemos los siguientes tipos de chips, en las cantidades necesarias: EPROM: 320 Kx8, 256 Kx8, 128 Kx8, 64 Kx8, 32 Kx8 y 16Kx8. : 128Kx8, 32Kx8. Todos los chips tienen señal de Chip Select (#CS) activa en bajo. Los chips de tienen, además, una señal R/W* que cuando vale 1 indica lectura y cuando vale 0 escritura. Proceso: 1. Número de chips de cada tipo elegido. 2. Distribución de los chips en el mapa de memoria del 68000. 3. Ecuaciones de los Chip Select. Página 29 de 34

1. Número de chips de cada tipo elegido. Se trata de tomar el menor número de chips posibles. Para la EPROM habría que completar dos bancos (el par y el impar) de 160 KB cada uno. Para ello elegimos 1 chip de 128 KB y otro de 32 KB para cada banco. Por lo tanto, para implementar la EPROM necesitamos 2 chips de 128 KB y otros 2 de 32 KB. Para la habría que completar dos bancos de 64 KB cada uno. Para ello elegimos 2 chips de 32 KB para cada banco. Por lo tanto, para implementar la necesitamos 4 chips de 32 KB. Página 30 de 34

2. Distribución de los chips en el mapa de memoria del 68000. Se trata de determinar cómo se organizan los chips elegidos para cubrir el espacio de memoria solicitado en el enunciado del problema. La distribución final se obtiene de la siguiente tabla: Chips Tipo Tamaño Líneas de selección 1 y 2 EPROM 128 KB 6 A23-18 0000 00 3 y 4 EPROM 32 KB 8 A23-16 0000 0100 7 y 8 32 KB 8 A23-16 1111 1111 5 y 6 32 KB 8 A23-16 1111 1110 Esta tabla nos lleva a los siguientes mapas de memoria. Líneas de dirección 17: A17-1 0 0 1 1 15: A15-1 0 0 1 1 15: A15-1 0 0 1 1 15: A15-1 0 0 1 1 Rango de posiciones $000000 $03FFFF $040000 $04FFFF $FF0000 $FFFFFF $FE000 $FEFFFF Página 31 de 34

EPROM Banco Par Banco Impar $ 000000 Chip 1 Chip 2 EPROM EPROM 128 KB 128 KB $ 040000 Chip 3 Chip 4 $ 03FFFF EPROM EPROM 32 KB 32 KB $ 04FFFF D 15 - D 8 D 7 - D 0 #UDS #LDS Página 32 de 34

Banco Par Banco Impar $ FE0000 Chip 5 Chip 6 $ FF0000 32 KB Chip 7 32 KB Chip 8 $ FEFFFF 32 KB 32 KB $ FFFFFF D 15 - D 8 D 7 - D 0 #UDS #LDS Página 33 de 34

3. Ecuaciones de los Chip Select. En este apartado obtenemos las ecuaciones de las señales que habilitan los distintos chips. Este sumando imposibilita el acceso a la EPROM para escribir, que provoca ría una colisión en el bus de datos. CS1 = A23 + A22 + A21 + A20 + A19 + A18 + R/W + AS + UDS CS2 = A23 + A22 + A21 + A20 + A19 + A18 + R/W + AS + LDS CS3 = A23 + A22 + A21 + A20 + A19 + A18 + A17 + A16 + R/W + AS + UDS CS4 = A23 + A22 + A21 + A20 + A19 + A18 + A17 + A16 + R/W + AS + LDS CS5 = A23 + A22 + A21 + A20 + A19 + A18 + A17 + A16 + AS + UDS CS6 = A23 + A22 + A21 + A20 + A19 + A18 + A17 + A16 + AS + LDS CS7 = A23 + A22 + A21 + A20 + A19 + A18 + A17 + A16 + AS + UDS CS7 = A23 + A22 + A21 + A20 + A19 + A18 + A17 + A16 + AS + LDS Página 34 de 34