So-Trabajo Grupal B

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

Universidad Nacional de Cañete

Escuela Profesional de Ingeniería de Sistemas

ÁMBITO DE LA MEMORIA EN TODOS SUS USOS DEL CÓMPUTO


Docente : Manuel Abanto Corcuera
Universidad Nacional de Cañete, Perú
Estudiantes:

Curipaco Marquez Victor


[email protected]
Solis Torres Kenyo Yura
[email protected]
Quispe Auris Jhaison Pele
[email protected]
Huaman Mendoza Sandro Zahid
[email protected]
Pachas Saravia Yrvin
[email protected]
Taboada Marcos Jeison
[email protected]
Curso:
Administración de Sistemas Operativos

V CICLO
Cañete - Lima - 2023
AGRADECIMIENTO
Estimado profesor, queremos agradecerle por haber guiado nuestro equipo en este proyecto. Sus
enseñanzas nos han ayudado a mejorar nuestras habilidades de trabajo en equipo y a alcanzar
resultados que nunca creímos posibles.

Gracias por dedicar su tiempo y energía a este proyecto, y por brindarnos la orientación necesaria
para sacar adelante esta tarea. Hemos aprendido mucho gracias a usted y esperamos poder
aplicar estos conocimientos en futuros proyectos.

2
ÌNDICE

RESUMEN 4
INTRODUCCIÓN 4
PROBLEMÁTICA 5
METODOLOGÍA DE SOLUCIÓN 5
CAPÍTULO I : MARCO TEÓRICO 6
1.1. ¿QUÉ ES LA MEMORIA RAM? 6
1.2. ¿QUÉ ES LA MEMORIA ROM? 6
1.3. TIPOS DE MEMORIAS 6
1.4. FUNCIONAMIENTO DE LA MEMORIA RAM 7
1.5.ARQUITECTURA DE LA MEMORIA EN LA PLACA BASE 8
1.6. LA MEMORIA CACHÉ 8
1.7.MEMORIA VIRTUAL 9
CAPÍTULO II : PONIENDO EN PRÁCTICA TODO LO RESPECTO A LA MEMORIA EN CÓMPUTO 11
2.1. UNIDAD ARITMÉTICA LÓGICA (ALU) USANDO PROTEUS 11
2.2. SIMULACIÓN DE UNA MEMORIA ROM DE 1 BIT CON GEOGEBRA 16
2.3. USO DEL SD VIRTUAL CON PROTEUS Y ARDUINO 19
2.4. RECOPILACIÓN DE DATOS DE LA TEMPERATURA Y HUMEDAD CON PROTEUS Y ARDUINO 26
2.5. REGISTRO DE PULSOS CON ARDUINO UNO 32
CONCLUSIÓN 32
REFERENCIAS 33

3
RESUMEN
El presente trabajo se basa en conocer el ámbito de la memoria en la computación, este se refiere
a la capacidad de almacenamiento de información de una computadora y cómo se utiliza esa
capacidad. La memoria se utiliza en todas las funciones de la computadora, desde la ejecución de
programas y la navegación en internet, hasta el almacenamiento de archivos y la realización de
tareas complejas como el aprendizaje automático y la inteligencia artificial.

Existen diferentes tipos de memoria, incluyendo la memoria de acceso aleatorio (RAM), la


memoria caché, la memoria virtual y la memoria de almacenamiento en disco duro. Cada tipo de
memoria tiene una función específica y es esencial para el funcionamiento de una computadora.

El ámbito de la memoria es un tema importante en la programación y el diseño de computadoras,


ya que la gestión eficiente de la memoria es esencial para el rendimiento y la eficiencia del sistema.
Los programadores deben ser conscientes de la cantidad de memoria que utilizan sus programas y
cómo se asigna y libera la memoria para evitar problemas como errores de memoria y caídas del
sistema.

Palabras clave: Memoria RAM, Memoria ROM, Memoria VIRTUAL, Memoria PRINCIPAL, ALU

función específica y es esencial para el


INTRODUCCIÓN funcionamiento del sistema.

La memoria es uno de los componentes más La gestión eficiente de la memoria es


importantes de cualquier computadora, ya esencial para el rendimiento y la eficiencia
que es la encargada de almacenar y gestionar del sistema, y es un tema importante en la
la información que se procesa en el sistema. programación y el diseño de computadoras.
Desde la ejecución de programas y la Los programadores deben ser conscientes de
navegación en internet, hasta el la cantidad de memoria que utilizan sus
almacenamiento de archivos y la realización programas y cómo se asigna y libera la
de tareas complejas como el aprendizaje memoria para evitar problemas como errores
automático y la inteligencia artificial, todas de memoria y caídas del sistema. En
las funciones de la computadora dependen resumen, el ámbito de la memoria en la
en gran medida del uso de la memoria. computación es esencial para el correcto
funcionamiento de cualquier sistema
El ámbito de la memoria en la computación informático y es un tema importante para
abarca diferentes tipos de memoria, como la aquellos interesados en el desarrollo de
RAM, la memoria caché, la memoria virtual y software o hardware.
la memoria de almacenamiento en disco
duro. Cada tipo de memoria tiene una

