Paginado Bus de direcciones: 16 líneas (A15…A0) uP 6800 A15 A14 … A0 216=65536 direcciones distintas (habilitaciones) MAXIMO 64K AccA AccB CCR SP D7 D6 … D0 IX PC OBJETIVO: Ampliar la capacidad de direccionamiento de memoria de un microprocesador R/W VMA F2 Sistemas Digitales 2014 FIUNMDP Paginado Bus de direcciones: 16 líneas (A15…A0) uP 6800 A15 A14 … A0 216=65536 direcciones distintas (habilitaciones) MAXIMO 64K AccA AccB CCR SP D7 D6 … D0 IX PC R/W VMA F2 Ejemplo si se desea: • 128 Kbytes de RAM (RAM 6164 8Kx8) • 16 Kbytes de EPROM (EPROM 2764 8Kx8) • 16 Kbytes de E/S Necesitaría 160k Sistemas Digitales 2014 FIUNMDP Paginado RAM pag3 32K RAM pag2 32K RAM pag1 32K SOLUCION: 0000 RAM pag0 32K Dividir los 128k de RAM en 4 paginas de 32k cada una, ubicadas en el mismo espacio de memoria del uP. 7FFF Desarrollar Sistema (programa y circuito) que permita seleccionar por software una de 4 paginas de RAM de 32 Kbytes por vez. 8000 E/S 16K ROM 16K BFFF C000 Evitar la posibilidad de que dos o mas bancos puedan habilitar simultáneamente en forma accidental. FFFF Sistemas Digitales 2014 FIUNMDP Mapeo A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 RAM 32K 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7FFF 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 Ics de RAM de 8k cada uno (tipo 6164) E/S ROM 16K 8000 16K BFFF C000 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 FFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 Ics de ROM de 8k cada uno (tipo 2764) Sistemas Digitales 2014 FIUNMDP Mapeo A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 RAM 32K 0000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RAM0 8k 4 Ics de RAM de 8k cada uno (tipo 6164) RAM1 RAM2 7FFF E/S ROM 8k 8k RAM3 8k 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16K 8000 16K BFFF C000 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 FFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 Ics de ROM de 8k cada uno (tipo 2764) Sistemas Digitales 2014 FIUNMDP Circuito de decodificación 32kBytes de RAM 16KBytes de ROM 16KBytes de E/S A13 A14 A15 138 BANCO DE RAM 1 RAM1 2 RAM2 3 RAM3 W/R A15 4 E/S0 5 E/S1 6 ROM0 uP 6800 A0 D7 E1 E2 E3 D0 7 BANCO DE ROM 2764 6164 8kx8 D7..D0 8kx8 ROM0 RAM1 A12..A0 CS OE CS WE ROM1 F2 R/W VMA F2 A12..A0 BUS DE DIRECCIONES RAM0 D7..D0 BUS DE DATOS 0 6164 6164 8kx8 6164 8kx8 6164 RAM08kx8 RAM18kx8 CS WE RAM2 CS WE RAM3 CS WE CS WE VMA W/R Sistemas Digitales 2014 FIUNMDP Circuito de habilitación de página de RAM 128kBytes de RAM 16KBytes de ROM 16KBytes de E/S A13 A14 A15 138 1 RAM1 2 RAM2 A12..A0 W/R 4 E/S0 5 E/S1 6 ROM0 7 ROM1 PÁGINA 3 RAM3 PÁGINA 2 RAM0 6164 6164 8kx8 6164 8kx8 6164 RAM08kx8 RAM18kx8 CS WE RAM2 CS WE RAM3 CS WE CS WE D7..D0 PÁGINA 1 0 3 E1 E2 E3 8k PÁGINA 0 SELECCIÓN DE BANCO F2 D0 D1 D2 D3 VMA A12 $ 8000 ½ 373 G OE Q0 Q1 Q2 Q3 a PÁGINA 1 a PÁGINA 2 a PÁGINA 3 A0 Sistemas Digitales 2014 FIUNMDP Circuito de habilitación de página de RAM 128kBytes de RAM 16KBytes de ROM 16KBytes de E/S A13 A14 A15 138 1 RAM1 2 RAM2 A12..A0 E/S0 5 E/S1 6 ROM0 7 ROM1 ¡Problema! PÁGINA 0 SELECCIÓN DE BANCO D0 D1 D2 D3 VMA A12 PÁGINA 3 RAM3 4 F2 W/R PÁGINA 2 RAM0 6164 6164 8kx8 6164 8kx8 6164 RAM08kx8 RAM18kx8 CS WE RAM2 CS WE RAM3 CS WE CS WE D7..D0 PÁGINA 1 0 3 E1 E2 E3 8k $ 8000 ½ 373 G OE Q0 Q1 Q2 Q3 a PÁGINA 1 a PÁGINA 2 a PÁGINA 3 Se puede llegar a habilitar más de 1 página a la vez A0 Sistemas Digitales 2014 FIUNMDP Circuito de habilitación de página de RAM 128kBytes de RAM 16KBytes de ROM 16KBytes de E/S A13 A14 A15 138 8k 1 RAM1 2 RAM2 A12..A0 4 E/S0 5 E/S1 6 ROM0 7 ROM1 PÁGINA 0 SELECCIÓN F2 D0 ½ 373 VMA D1 E/S0 A12 A0 8000 VMA F2 DE BANCO Q0 Q0 Q1 Q1 G OE 139 CS1 00 1 2 3 PÁGINA 3 RAM3 3 E1 E2 E3 W/R PÁGINA 2 RAM0 6164 6164 8kx8 6164 8kx8 6164 RAM08kx8 RAM18kx8 CS WE RAM2 CS WE RAM3 CS WE CS WE PÁGINA 1 0 D7..D0 Solución: Se agrega un decodificador a PÁGINA 1 a PÁGINA 2 a PÁGINA 3 Sistemas Digitales 2014 FIUNMDP Circuito de habilitación de página de RAM 128kBytes de RAM 16KBytes de ROM 16KBytes de E/S A13 A14 A15 138 8k 1 RAM1 2 RAM2 A12..A0 4 E/S0 5 E/S1 6 ROM0 7 ROM1 Programa: … LDAA #%xxxxxx00 PÁGINA 0 STAA $8000 … SELECCIÓN F2 DE BANCO D0 ½ 373 VMA E/S0 A12 A0 PÁGINA 3 RAM3 3 E1 E2 E3 W/R PÁGINA 2 RAM0 6164 6164 8kx8 6164 8kx8 6164 RAM08kx8 RAM18kx8 CS WE RAM2 CS WE RAM3 CS WE CS WE PÁGINA 1 0 D7..D0 8000 VMA F2 Q0 Q1 D1 G OE CS1 0 1 2 3 a PÁGINA 1 a PÁGINA 2 a PÁGINA 3 Sistemas Digitales 2014 FIUNMDP Circuito de habilitación de página de RAM: vista completa 128kBytes de RAM 16KBytes de ROM 16KBytes de E/S PÁGINA 0 D7 D0 W/R A12 A0 RAM0 138 0 1 A13 A14 A15 6164 6164 8kx8 6164 6164 8kx8 RAM0 8kx8 8kx8 RAM0 CS RAM0 WE CS RAM0 WE CS WE CS WE D7 D0 A12 A0 6164 6164 8kx8 6164 6164 8kx8 RAM0 8kx8 8kx8 RAM0 CS RAM0 WE CS RAM0 WE CS WE CS WE PÁGINA 3 PÁGINA 2 PÁGINA 1 D7 D0 A12 A0 6164 6164 8kx8 6164 6164 8kx8 RAM0 8kx8 8kx8 RAM0 CS RAM0 WE CS RAM0 WE CS WE CS WE D7 D0 A12 A0 6164 6164 8kx8 6164 6164 8kx8 RAM0 8kx8 8kx8 RAM0 CS RAM0 WE CS RAM0 WE CS WE CS WE RAM1 RAM2 2 RAM3 3 E/S0 4 E/S1 5 ROM0 6 ROM1 F2 E1 E2 E37 SELECCIÓN DE BANCO D0 ½ 373 VMA E/S0 A12 A0 8000 VMA F2 Q0 Q1 D1 G OE CS1 0 1 2 3 Sistemas Digitales 2014 FIUNMDP Sistemas Digitales 2014 FIUNMDP Mecanismo de transferencia de control de programa con condiciones iniciales: Vector de estado, registros del uP (AccA, AccB, IX, SP, CCR) RTI SP M0 82 M1 51 82 CCR=82 M2 33 51 AccB=51 M3 0F 33 AccA=33 M4 20 0F IX=0F20 M5 2B 20 M6 00 2B M7 10 M8 0A LDS $M7 LDAA $M6 PSHA LDAA $M5 PSHA SP ;SP=100A 100A PC=2B00 00 Retoma el control la Tarea n. Se comienza a ejecutar el programa que hay a partir de la posición almacenada (En el ejemplo 2B00) ... LDAA $M0 PSHA PROGRAMA EL TIMER Para que interrumpa el uP mediante NMI cuando se cumple el tiempo destinado a esa Tarea. RTI Sistemas Digitales 2014 FIUNMDP