estructuras de contención - cartagena99.com. Tema 5 -Muros … · • DE MUROS 41. Cimentaciones muros
Ejercicio 10 - cartagena99.com
Transcript of Ejercicio 10 - cartagena99.com
Ejercicio 10
Un sistema basado en el microprocesador de la figura 1 requiere un mapa de memoria como el indicado en
la figura 2
Fig. 1 Fig. 2
Se cuenta con los siguientes circuitos de memoria:
a) Rellene las siguiente tabla usando las filas precisas para caracterizar los circuitos que necesite
CHIP
SELECT
DIRECCIÓN
COMIENZO
(hexadecimal)
DIRECCIÓN
FINAL
(hexadecimal)
Nº DE
DIRECCIONES
ORGANIZACIÓN
DEL CIRCUITO
CS1 00000 3FFFF 256 K 256K x 8
CS2 80000 8FFFF 64K 64K x 8
CS3 90000 9FFFF 64K 64K x 8
CS4 F0000 FFFFF 64K 64K x 8
CS5
b) Indique las ecuaciones de los «chip-selects» que gobiernen el funcionamiento de los distintos
circuitos empleados si se desea que no haya imágenes.
CS1 = A19 + A18 + /MEM
CS2 = /A19 + A18 + A17 + A16 + /MEM
CS3 = /A19 + A18 + A17 + /A16 + /MEM
CS4 = /A19 + /A18 + /A17 + /A16 + /MEM
F0000
9FFFF
3FFFF
80000
00000
FFFFF
EPROM
RAM
RAM
Ejercicio 11
Se dispone de un procesador de 8 bits con capacidad para direccionar 1 M posiciones de memoria. El
procesador dispone de un único mapa en el que se pueden ubicar tanto memoria como periféricos.
El procesador arranca tras un reset ejecutando el código que se encuentra en su dirección más baja de
memoria. Por otro lado, el puntero de pila, un stack del tipo empty-descending, se encuentra inicialmente
apuntando a la dirección más alta del mapa de memoria.
Apartado A) Al procesador se debe conectar una memoria de 256 KB para almacenar el programa a partir de la dirección
del reset. El sistema también posee una zona de datos de otros 128 KB a continuación de la memoria de
programa. Adicionalmente, la pila ocupa 16 KB.
Para realizar el sistema dispone de todos aquellos circuitos de memoria que desee, del tamaño y
formato que considere más oportuno de forma que emplee el menor número de circuitos posible.
Rellene una fila de la siguiente tabla para cada una de las memorias que necesite.
Nombre Tipo de
Memoria
Tamaño bus
direcciones Dirección inicial Dirección final
Mem1 ROM 18 0x00000 0x3FFFF
Mem2 RAM 17 0x40000 0x5FFFF
Mem3 RAM 14 0xFC000 0xFFFFF
Mem4
Apartado B) Genere las ecuaciones de los Chip Select que permiten mapear las memorias usadas en el apartado anterior
suponiendo que todas ellas disponen de una señal CS activa a nivel alto. Utilice para ello una
decodificación completa.
CS1= /A19·/A18
CS2= /A19·A18·/A17
CS3= A19·A18·A17·A16·A15·A14
Apartado C) Se mapea un periférico que tiene 32 posiciones de 8 bits en el mapa de memoria a partir de la dirección
0xAF000. Para la generación de su CS se emplean las 8 líneas de mayor peso del bus de direcciones.
Indique el rango de direcciones que ocupa el periférico en la memoria, la ecuación del CS (activo a nivel
bajo) y el número de imágenes.
CSP = /A19 + A18 + /A17 + A16 + /A15 + /A14 + /A13 + /A12
Rango: 0xAF000 – 0xAFFFF (0x01000 = 4096 direcciones)
Imágenes: 4096 / 32 = 128 imágenes
Ejercicio 12
a) Un sistema basado en el microprocesador de la figura requiere en su mapa de memoria 512 KB de RAM.
Dibuje y conecte todas las memorias que considere necesarias como la que aparece en la figura.
b) Indique las ecuaciones de los CS de todas las memoria RAM que haya dibujado anteriormente y
complete la siguiente tabla sabiendo que los 512 KB de memoria deben estar ubicados a partir de la
dirección 0x100000 del mapa de memoria del microprocesador. Debe realizar la decodificación
completa (sin imágenes) para todas las memorias que haya utilizado.
CS1= /A20 + A19 + A18
CS1= /A20 + A19 + /A18
CHIP SELECT DIRECCIÓN
COMIENZO
(hexadecimal)
DIRECCIÓN
FINAL
(hexadecimal)
Nº DE
DIRECCIONES
CS1 0x100000 0x13FFFF 256 K
CS2 0x140000 0x17FFFF 256 K
c) Se añaden al sistema dos memorias EPROM cuyos CS son los que se muestran a continuación. Hay que
tener en cuenta que el CS de la memoria es activo a nivel alto.
ç
CS EPROM1= A20·A19·A18·A17
CS EPROM2= /A20·/A19
Rellene la siguiente tabla indicando cómo se han mapeado ambas memorias.
CHIP SELECT DIRECCIÓN
COMIENZO
(hexadecimal)
DIRECCIÓN
FINAL
(hexadecimal)
Nº DE
DIRECCIONES
NÚMERO DE
IMAGENES
CSEPROM1
0x1E0000
0x1FFFFF
128 K
-
CSEPROM2
0x000000
0x07FFFF
512 K
4
EPROM
D[7..0]
A[16..0]
CS
/OE
D[7..0]
A[16..0]
/RD
CSEPROM2
EPROM
D[7..0]
A[16..0]
CS
/OE
D[7..0]
A[16..0]
/RD
CSEPROM1
Ejercicio 13
Un determinado microprocesador, cuya longitud de palabra es de 32 bits, presenta el siguiente mapa
de memoria genérico:
Las direcciones generadas por este procesador (y las indicadas en el mapa anterior) son direcciones
de palabra (no de byte).
En este mapa se desean ubicar las siguientes memorias:
Una memoria FLASH de 256 K x 32 en la dirección más baja posible del mapa
Un par de memorias SDRAM de 2 M x 32 formando un bloque de 4 M x 32, en la dirección
más baja posible del mapa
Una memoria SRAM de 64 K x 32 en la dirección más alta posible del mapa
Tenga en cuenta que todas las entradas de selección de chip (CSn) de estas memorias son activas a
nivel bajo.
En estas circunstancias, conteste a los siguientes apartados:
Apartado A. ¿Cuántos bits tiene el bus de direcciones, A, de este microprocesador? Justifique la respuesta.
30 bits (la dirección más alta, 0x3FFF FFFF, tiene 30 bits).
Apartado B. Indique, para cada chip de memoria, su capacidad en bytes y la anchura, en bits, de su bus de
direcciones.
Memoria Capacidad (bytes) Anchura de su bus de direcciones (bits)
FLASH
1 M
18
SDRAM0/1
8 M
21
SRAM
256 K
16
0x0000 0000
memorias novolátiles
0x07FF FFFF
periféricos0x0800 0000
0x0FFF FFFF0x1000 0000
memoriasvolátiles
0x3FFF FFFF
Apartado C. Obtenga la expresión booleana de la señal de selección de chip para la memoria FLASH,
CSnFLASH. Recuerde que dicha memoria desea ubicarse en la posición más baja posible del mapa. Debe
emplearse decodificación completa.
Puesto que la memoria FLASH es no volátil deberá ubicarse en la zona más baja del mapa, es decir, a
partir de la dirección 0x0000 0000. De los 30 bits A[29..0] del bus de direcciones del microprocesador,
los 18 de menor peso A[17..0] se conectarán directamente al bus de direcciones de la FLASH.
La FLASH ocupará, por tanto, las direcciones desde 0x0000 0000 hasta 0x0003 FFFF. Para todas ellas
los bits restantes del bus de direcciones A[29..18] valen todos 0, con lo que:
CSnFLASH = A29 + A28 + A27 + A26 + A25 + A24 + A23 + A22 + A21 + A20 + A19 + A18
Apartado D. Obtenga las expresiones booleanas de las señales de selección de chip para las memorias
SDRAM0 y SDRAM1, CSnSDRAM0 y CSnSDRAM1. Recuerde que dichas memorias desean ubicarse en las
posiciones más bajas posibles del mapa, formando un bloque de 4 M x 32 (2 M + 2 M). Debe emplearse
decodificación incompleta para minimizar la complejidad de esta lógica.
Puesto que las memorias SDRAM son volátiles deberán ubicarse en la zona del mapa reservada para tal
fin y, dentro de ella, en las posiciones más bajas, es decir, a partir de la dirección 0x1000 0000. De los 30
bits A[29..0] del bus de direcciones del microprocesador, los 21 de menor peso A[20..0] se conectarán
directamente al bus de direcciones de las SDRAM. El siguiente bit, A21, se empleará para direccionar SDRAM0
(A21 = 0) o SDRAM1 (A21 = 1).
Los restantes bits del bus de direcciones A[29..22] valen, en este rango, desde 0100 0000B (para la
dirección 0x1000 0000) hasta 1111 1111B (para la dirección 0x3FFF FFFF). La decodificación más simple,
dentro de este rango y para este caso, es que las memorias SDRAM ocupen el rango en que estos bits valen
desde 0100 0000B hasta 0111 1111B, (en este rango A[29..28] = 01B) es decir, desde la
dirección 0x1000 0000 hasta 0x1FFF FFFF. Con todo ello:
CSnSDRAM0 = A29 + A28 + A21
CSnSDRAM1 = A29 + A28 + A21
Apartado E. Con la decodificación anterior ¿cuántas imágenes hay de cada chip de SDRAM en el mapa del
microprocesador? Indique el rango de direcciones y el número de ellas ocupado por las memorias SDRAM en
el mapa de memoria del microprocesador.
Los bits A[27..22] (6 en total) del bus de direcciones del microprocesador no se emplean en la
decodificación, con lo que el número de imágenes será 26 = 64.
Las memorias SDRAM ocupan, según la decodificación anterior, todas las direcciones que tienen sus
dos MSBs a 01B, es decir, desde 0x1000 0000 hasta 0x1FFF FFFF, en total 0x1000 000 = 256 M direcciones.
Por otro lado, 256 M ocupados/4 M por imagen = 64 imágenes, confirmando el cálculo anterior.
Apartado F. Indique, para cada una de las siguientes direcciones, el chip (FLASH, SDRAM0, SDRAM1 o
SRAM) al que corresponde.
Dirección Chip
0x15E3 748B
SDRAM1
0x3FFF BAAD
SRAM
0x0002 3CEF
FLASH
0x1FC0 0034
SDRAM0
Ejercicio 14
Un determinado microprocesador, cuya longitud de palabra es de 16 bits, presenta el siguiente mapa de
memoria genérico:
Las direcciones generadas por este procesador (y las indicadas en el mapa anterior) son direcciones
de palabra (no de byte). Periféricos y memoria comparten el mismo mapa.
En este mapa se desean ubicar los siguientes recursos:
Una memoria PROM de 32 K x 16 en la dirección más baja posible del mapa
Un par de memorias SRAM de 64 K x 16 formando un bloque de 128 K x 16, en la dirección
más baja posible del mapa
Un timer que ocupa 8 direcciones consecutivas, en la dirección más alta posible del mapa
Tenga en cuenta que todas las entradas de selección de chip (CSn) de estos recursos son activas a
nivel bajo.
En estas circunstancias, conteste a los siguientes apartados:
Apartado A. ¿Cuántos bits tiene el bus de direcciones, A, de este microprocesador? Justifique la respuesta.
20 bits (la dirección más alta, 0xF FFFF, tiene 20 bits).
Apartado B. Indique, para cada chip de memoria, su capacidad en bytes y la anchura, en bits, de su bus de
direcciones.
Memoria Capacidad (bytes) Anchura de su bus de direcciones (bits)
PROM
64 K
15
SRAM0/1
128 K
16
0x0 0000
memorias desolo lectura
0x3 FFFF
periféricos
0x4 0000
0xF 7FFF0xF 8000
memorias delectura
y escritura
0xF FFFF
Apartado C. Obtenga la expresión booleana de la señal de selección de chip para la memoria PROM,
CSnPROM. Recuerde que dicha memoria desea ubicarse en la posición más baja posible del mapa. Debe
emplearse decodificación completa.
Puesto que la memoria PROM es de solo lectura deberá ubicarse en la zona más baja del mapa, es decir,
a partir de la dirección 0x0 0000. De los 20 bits A[19..0] del bus de direcciones del microprocesador, los 15
de menor peso A[14..0] se conectarán directamente al bus de direcciones de la PROM.
La PROM ocupará, por tanto, las direcciones desde 0x0 0000 hasta 0x0 7FFF. Para todas ellas los bits
restantes del bus de direcciones A[19..15] valen todos 0, con lo que:
CSnPROM = A19 + A18 + A17 + A16 + A15
Apartado D. Obtenga las expresiones booleanas de las señales de selección de chip para las memorias
SRAM0 y SRAM1, CSnSRAM0 y CSnSRAM1. Recuerde que dichas memorias desean ubicarse en las posiciones más
bajas posibles del mapa, formando un bloque de 128 K x 16 (64 K + 64 K). Debe emplearse decodificación
incompleta, recordando que, a la vista del mapa de memoria genérico de este procesador, no puede haber
ninguna imagen de las memorias SRAM fuera de la zona asignada a memorias de su tipo.
Puesto que las memorias SRAM son de lectura y escritura deberán ubicarse en la zona del mapa
reservada para tal fin y, dentro de ella, en las posiciones más bajas, es decir, a partir de la
dirección 0x4 0000. De los 20 bits A[19..0] del bus de direcciones del microprocesador, los 16 de menor
peso A[15..0] se conectarán directamente al bus de direcciones de las SRAM. El siguiente bit, A16, se
empleará para direccionar SRAM0 (A16 = 0) o SRAM1 (A16 = 1).
Por otro lado, el bloque SRAM no podrá ubicarse a partir de direcciones iguales o superiores a
0xD 8000 = 0xF 8000 (límite de los periféricos) – 128 K (tamaño del bloque) puesto que, en caso contrario,
direcciones pertenecientes al bloque SRAM se solaparían con la zona reservada a periféricos.
Los restantes bits del bus de direcciones A[19..17] valen, en este rango (0x4 000~0xD 7FFF),
desde 010B (para la dirección 0x4 0000) hasta 110B (para la dirección 0xD 7FFF). La decodificación más
simple, dentro de este rango y para este caso, es que las memorias SRAM ocupen el rango en que estos bits
valen desde 010B hasta 011B, (en este rango A19 = 0 y A18 = 1) es decir, desde la dirección 0x4 0000
hasta 0x7 FFFF. Con todo ello:
CSnSRAM0 = A19 + A18 + A16
CSnSRAM1 = A19 + A18 + A16
Apartado E. Con la decodificación anterior ¿cuántas imágenes hay de cada chip de SRAM en el mapa del
microprocesador? Indique el rango de direcciones y el número de ellas ocupado por las memorias SRAM en
el mapa de memoria del microprocesador.
El bit A17 del bus de direcciones del microprocesador no se emplea en la decodificación, con lo que
el número de imágenes será 21 = 2.
Las memorias SRAM ocupan, según la decodificación anterior, todas las direcciones que tienen sus
dos MSBs a 01B, es decir, desde 0x4 0000 hasta 0x7 FFFF, en total 0x4 0000 = 256 K direcciones.
Por otro lado, 256 K ocupados/128 K por imagen = 2 imágenes, confirmando el cálculo anterior.
Apartado F. Obtenga la expresión booleana de la señal de selección para el timer, CSnTIMER. Recuerde que
dicho recurso desea ubicarse en la posición más alta posible del mapa. Debe emplearse decodificación
completa.
Puesto que un timer es un periférico (que ocupa 8 direcciones) deberá ubicarse en la zona del mapa
reservada para tal fin y, dentro de ella, en las posiciones más altas, es decir, a partir de la
dirección 0xF FFFF – 7 = 0xF FFF8). Los 3 bits de menor peso del bus de direcciones A[2..0] son
empleados por el periférico, y los 17 bits restantes A[19..3] se emplean en la decodificación. En el rango
ocupado por el periférico todos estos bits están a 1, con lo que:
CSnTIMER = ∑𝐴𝑘
19
𝑘=3
Apartado G. Indique, para cada una de las siguientes direcciones, el recurso (PROM, SRAM0, SRAM1, timer o
«ninguno») al que corresponde.
Dirección Chip
0x6 FE05
SRAM0
0xF FFFC
Timer
0x0 5A5A
PROM
0x5 4054
SRAM1
0xB 0FA2
Ninguno
Ejercicio 15
Un microcontrolador basado en un núcleo de 32 bits usa el siguiente mapa de memoria:
En el que todas las direcciones son direcciones de palabra. En este mapa se desean ubicar las
siguientes memorias, todas ellas de longitud de palabra igual a 32 bits: Una memoria ROM en el rango de direcciones de 0xE00F F000 a 0xE00F FFFF (esta memoria
será accedida como si fuese un periférico, las demás lo serán como memorias). Una memoria SRAM externa con una capacidad de 512 KByte en la dirección más baja posible del
mapa. Un par de memorias EEPROM externas formando un bloque de 4 M direcciones, en la posición
más alta posible del mapa
Estas memorias son tales que las entradas de selección de chip de las memorias volátiles son activas a
nivel bajo, y las del resto de memorias lo son a nivel alto.
En estas circunstancias conteste a los siguientes apartados:
Apartado A. ¿Cuántos bits tiene el bus de direcciones de este sistema? Justifique la respuesta.
32 bits (la dirección más alta, 0xE00F FFFF, usa A31).
0x0000 0000
Flash
Memoria interna
0x1FFF FFFF
SRAM Memoria interna 0x2000 0000
0x3FFF FFFF
0x4000 0000
Bus perife ricos 0xE00F FFFF
0xE000 0000
Perife ricos internos
Memoria externa
Perife ricos externos
0x6000 0000
0xA000 0000
0x5FFF FFFF
0x9FFF FFFF
0xDFFF FFFF
Apartado B. Indique, para cada chip de memoria, su organización y su anchura del bus de direcciones.
Chip Organización Anchura de su bus de direcciones (bits)
ROM
4 K x 32
12
SRAM
128 K x 32
17
EEPROM0/1
2 M x 32
21
Apartado C. Obtenga la expresión booleana de la señal de selección de chip para la memoria SRAM, CSXSRAM. Recuerde que dicha memoria desea ubicarse en la posición más baja posible del mapa. Debe emplearse decodificación completa.
Puesto que la memoria SRAM es externa y debe ubicarse en las posición más baja posible del mapa, debe situarse a partir de la dirección 0x6000 0000. De los 32 bits A[31..0] del bus de direcciones del procesador, los 17 de menor peso A[16..0] se conectarán directamente al bus de direcciones de la SRAM. La SRAM ocupará, por tanto, las direcciones desde 0x6000 0000 hasta 0x6001 FFFF. Además es una memoria volátil, por lo que según el enunciado su entrada de selección de chip es activa a nivel bajo, por todo ello:
𝐶𝑆𝑋𝑆𝑅𝐴𝑀 = 𝐴31 + 𝐴30 + 𝐴29 + ∑ 𝐴𝑖
17
𝑖=28
Apartado D. Obtenga las expresiones booleanas de las señales de selección de chip para las memorias EEPROM0 y EEPROM1, CSXEEPROM0 y CSXEEPROM1. Recuerde que dichas memorias desean ubicarse en la posición más alta posible del mapa, formando un bloque de 4 M direcciones. Debe emplearse decodificación incompleta para minimizar la complejidad de esta lógica.
Puesto que las memorias EEPROM son externas, deberán ubicarse en la zona del mapa reservada para tal fin y, dentro de ella, en las posiciones más altas, es decir, justo debajo de la dirección 0x9FFF FFFF. De los 32 bits A[31..0] del bus de direcciones del microprocesador, los 21 de menor peso A[20..0] se conectarán directamente al bus de direcciones de las EEPROM. El siguiente bit, A21, se empleará para direccionar EEPROM0 (A21 = 0) o EEPROM1 (A21 = 1).
Los diez restantes bits del bus de direcciones A[31..22] valen, desde la dirección siguiente a la SRAM (0x6002 0000) hasta la última dirección que pueden ocupar las memorias EEPROM (0x9FFF FFFF): desde 0110 0000 00B hasta 1001 1111 11B. La decodificación más simple, dentro de este rango, es fijar A[31..22] = 100X XXXX XXB, que no se solapa con la SRAM y que alcanza la dirección más alta, 0x9FFF FFFF.
Puesto que las memorias EEPROM son no volátiles sus señales de selección de chip serán, de acuerdo al
enunciado, activas a nivel alto, con lo que:
𝐶𝑆𝑋𝐸𝐸𝑃𝑅𝑂𝑀0 = 𝐴31 ⋅ 𝐴30 ⋅𝐴29 ⋅A21
𝐶𝑆𝑋𝐸𝐸𝑃𝑅𝑂𝑀1 = 𝐴31 ⋅ 𝐴30 ⋅𝐴29 ⋅𝐴21
Apartado E. Con la decodificación anterior ¿cuántas imágenes hay de cada chip de EEPROM en el mapa del procesador? Indique el rango de direcciones y el número de ellas ocupado por las memorias EEPROM en el mapa de memoria del microprocesador.
Los bits A[28..22] (7 en total) del bus de direcciones del procesador no se emplean en la decodificación, con lo que el número de imágenes de cada chip será 27 = 128. Las memorias EEPROM ocupan, según la decodificación anterior, todas las direcciones que van desde la 0x8000 0000 hasta 0x9FFF FFFF, es decir, 512 M direcciones. Puesto que cada imagen de las dos memorias EEPROM ocupa 4 M direcciones, el número total de imágenes debe ser 512 M/4 M = 128 imágenes, en concordancia con el resultado anterior.
Apartado F. Indique, para cada una de las siguientes direcciones, el chip (ROM, EEPROM0, EEPROM1 o SRAM) al que corresponde.
Dirección Chip
0x15E3 748B
Ninguno
0x6000 BAAD
SRAM
0x9F11 3CEF
EEPROM0
0x80A7 0034
EEPROM1
Ejercicio 16
En un determinado microcontrolador basado en un procesador ARM Cortex-M0 (little-endian) se ubican: una memoria (MEM0) de capacidad 128 KB; una memoria (MEM1) de capacidad 16 KB; un perife rico (PER0) con 64 direcciones internas.
Todos estos elementos tienen su correspondiente entrada de chip select activa a nivel bajo y sus buses de direcciones y datos esta n conectados directamente al core.
Apartado A. Indique, para cada una de estas memorias, su organizacio n y las anchuras, en bits, de sus buses de datos y direcciones. Indique tambie n la anchura del bus de direcciones del perife rico.
Apartado B. Para la decodificacio n de MEM0 se emplea la OR lo gica de los 3 bit ma s significativos del bus de direcciones del procesador.
Indique (justificando las respuestas): Rango de direcciones (primera y u ltima, en hexadecimal) ocupadas por MEM0 en el mapa de memoria
del procesador Nu mero total de direcciones ocupadas por MEM0 en el mapa Nu mero de ima genes de MEM0 en el mapa Taman o de cada imagen de MEM0 en el mapa Tipo de decodificacio n (completa o incompleta) empleada para MEM0 Rellena la tabla adjunta con los resultados pedidos.
Al emplearse la OR de los 3 bit más significativos y ser el chip select de MEM0 activo a nivel bajo, MEM0 ocupa todas las direcciones del mapa que comienzan, en binario, por 000. Puesto que el procesador Cortex-M0 tiene un bus de direcciones de 32 bit, las direcciones ocupadas por MEM0 van desde 0x0000 0000 hasta 0x1FFF FFFF. Esto son 0x2000 0000 direcciones, es decir 512 M (direcciones de byte). Dado que MEM0 alberga 128 KB, existen 512 M/128 K = 4096 imágenes de MEM0. Por otro lado, de los 32 bit del bus de direcciones del procesador, 3 se emplean en la decodificación de MEM0, 2 (los de menor peso) se descartan al hacer la conversión de direcciones de byte (del procesador) a direcciones de palabra (de la memoria) y 15 van a MEM0, de manera que quedan 32–3–2–15 = 12 sin usar, por lo que debe haber 212 = 4096 imágenes, como ya se había calculado y la decodificación es incompleta.
Memoria Organizacio n Anchura de su bus de datos (bit)
Anchura de su bus de direcciones (bit)
MEM0
32 Kx32
32
15
MEM1
4 Kx32
32
12
Perife rico
— — — — —
— — — — —
6
Rango de direcciones
0x0000 0000 a 0x1FFF FFFF
Nu mero de direcciones
512 M
Nu mero de ima genes
4096
Taman o de cada imagen
128 K
Tipo de decodificacio n
Incompleta
Apartado C. Para la decodificacio n de MEM1 se emplea la funcio n lo gica (A es el bus de direcciones del procesador):
𝐴31 + 𝐴30 + 𝐴29 + ∑ 𝐴𝑖
28
𝑖=19
Responda a las mismas preguntas que en el apartado anterior (en este caso referidas a MEM1). No olvide justificar sus respuestas.
MEM1 ocupa todas las direcciones del mapa que comienzan, en binario, por 0010 0000 0000 0, es decir desde 0x2000 0000 hasta 0x2007 FFFF. Esto son 0x8 0000 direcciones, es decir 512 K (direcciones de byte). Dado que MEM1 alberga 16 KB, existen 512 K/16 K = 32 imágenes de MEM1. Por otro lado, de los 32 bit del bus de direcciones del procesador, 13 se emplean en la decodificación de MEM1, 2 (los de menor peso) se descartan al hacer la conversión de direcciones de byte (del procesador) a direcciones de palabra (de la memoria) y 12 van a MEM1, de manera que quedan 32–13–2–12 = 5 sin usar, por lo que debe haber 25 = 32 imágenes, como ya se había calculado y la decodificación es incompleta.
Rango de direcciones
0x2000 0000 a 0x2007 FFFF
Nu mero de direcciones
512 K
Nu mero de ima genes
32
Taman o de cada imagen
16 K
Tipo de decodificacio n
Incompleta
Apartado D. A la vista de todo lo anterior y conociendo las particularidades de la arquitectura del procesador ARM Cortex-M0 ¿puede asegurarse que alguna de entre MEM0 y MEM1 deba ser forzosamente una memoria no vola til? En caso afirmativo indique cua l (o cua les) deben ser forzosamente no vola tiles. Justifique sus respuestas. En las direcciones 0x0000 0000 y 0x0000 0004 del mapa de memoria de un procesador ARM Cortex-M0 deben ubicarse el valor inicial de SP y PC respectivamente, lo que obliga a que esas direcciones estén ubicadas en alguna memoria no volátil. Puesto que esas direcciones se corresponden con MEM0, esta debe ser, forzosamente, no volátil.