4
embargo, la fragmentación de la memoria
sigue siendo un desafío en entornos de
PROBLEMÁTICA cómputo con recursos limitados o en
Una de las problemáticas que podemos sistemas que ejecutan una gran cantidad de
abarcar, es la siguiente: programas y procesos simultáneamente.
Fragmentación de la memoria: Con el
tiempo, a medida que los programas y
procesos se ejecutan y se alojan en la
METODOLOGÍA DE SOLUCIÓN
memoria, pueden producirse fragmentos de Para abordar la problemática de la
memoria no utilizados o espacios vacíos fragmentación de memoria en el ámbito de
entre ellos. Esto se conoce como todos sus usos del cómputo, se pueden
fragmentación de la memoria y puede seguir varias metodologías y técnicas. A
presentar dos formas: fragmentación externa continuación, se presentan algunas
e interna. sugerencias:
La fragmentación externa ocurre cuando hay 1. Asignación dinámica de memoria: Utilizar
suficiente memoria total disponible, pero no técnicas de asignación de memoria dinámica
hay suficiente memoria contigua para alojar en lugar de asignación estática puede ayudar
un proceso en particular. Esto puede llevar a a reducir la fragmentación. Con la asignación
una asignación ineficiente de memoria y un dinámica, la memoria se asigna solo cuando
desperdicio de recursos. es necesario y se libera cuando ya no se
La fragmentación interna, por otro lado, utiliza. Esto puede permitir un mejor
ocurre cuando un proceso ocupa más aprovechamiento de la memoria disponible y
memoria de la necesaria. Esto puede deberse reducir la fragmentación.
a la asignación de bloques de memoria más 2. Algoritmos de asignación de memoria más
grandes de lo necesario o a la forma en que eficientes: Emplear algoritmos de gestión de
se gestionan las estructuras de datos internas memoria más avanzados y eficientes, como
de un programa. el algoritmo de Mejor Ajuste (Best-Fit) o el de
Ambas formas de fragmentación pueden Primero en Entrar, Primero en Salir (FIFO),
llevar a una utilización ineficiente de la puede ayudar a mitigar los problemas de
memoria, lo que resulta en una disminución fragmentación. Estos algoritmos intentan
del rendimiento del sistema y una posible asignar bloques de memoria de manera más
falta de memoria para ejecutar nuevos precisa y ajustada a las necesidades de los
programas o procesos. procesos.
La fragmentación de la memoria es una 3. Compactación de memoria: Esta técnica
problemática importante en el ámbito de la consiste en reorganizar los bloques de
memoria, y se han desarrollado diversas memoria para eliminar la fragmentación
técnicas para mitigar sus efectos, como la externa. Es un proceso que requiere tiempo y
compactación de memoria, la asignación recursos, pero puede ser útil en sistemas
dinámica de memoria y los algoritmos de donde la fragmentación se ha vuelto
gestión de memoria más eficientes. Sin significativa. Sin embargo, esta técnica puede

5
no ser viable en sistemas en tiempo real o en adecuadas y algoritmos eficientes, se puede
entornos con restricciones de tiempo minimizar la cantidad de memoria utilizada y,
estrictas. por lo tanto, reducir la fragmentación.
4. Uso de memoria virtual: La memoria 6. Establecer límites de memoria para
virtual es una técnica que permite al sistema procesos: Al limitar la cantidad de memoria
operativo manejar la memoria de manera que un proceso puede utilizar, se puede
más eficiente y transparente para las evitar que un proceso excesivamente grande
aplicaciones. Esta técnica usa una cause fragmentación externa. Esto puede
combinación de memoria RAM y espacio en hacerse estableciendo límites de memoria en
el disco para administrar los procesos y sus el sistema operativo o utilizando técnicas de
datos. El uso de memoria virtual puede memoria compartida.
ayudar a reducir la fragmentación y facilitar 7. Monitorización y ajuste del sistema: Es
una mejor utilización de los recursos de importante monitorear regularmente el
memoria. sistema para identificar y abordar problemas
5. Revisión y optimización de algoritmos y de fragmentación de memoria. El ajuste
estructuras de datos: Los programadores periódico del sistema y la implementación de
deben analizar y optimizar los algoritmos y soluciones adecuadas pueden ayudar a
estructuras de datos utilizados en sus mantener una gestión eficiente de la
aplicaciones. Al elegir estructuras de datos memoria.
Esta memoria se utiliza para almacenar datos
y programas que no cambian, como el código
CAPÍTULO I : MARCO TEÓRICO de arranque del sistema operativo. Esta
memoria es permanente, es decir, los datos
almacenados en ella no se pierden cuando se
1.1. ¿QUÉ ES LA MEMORIA RAM?
apaga el equipo.
La memoria RAM (Random Access Memory)
es un tipo de memoria de acceso aleatorio 1.3. TIPOS DE MEMORIAS
que se utiliza para almacenar datos y
La memoria RAM (Random Access Memory)
programas en una computadora. Esta
es una parte fundamental de cualquier
memoria se borra cuando se apaga la
ordenador moderno. Su función es
computadora, por lo que se conoce como
proporcionar un espacio de almacenamiento
memoria volátil. La memoria RAM se utiliza
temporal para los datos que necesita el
para almacenar los datos y programas que se
procesador para realizar sus tareas. Existen
están utilizando actualmente, lo que permite
diferentes tipos de memoria RAM, cada uno
a la computadora procesar los datos más
con sus propias características y velocidades.
rápidamente.
1. SDRAM (Synchronous Dynamic RAM): Es
1.2. ¿QUÉ ES LA MEMORIA ROM? una de las primeras tecnologías de memoria
La memoria ROM (Read-Only Memory) es un RAM que se utilizó en los ordenadores.
tipo de memoria de solo lectura, es decir, SDRAM funciona sincronizando su velocidad
una memoria que no se puede modificar. de reloj con la velocidad del bus del sistema.
Esto permite una mayor velocidad de acceso

6
a los datos que la memoria RAM más En general, la elección de la tecnología de
antigua. memoria RAM adecuada dependerá de las
necesidades específicas del sistema en el que
2. DDR (Double Data Rate) SDRAM: DDR
se utiliza. Es importante tener en cuenta
SDRAM es una evolución de la tecnología
factores como la velocidad de transferencia
SDRAM que permite que la memoria RAM
de datos, el consumo de energía y la
transfiera datos a doble velocidad. DDR RAM
capacidad de detección y corrección de
funciona en diferentes versiones, desde
errores al seleccionar la memoria RAM
DDR1 hasta DDR4, cada una con una
adecuada para un sistema.
velocidad de transferencia de datos más
rápida que la anterior.
1.4. FUNCIONAMIENTO DE LA MEMORIA
3. DDR2 SDRAM: esta tecnología de memoria RAM
RAM es una evolución de DDR SDRAM que
La memoria RAM (Random Access Memory)
proporciona una mayor velocidad de
es un componente esencial de cualquier
transferencia de datos. DDR2 SDRAM
ordenador moderno. Su función principal es
también tiene una menor demanda de
proporcionar un espacio de almacenamiento
energía que su predecesor.
temporal para los datos que necesita el
4. DDR3 SDRAM: DDR3 SDRAM es una procesador para realizar sus tareas. La
evolución de DDR2 SDRAM que tiene una memoria RAM es un tipo de memoria volátil,
velocidad de transferencia de datos aún más lo que significa que pierde su contenido
rápida. DDR3 RAM es muy común en los cuando se apaga el ordenador.
ordenadores actuales.
Cuando el procesador necesita acceder a un
5. DDR4 SDRAM: DDR4 SDRAM es la dato que no se encuentra en la memoria
tecnología de memoria RAM más reciente y caché, busca en la memoria RAM. La
más rápida disponible actualmente. DDR4 memoria RAM se organiza en celdas de
RAM proporciona una velocidad de memoria que contienen un único bit de
transferencia de datos más rápida y consume información, y cada celda se identifica
menos energía que su predecesora DDR3. mediante una dirección única. El procesador
envía una solicitud de acceso a la dirección
6. SODIMM (Small Outline Dual Inline correspondiente en la memoria RAM, y la
Memory Module): es una versión más información se recupera y se envía al
pequeña de la memoria RAM que se utiliza procesador a través del bus de memoria.
en los ordenadores portátiles y otros
dispositivos móviles. La velocidad de acceso a la memoria RAM es
un factor crítico para el rendimiento del
7. ECC (Error-Correcting Code) RAM: esta sistema. Las tecnologías más recientes de
tecnología de memoria RAM utiliza un memoria RAM, como DDR4, proporcionan
algoritmo para detectar y corregir errores en velocidades de transferencia de datos mucho
los datos almacenados en la memoria RAM. más rápidas que las tecnologías más
ECC RAM es comúnmente utilizado en antiguas, como SDRAM.
servidores y otros sistemas críticos en los que
la integridad de los datos es esencial. La cantidad de memoria RAM instalada en un
sistema también es importante para su

7
rendimiento. Si un sistema tiene demasiado requiere que se instalen dos módulos de
poca memoria RAM, el procesador puede memoria RAM idénticos en ranuras de
verse obligado a utilizar la memoria virtual, memoria específicas para que el sistema
que utiliza el disco duro como memoria RAM funcione correctamente.
adicional. La memoria virtual es mucho más
Además de la memoria RAM, la placa base
lenta que la memoria RAM, lo que puede
también puede incluir una memoria no
afectar significativamente al rendimiento del
volátil, como la memoria flash. La memoria
sistema.
flash se utiliza para almacenar datos de
La capacidad de la memoria RAM también configuración del sistema y se puede
puede afectar al rendimiento del sistema. Si actualizar mediante el uso de software de
un sistema tiene demasiada memoria RAM firmware específico.
instalada, esto puede hacer que el sistema
La placa base también puede incluir una
sea más lento, ya que el procesador tardará
caché de nivel 2 (L2) y una caché de nivel 3
más tiempo en buscar la información
(L3), que se utilizan para almacenar datos
necesaria en una gran cantidad de memoria.
temporales para su acceso rápido. La caché
L2 se encuentra en el procesador y es más
1.5.ARQUITECTURA DE LA MEMORIA EN LA rápida que la memoria RAM, mientras que la
PLACA BASE caché L3 se encuentra en la placa base y es
La arquitectura de la memoria en la placa aún más rápida que la caché L2.
base de un ordenador es un aspecto
En resumen, la arquitectura de la memoria
fundamental del diseño de cualquier sistema
en la placa base es un aspecto fundamental
informático. La memoria RAM se conecta a la
del diseño de cualquier sistema informático.
placa base a través de ranuras de memoria
La placa base está diseñada para soportar
específicas, y la cantidad y velocidad de las
diferentes tecnologías de memoria RAM y
ranuras de memoria varían según el diseño
velocidades, y también puede incluir una
de la placa base.
memoria no volátil y cachés L2 y L3 para un
acceso rápido a los datos. La elección de la
placa base adecuada para un sistema
Las ranuras de memoria en la placa base
informático depende en gran medida de las
están diseñadas para acomodar diferentes
necesidades específicas del usuario y del tipo
tipos de tecnologías de memoria RAM, como
de procesador y memoria RAM que se
DDR3 y DDR4. La placa base también puede
utilizarán en el sistema.
estar diseñada para soportar diferentes
velocidades de memoria RAM, lo que puede
afectar significativamente al rendimiento del 1.6. LA MEMORIA CACHÉ
sistema. Según Camacho et. al (2003) menciona que
la memoria caché es una memoria rápida
La mayoría de las placas base modernas
que actúa como intermediario entre la CPU y
utilizan un sistema de doble canal de
la memoria principal (RAM) para acelerar el
memoria, que permite que la memoria RAM
intercambio de datos y procesos . Su objetivo
se acceda y se transfiera a mayores
principal es aumentar la velocidad de acceso
velocidades. El sistema de doble canal
a la memoria principal.

8
La memoria caché es una memoria rápida Cuando el procesador accede a la memoria
que actúa como intermediario entre la CPU y caché, no sólo recibe un byte, sino un
la memoria principal (RAM) para acelerar el conjunto mínimo de información llamado
intercambio de datos y procesos . Su objetivo palabra. La palabra está compuesta por 16,
principal es aumentar la velocidad de acceso 32 o 64 bits, dependiendo de la arquitectura
a la memoria principal (Carmona et. al, del chip. La caché obtiene información en
2020). bloques llamados línea, que están
compuestos por 64 bytes de información.
Gracias a la localidad, futuros accesos
cercanos se resuelven con mayor rapidez
porque ya se encuentran en la caché ( Prada,
2019) .

1.7.MEMORIA VIRTUAL

La memoria virtual es una técnica que


permite a un sistema operativo utilizar el
espacio en disco duro como si fuera memoria
RAM adicional.
En términos simples, Prada (2019) sostiene Esta técnica se utiliza cuando el sistema
que la memoria caché actúa como operativo no tiene suficiente memoria RAM
intermediaria entre la CPU y la memoria para realizar todas las tareas que se están
principal (RAM) para acelerar el intercambio ejecutando al mismo tiempo. Cuando un
de datos y procesos. Los procesadores programa se ejecuta en un sistema de
modernos tienen varios niveles de caché,
cómputo, necesita acceso a la memoria para
incluyendo la L1 y L2 para cada núcleo y la L3
almacenar y recuperar datos. Si la memoria
compartida por todos los núcleos del
RAM del sistema está llena, el programa no
procesador. El objetivo es aumentar la
velocidad de acceso a la memoria principal y podrá acceder a la memoria adicional
mejorar el rendimiento del sistema. necesaria y se producirá un error.
La memoria virtual soluciona este problema
al permitir que el sistema operativo utilice
parte del espacio en disco duro como si fuera
memoria RAM.
La memoria virtual utiliza una técnica
llamada paginación para mover los datos
entre la memoria RAM y el espacio en disco.
Los datos se dividen en bloques pequeños
llamados páginas y se cargan en la memoria
RAM cuando se necesitan. Si la memoria
RAM está llena, el sistema operativo puede

9
mover las páginas menos utilizadas de vuelta ampliar la memoria disponible para
al espacio en disco para liberar espacio en la el sistema operativo y permitir que
memoria RAM para otras tareas. se ejecuten más programas al mismo
Una desventaja de la memoria virtual es que tiempo.
el acceso a los datos almacenados en el disco En general, la memoria virtual es útil
duro es mucho más lento que el acceso a los para ampliar la cantidad de memoria
datos almacenados en la memoria RAM. Por disponible para un sistema operativo
lo tanto, el rendimiento del sistema puede y permitir que se ejecuten más
disminuir si se utiliza demasiada memoria programas al mismo tiempo. Sin
virtual. embargo, su uso excesivo puede
disminuir el rendimiento del sistema
EJEMPLOS: debido a la lentitud del acceso a los
datos almacenados en el disco duro.
1. Cuando se ejecutan varios programas
al mismo tiempo en un sistema con
poca memoria RAM, el sistema
operativo puede utilizar la memoria
virtual para evitar que los programas
se cierren debido a la falta de
memoria RAM.
2. Cuando se trabaja con archivos
grandes, como vídeos o imágenes de
alta resolución, el sistema operativo
puede utilizar la memoria virtual
para mover parte de los datos menos
utilizados desde la memoria RAM al
disco duro y liberar espacio para
trabajar con los datos más utilizados.
3. Cuando se ejecutan máquinas
virtuales en un sistema, cada
máquina virtual utiliza una parte de
la memoria RAM del sistema. Si el
sistema no tiene suficiente memoria
RAM para todas las máquinas
virtuales, el sistema operativo puede
utilizar la memoria virtual para
proporcionar más memoria a las
máquinas virtuales.
4. Cuando se utiliza un sistema
operativo de 32 bits, la cantidad
máxima de memoria RAM que puede
utilizar el sistema es limitada. La
memoria virtual puede utilizarse para

10
CAPÍTULO II : PONIENDO EN
PRÁCTICA TODO LO RESPECTO A LA
MEMORIA EN CÓMPUTO

2.1. UNIDAD ARITMÉTICA LÓGICA (ALU)


USANDO PROTEUS
Para la preparación de nuestra prueba de
operaciones lógicas y aritméticas vamos a
utilizar el software proteus que es pieza clave Cuando lleguemos a este apartado
para la prueba que vamos a realizar porque introduciremos lo que vamos a requerir para
da gran facilidad en las opciones que nos nuestra operación aritmética lógica.Estos
brindan , la finalidad de esto es comprender son:
cómo funciona un ALU.
● 7SEG-BCD-BLUE : Es un componente
Para su elaboración vamos a realizar los o módulo que simula un display de
siguientes pasos: siete segmentos. Este módulo tiene
Nos dirigimos a software y le damos un clic, la capacidad de mostrar números en
para posteriormente entrar en la opción New formato decimal utilizando una
Project , como se puede apreciar en la figura codificación BCD (Binary Coded
01. Decimal).

● 74LS181: Es un circuito integrado (CI)


que puede realizar operaciones
aritméticas y lógicas de alta
velocidad en un sistema digital. Es un
CI de 4 bits que se utiliza
Una vez dentro nos aparecerá la siguiente comúnmente en aplicaciones de
ventana: diseño de circuitos digitales.

11
● LED-YELLOW: Es un componente o
módulo que simula un diodo emisor
de luz (LED) de color amarillo. Los
LEDs son componentes electrónicos
que emiten luz cuando se les aplica
una corriente eléctrica.
● 7404: Es un circuito integrado (CI)
que se utiliza como inversor lógico en
sistemas digitales. Es un CI de seis
puertas inversoras que se utiliza para
invertir la señal de entrada (lógica 0
o lógica 1) en su salida
correspondiente.

● LOGICSTATE: Es un componente que


permite monitorear el estado lógico
de una señal en un circuito digital. El
componente LOGICSTATE se utiliza
para visualizar el valor lógico de una
señal digital en tiempo real mientras
se simula el circuito en Proteus.

● LED-BLUE: Es un componente o
módulo que simula un diodo emisor
de luz (LED) de color azul. Los LEDs
son componentes electrónicos que
emiten luz cuando se les aplica una
corriente eléctrica.

12
Los mencionados lo agregamos en el botón
“P” que se encuentra al lado izquierdo de la
zona de trabajo de proteus, en “DEVICES”

Una vez que lo añadamos, esto se va a ver en


el sector “DEVICES”.

Es momento de llevar los “dispositivos” a la


zona de prueba que está ubicada al lado
derecho. La estructura que va a seguir es la
siguiente:

13
Unimos los circuitos como se puede apreciar en la siguiente imagen:

14
Si queremos realizar las operaciones lógicas o aritméticas tenemos que basarnos respecto a la siguiente figura:

15
2.2. SIMULACIÓN DE UNA MEMORIA ROM
DE 1 BIT CON GEOGEBRA
Esta es una simulación de memoria ROM
usando GeoGebra. Esta simulación está
compuesta por un MOSFET, una resistencia,
La fuente de alimentación de 5 voltios se usa
un diodo LED, una fuente de 5 voltios y un
para alimentar el circuito.
interruptor.

El MOSFET se usa para controlar el flujo de


corriente entre la fuente de alimentación y el
LED.

El interruptor se usa para activar o desactivar


la memoria ROM.

Mosfet. También contamos con botones


La resistencia se usa para limitar la corriente programados en JavaScript para iniciar,
que fluye a través del LED. detener y reiniciar la simulación.

El codigo del boton RESET en formato


JavaScript y Geogebra:

ggbApplet.evalCommand("interruptor=0");
El diodo LED se usa para indicar si la memoria ggbApplet.evalCommand("interrupt=0");
ROM tiene un bit almacenado o no.
ggbApplet.evalCommand("led=0");

ggbApplet.evalCommand("bit1=0");

16
ggbApplet.startAnimation();

ggbApplet.evalCommand("ac2=0.2");

ggbApplet.evalCommand("ac1=0");
El codigo del boton OFF en formato
ggbApplet.evalCommand("ac3=0"); JavaScript y Geogebra:
ggbApplet.evalCommand("positivo=0"); ggbApplet.evalCommand("interruptor=0");
ggbApplet.evalCommand("negativo=0"); ggbApplet.evalCommand("interrupt=0");

ggbApplet.evalCommand("led=0");

ggbApplet.evalCommand("positivo=0");

El codigo del boton ON en formato JavaScript ggbApplet.evalCommand("negativo=0");


y Geogebra:
ggbApplet.evalCommand("mostrar=0");
ggbApplet.evalCommand("interruptor=-0.28
ggbApplet.stopAnimation();
5");

ggbApplet.evalCommand("interrupt=1");
Ahora, veamos cómo funciona la simulación.
ggbApplet.evalCommand("led=1"); Cuando el interruptor está en la posición
"ON", vemos que no ocurre nada porque el
ggbApplet.evalCommand("positivo=1");
MOSFET está abierto, es decir, no le llega
ggbApplet.evalCommand("negativo=1"); ningún tipo de corriente por el GATE y no hay
corriente que fluya a través del LED. Esto
significa que la memoria ROM no tiene
var ac1 = ggbApplet.getValue('ac1'); ningún bit almacenado. Cuando el
interruptor está en la posición "ON" y
var ac3 = ggbApplet.getValue('ac3'); alimentamos el GATE del MOSFET con
if (ac1 != 0){ corriente positiva por un segundo el MOSFET
se cierra y la corriente fluye a través del LED.
ggbApplet.evalCommand("led=1"); Esto significa que la memoria ROM tiene un
bit almacenado. Si probamos poner el
ggbApplet.evalCommand("bit1=1");
interruptor a "OFF" el bit debe seguir
} almacenado, entonces cuando lo ponemos
en "ON" el led debe seguir encendido
if (ac3 != 0){
indicándonos que aun tiene el bit
ggbApplet.evalCommand("led=0"); almacenado, para reescribir la memoria o
para borrar el bit almacenado debemos
ggbApplet.evalCommand("bit1=0"); suministrar corriente negativa al GATE del
} MOSFET, entonces el LED se apagará.

ggbApplet.evalCommand("mostrar=1");

17
Alimentamos el GATE del MOSFET con corriente positiva: Ponemos el interruptor en ON y vemos que el bit se conserva.

Ponemos el interruptor en OFF. Para finalizar borramos el bit suministrando corriente negativa al
GATE.

18
2.3. USO DEL SD VIRTUAL CON PROTEUS Y
ARDUINO
En esta simulación aprenderemos a utilizar el
SD virtual junto con la programación en
arduino para poder recopilar los datos que
nosotros vamos a obtener en la zona de
trabajo de proteus, veremos como cambia el
valor del potenciómetro cada vez que
nosotros lo aumentemos o disminuyamos su
valor. En el código podremos cambiar cada
cuánto tiempo queremos que guarde los
valores o datos que se posee para
posteriormente tener una conclusión de lo
que sucede.

Para comenzar debemos instalar WinImage


en nuestra PC mediante el siguiente link: Dentro de la ventana principal clic en “file” ,
http://www.winimage.com/ . “new”. En la ventana emergente “Format
selection” en la sección imported seleccionar
“select custom image format” y clic en ok .

Una vez que lo tengamos instalado en


nuestro escritorio aparecerá dos accesos
directos, uno llamado “WinImage” y otro
“WinImage(administrador)”. Damos clic en la
primera opción y luego en ok.

En la nueva ventana “Edit FAT image size”


dejamos los valores de manera
predeterminada.

19
Los dispositivos o “devices” en inglés que
vamos a utilizar son los siguientes:

● POT-HG: Se refiere a un
potenciómetro o resistor variable
utilizado en la simulación de circuitos
electrónicos. "POT" es la abreviatura
comúnmente utilizada para
potenciómetro, que es un
componente electrónico ajustable
utilizado para controlar la resistencia
en un circuito.

Para finalizar el proceso de la creación de un


SD virtual debemos guardar lo realizado, para
ello clic en el icono “save”. Le ponemos
nombre a nuestra memoria SD y no olvidar lo
● SD: Sirve para poder simular y
más importante que es guardarlo como tipo
trabajar con dispositivos SD, como
“image file(*ima) “.
tarjetas de memoria SD o módulos
SD, para desarrollar y probar
circuitos que involucren
almacenamiento y acceso a datos en
tarjetas SD.

● SIMULINO UNO: Se refiere al


Arduino Uno; esto permite probar y
depurar tus programas Arduino en
un entorno virtual antes de cargarlos
Por otra parte, ahora nos dirigiremos a
en la placa física.
proteus para simular la obtención de datos
de un potenciómetro.

20
También añadimos un “terminal
virtual” desde la parte izquierda de
la zona de trabajo , en la opción
“Virtual Instruments Mode” Esta
terminal nos va a ayudar a
comprobar de que la simulación se
va a realizar de manera exitosa.

Lo mencionado son los dispositivos


más importantes que se van a
utilizar. Estos dispositivos lo
trasladamos a la zona de trabajo
central y hacemos las conexiones de
la siguiente forma:

21
22
Finalizada la estructura en proteus, abrimos el programa Arduino if (myFile){
IDE , creamos una nueva hoja de trabajo y escribimos el siguiente
Serial.print("Escribiendo en la SD: ");
código que necesitamos para la obtención de datos del
potenciómetro: potenciometro = analogRead(A0);
#include <SD.h> Serial.print("Valor del potenciometro=");
int potenciometro; Serial.println(potenciometro);
File myFile; myFile.print("Valor del potenciometro = ");
void setup() { myFile.println(potenciometro);
Serial.begin(9600); delay(300);
Serial.print("Inicio de SD ... "); myFile.close();
if (!SD.begin(4)) { }
Serial.println("Error al else {
inicializar la tarjeta SD"); Serial.println("Error al abrir el archivo");
return; }
} delay(100);
Serial.println("Tarjeta SD inicializada }
correctamente");

void loop() {

myFile = SD.open("prueba1.txt", FILE_WRITE);

23
Verificamos si nuestro código es correcto en
el ícono del check y elegimos la placa
Arduino uno.

Si todo está correcto exportamos el trabajo a


binario compilado ya que proteus admite
solo archivos .hex y no .ino .

Hacemos doble clic en el dispositivo arduino


y en la opción “Program File” elegimos el
archivo .hex que se ha creado al momento de
exportar a binario compilado en Arduino IDE.

Nos creara todos los siguientes archivos:

Ahora , regresamos a proteus para hacer la


conexión externa del archivo hex de arduino Con todos estos pasos , hemos culminado la
y del SD. simulación de obtención de datos del
potenciómetro. Ahora corremos la
En “edit properties” del SD , en la opción simulación ( Run the simulation) y los datos
Card image file elegimos el SD virtual que que obtendremos se guardarán en la
hemos creado inicialmente. memoria SD virtual.

24
25
● LED GREEN/RED/YELLOW.
2.4. RECOPILACIÓN DE DATOS DE LA
TEMPERATURA Y HUMEDAD CON PROTEUS
Y ARDUINO
Esto es muy utilizado para invernaderos , en
nuestro caso lo estamos lo estamos ● LM044L: Es un tipo de pantalla LCD
relacionando con la memoria virtual SD para alfanumérica de 4 líneas por 20
que los datos se guarden dentro de ellas, caracteres.
esto mediante una simulación utilizando
código en Arduino IDE y para la
representación usaremos proteus.

Lo que vamos a representar en proteus es


que si tenemos una temperatura menor a 28
C , se va a encender el led verde y aparecerá
un mensaje en el LCD1 que nos dirá que todo
está estable o correcto. Si la temperatura
está entre 28C Y 33C se va a encender el led
amarillo con un mensaje de precaución en el
LCD1. Por último si la temperatura es mayor ● MINRES10K: Una resistencia de 10
a 33 grados el led rojo se va a encender con kiloohmios es un valor comúnmente
un mensaje “ nocivo” o “peligro” en la LCD1. utilizado en circuitos electrónicos
Al igual que la simulación anterior , creamos para limitar la corriente o establecer
una nueva memoria SD virtual en WinImage. niveles de voltaje. En función del
contexto en el que se mencione
Los principales dispositivos que vamos a "MINRES10K", puede referirse a una
utilizar en proteus son los siguientes: resistencia con ese valor específico
que se utiliza en un diseño o
● DHT11: El DHT11 es un sensor de
aplicación particular.
temperatura y humedad utilizado en
aplicaciones electrónicas. En Proteus,
el DHT11 es un componente virtual
que simula las funciones de un
sensor DHT11 en un entorno de
diseño y simulación.

● MINRES220R: El componente
"MINRES220R" en Proteus parece
referirse a una resistencia de 220
ohmios (Ω). En Proteus, las
resistencias son componentes

26
electrónicos que se utilizan para ● SIMULIDO UNO.
limitar o controlar el flujo de
corriente en un circuito.

● PCF8574: El PCF8574 es
comúnmente utilizado para expandir
la capacidad de E/S de un
microcontrolador, ya que permite
controlar hasta 8 dispositivos
externos utilizando solo dos pines del
microcontrolador. Proporciona una
interfaz simple de comunicación
serie I2C (Inter-Integrated Circuit)
para la transferencia de datos.
También añadimos un “terminal
virtual” desde la parte izquierda de
la zona de trabajo , en la opción
“Virtual Instruments Mode” Esta
terminal nos va a ayudar a
comprobar de que la simulación se
va a realizar de manera exitosa.

Estos dispositivos lo trasladamos a la


● SD. zona de trabajo central y hacemos las
conexiones de la siguiente forma:

27
28
Finalizada la estructura en proteus, abrimos el programa Arduino IDE, creamos una nueva hoja de trabajo y escribimos lo siguiente:
#include <SD.h> if (!SD.begin(4)) {

#include <DHT.h> Serial.println("No se pudo inicializar");

#include <LiquidCrystal_I2C.h> return;

#include <Wire.h> }

File myFile; Serial.println("inicializacion exitosa");

LiquidCrystal_I2C lcd1(0x27, 20, 4); }

int sensor = 2; void loop() {

DHT dht(sensor, DHT11); myFile = SD.open("thl.txt", FILE_WRITE);

int temperatura; if (myFile) {

int humedad; humedad = dht.readHumidity();

String texto; temperatura = dht.readTemperature();

void setup() { myFile.print("Temperatura: ");

lcd1.init(); myFile.print(temperatura);

dht.begin(); myFile.print(",");

Serial.begin(9600); myFile.print("Humedad: ");

pinMode(6, OUTPUT); myFile.print(humedad);

pinMode(7, OUTPUT); myFile.print(",");

pinMode(8, OUTPUT); myFile.print("Estado:");

Serial.print("Iniciando SD..."); myFile.println(texto);

29
delay(500); }

myFile.close(); if (temperatura > 28 && temperatura < 33) {

lcd1.setCursor(0, 0); digitalWrite(8, 0);

lcd1.print("Invernadero"); digitalWrite(7, 1);

lcd1.setCursor(0, 1); digitalWrite(6, 0);

lcd1.print("Temperatura:"); texto = "Precaucion";

lcd1.print(temperatura); }

lcd1.print("C"); if (temperatura > 33) {

lcd1.setCursor(0, 2); digitalWrite(8, 0);

lcd1.print("Humedad:"); digitalWrite(7, 0);

lcd1.print(humedad); digitalWrite(6, 1);

lcd1.print("%"); texto = "Nocivo !!";

lcd1.setCursor(0, 3); }

lcd1.print(texto); }

delay(500); else {

if (temperatura < 28) { Serial.println("Error al abrir el archivo");

digitalWrite(8, 1); }

digitalWrite(7, 0); delay(100);

digitalWrite(6, 0); }

texto = "Estable";

30
Al estar todo listo se selecciona el archivo “.hex” que requiere el “simulino uno” en proteus, lo mismo con el SD virtual, seleccionamos el
que habíamos creado inicialmente. Ahora corremos la simulación en proteus ( Run the simulation) y los datos que obtendremos se
guardarán en la memoria SD virtual.

31
CONCLUSIÓN
2.5. REGISTRO DE PULSOS CON ARDUINO
UNO En conclusión, el ámbito de la memoria en
Esta práctica con ARDUINO UNO es una todos sus usos del cómputo presenta
divertida forma de aprender como un desafíos significativos que afectan la
microcontrolador puede recordar las eficiencia y el rendimiento de los sistemas
pulsaciones que hacemos mediante un informáticos. La fragmentación de la
pulsador y representar con un DIODO LED. memoria es una de las problemáticas más
comunes en este ámbito, y puede
Utilizando los componentes mencionados, se manifestarse en forma de fragmentación
puede crear un circuito que permita al externa e interna.
usuario controlar el color del LED RGB, el
tono del zumbador y el estado del pulsador.
El Arduino Uno se conecta a los La fragmentación de la memoria puede llevar
componentes a través de los pines de a una asignación ineficiente de los recursos
entrada y salida, y se programa para de memoria, desperdicio de espacio y una
controlar los componentes. Las resistencias disminución del rendimiento del sistema. Sin
de 1k y 10k se usan para limitar la corriente y embargo, existen diversas metodologías y
evitar daños en los componentes. El LED RGB técnicas que pueden ayudar a mitigar esta
se controla mediante una señal PWM, problemática, como la asignación dinámica
mientras que el zumbador se controla de memoria, el uso de algoritmos de
mediante una señal digital. El pulsador se usa asignación más eficientes, la compactación
para cambiar el estado del circuito. El de memoria, el uso de memoria virtual, la
proyecto es una excelente forma de aprender optimización de algoritmos y estructuras de
los conceptos básicos de electrónica y datos, establecer límites de memoria para
programación. procesos y realizar una monitorización y
El funcionamiento de este circuito es ajuste del sistema.
bastante sencillo. Cuando se presiona el
pulsador, el diodo LED se enciende y el
zumbador emite un sonido. Esto indica que Es fundamental entender y abordar
Arduino está guardando el tiempo que se ha adecuadamente la problemática de la
mantenido presionado el pulsador. Cuando memoria en el ámbito del cómputo para
se deja de presionar el pulsador, Arduino garantizar una gestión eficiente de los
también guarda el tiempo y luego lo repite. recursos y lograr un rendimiento óptimo de
Esto significa que el circuito seguirá los sistemas informáticos. El avance continuo
encendiendo el LED y el zumbador durante el en el diseño de hardware y software, así
mismo tiempo que se mantuvo presionado el como la implementación de mejores
pulsador. Esto es útil para medir el tiempo de prácticas en la gestión de la memoria, son
una actividad o para crear un temporizador. aspectos clave para superar los desafíos y
aprovechar al máximo los recursos de
memoria disponibles en todos los usos del
cómputo.

32
REFERENCIAS

Camacho Nieto, O., Villa Vargas, L. A., Díaz de


León Santiago, J. L., & Yáñez Márquez,
C. (2003). Diseño de Sistemas de
Memoria Cache de Alto Rendimiento
aplicando Algoritmos de Acceso
Seudo-Especulativo. Computación y
Sistemas, 7(2),
130-147.https://pistaseducativas.celay
a.tecnm.mx/index.php/pistas/article/vi
ew/1922.

Carmona, E. V. V., López, R. V., & Lozada, J. C.


H. (2020). DESARROLLO DE UN
SIMULADOR PARA ALGORITMOS DE
SUSTITUCIÓN Y ESCRITURA DE
MEMORIA CACHÉ (DEVELOPMENT OF
A SIMULATOR FOR CACHE
REPLACEMENT ALGORITHMS AND
WRITING). Pistas Educativas,
41(135).https://pistaseducativas.celay
a.tecnm.mx/index.php/pistas/article/vi
ew/1922.

Prada Cazalla, I. (2019). Detección de ataques


basados en el comportamiento
temporal de la cache usando
contadores
hardware.https://eprints.ucm.es/id/ep
rint/56497/

33

También podría gustarte