0% encontró este documento útil (0 votos)
4 vistas10 páginas

Fundamentos de Hardware y Sistemas Embebidos

El documento aborda conceptos fundamentales de hardware y arquitectura de computadoras, incluyendo la diferencia entre plaquetas de circuito y sistemas embebidos, así como el funcionamiento de microcontroladores y microprocesadores. Se describe la estructura básica de una computadora según el modelo de Von Neumann, el flujo de datos entre memoria y procesador, y la jerarquía de memoria. Además, se introducen conceptos de virtualización y comandos básicos de Linux para el desarrollo de software.

Cargado por

andreolisofia07
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas10 páginas

Fundamentos de Hardware y Sistemas Embebidos

El documento aborda conceptos fundamentales de hardware y arquitectura de computadoras, incluyendo la diferencia entre plaquetas de circuito y sistemas embebidos, así como el funcionamiento de microcontroladores y microprocesadores. Se describe la estructura básica de una computadora según el modelo de Von Neumann, el flujo de datos entre memoria y procesador, y la jerarquía de memoria. Además, se introducen conceptos de virtualización y comandos básicos de Linux para el desarrollo de software.

Cargado por

andreolisofia07
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Resumen Lab.

de Compu-Hardware

Plaquetas de circuito comunes→placas físicas con caminos de cobre que conectan componentes electrónicos
(LEDs, resistencias,transistores). No tienen procesador, por lo que no ejecutan instrucciones ni toman
decisiones.

Sistemas embebidos (Arduino o microcontrolador)→sí tienen procesador, ejecutan programas, toman


decisiones y controlan otros dispositivos. A diferencia de las plaquetas comunes, los sistemas embebidos
pueden interactuar con el entorno usando sensores y realizar tareas más complejas, ya que están
programados para hacerlo.

Microcontrolador→controlador pequeño. Remite a que tiene menos recursos, por lo que cumple una sola
función a la vez. Más limitado pero más barato, pequeño y eficiente.
Está en todos los dispositivos electrodomésticos (lavarropas, aire ,etc). Varios de estos juntados y
comandados, forman una computadora.
Un microcontrolador puede controlar todo el sistema: recibe datos de sensores (temperatura, humedad), los
procesa, y da órdenes a los componentes (ventilador, compresor, difusor). Se usan puertos de entrada y
salida, buses de datos (líneas verdes en el KiCad), y memoria interna para tomar decisiones y ejecutar
instrucciones
≠ Microprocesador (como los de una PC del modelo VN)→es de menor tamaño, pero tiene más recursos y
cada vez son más potentes

Computadora→ Sistema con datos de entrada, núcleo de procesamiento y datos de salida.


Todo lo que entra a una computadora se pasa a sistema binario (0 y 1). Cualquier datos se convierte en
lineas de bits.
Para medir la cantidad de información que se maneja, usamos unidades basadas en el byte (1 byte = 8
bits).Se usan múltiplos binarios, basados en potencias de 2:

Ejemplo:
1 Megabyte (MB) = 2²⁰ = 1.048.576 bytes
Si tenes 3MB → 3 × 1.048.576 = 3.145.728 bytes
×8=25.165.824 bits

Código ASCII→tabla que asigna un número único a cada carácter xq la compu necesita codificar caracteres
en binario. Ej: La letra A es el número 65 (en decimal), que en binario es 01000001​
-Sistema hexadecimal: sistema de numeración en base 16, a diferencia del sistema decimal que es base 10.
Usa 16 símbolos para contar:
Del 0 al 9 → igual que en decimal​
Del 10 al 15 → se representan con letras:​
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
Con 8 bits puedo representar los 256 elementos de este código. En hexadecimal (que tiene 16 elementos
para representar en binario) necesitaría 4 bits
Von Neumann→Estructura de una computadora. Se basa en que la computadora guarda tanto los datos como
las instrucciones (programas) en la misma memoria
Componentes para que sea una computadora (5):

1.​ Entrada: introducir datos.


2.​ Memoria interna (RAM, caché y registros):​
Es volátil: los datos almacenados en la memoria se pierden cuando se apaga la computadora.​
La memoria interna guarda los datos e instrucciones que el procesador necesita para ejecutar el
programa.
3.​ Memoria externa (Disco duro, pendrive, etc.):​
Es no volátil: Los datos en la memoria externa se mantienen incluso sin energía.​
Acá se almacenan programas, archivos y el Sistema Operativo.
4.​ Unidad de control (CU) + Unidad aritmético-lógica (ALU) = Procesador (CPU):​
-Unidad de control (CU): Coordinar las instrucciones del programa y las acciones del procesador.​
-Unidad aritmético-lógica (ALU): hace operaciones matemáticas y lógicas que se requieren para
procesar los datos.​
Forman el procesador (CPU), que es el cerebro de la computadora
5.​ Salida: permiten que el usuario vea la información procesada.

Debe existir compatibilidad entre el procesador y la memoria (tanto interna como externa) porque la memoria interna
(RAM) es más rápida que la externa, pero el procesador debe poder leer y escribir en ella de manera eficiente. Si no
hay compatibilidad, el procesador no podría aprovechar la memoria de manera adecuada, y la computadora no
funcionará bien.
Flujo de datos entre memoria y procesador:

1.​ La memoria externa (como un disco duro) guarda los datos permanentemente, pero estos no
pueden ser procesados directamente por el CPU. Entonces, se cargan a la memoria interna (como
la RAM).
2.​ La memoria interna (RAM) es más rápida que la memoria externa, pero es volátil, por lo que los
datos solo permanecen ahí mientras el sistema está encendido. El CPU accede a la memoria interna,
que tiene tanto los datos como las instrucciones del programa.
3.​ El procesador (CPU) extrae los datos de la memoria interna de forma secuencial. Va tomando los
datos poco a poco para realizar las operaciones que requiere el programa. Si los datos pasaran
directamente de la memoria externa al CPU, el proceso sería mucho más lento, porque la memoria
externa es más lenta que la interna.

Ciclo de ejecución de instrucciones (buscar (fetch)→Decodificar→Ejecutar→Almacenar (store))

1.​ Las instrucciones de la memoria interna se descargan (cargan) en la CU


2.​ La CU interpreta la instrucción y envía señales para que se ejecute.
3.​ Si es una operación matemática, la ALU realiza el cálculo.
4.​ El resultado se guarda nuevamente en la memoria interna (MI).

Dinámica interna del procesador y el clock→cómo interactúan los componentes internos, especialmente
dentro del procesador. Que está compuesto por la ALU (operaciones matemáticas y lógicas), y la CU (Unidad
de Control), que dirige todo el funcionamiento. Las instrucciones se descargan en la CU, que las interpreta,
luego la ALU calcula y finalmente los resultados se almacenan en la memoria interna.

Funcionamiento sincronizado por clock interno, genera impulsos (1 y 0). Cada ciclo de reloj es un cuadrado y
su duración se llama tiempo. Se representa en un eje cartesiano:​
Eje X = tiempo.​
Eje Y = amplitud (representando bits: 0 o 1).
Frecuencia [Hz] = cuántos ciclos ocurren en un segundo. A mayor frecuencia, menor es el tiempo de cada
ciclo y menos tiempo tarda cada instrucción⇒puede ejecutar más instrucciones por segundo.
*Una instrucción se puede ejecutar en cualquier momento dentro de 1T. Significa que mientras el reloj va
marcando los tiempos, las instrucciones no esperan a que termine un ciclo entero: pueden ejecutarse en
cualquier punto de ese ciclo.
La CU recibe señales de estado de otras partes que le informan cómo están funcionando, y también emite
señales de control hacia los componentes para indicar qué hacer. Todo esto permite que la computadora
procese datos de forma organizada y rápida.

Modelo de memoria: (memoria interna tipo RAM)

Formada por celdas organizadas en posiciones numeradas, llamadas direcciones.​


Cada celda tiene un contenido que puede ser: un dato (número o letra), una instrucción que el CPU debe
ejecutar o una dirección hacia otra celda.
La cantidad total de celdas es 2⁸ = 256 (0 hasta el 255), porque se usan 8 bits para identificar las direcciones.​

Todo está integrado dentro del mismo chip, incluyendo el procesador y la memoria (interna y externa).

1.​ Núcleo procesador: pequeño pero eficiente


2.​ Memorias:
●​ RAM (memoria de acceso aleatorio): memoria interna de acceso de lectura y escritura, puede acceder
a cualquier dato al mismo tiempo. Es volátil (se borra al apagar).
●​ Flash: similar a la RAM pero no volátil y más lenta, usada para guardar datos o programas.
●​ ROM: solo lectura, el contenido no se puede modificar.
●​ PROM: programable una sola vez.
●​ EPROM: se puede borrar mecánicamente (exposición a luz ultravioleta) y volver a programar.
●​ EEPROM: como la EPROM pero se borra eléctricamente; es no volátil aunque más lenta que la Flash.
3.​ Conversor Analógico/Digital (A/D o ADC)​
Transforma señales (como temperatura, luz, sonido) en datos digitales (1 y 0)
4.​ Conversor Digital/Analógico (D/A o DAC)​
Convierte 1 y 0 en señales que las personas o máquinas pueden captar, como sonido (altavoces) o
voltajes para motores.
5.​ Temporizador: Sirve para dividir el tiempo en partes exactas, por ejemplo para saber cuánto dura una
tarea o cuándo repetir una acción.​
Se sincroniza con el clock principal del sistema.

Flechas verdes en KiCad → BUS: conjunto de líneas (pistas) que transportan datos entre distintos
componentes.​
Permiten que la memoria, el procesador y los periféricos se comuniquen entre sí.​
Estructuras Básicas de Interconexión

Conexión entre componentes se realiza a través del bus del sistema (conjunto de pistas que van de A a B
llevando información, líneas paralelas que conectan dos puntos y pueden transmitir una trama de bits). Es
como una autopista por donde circula la información entre los distintos componentes.

Componentes principales:
CPU: Es el procesador central, ejecuta instrucciones y procesa datos.
Memoria: Guarda los datos e instrucciones que necesita el CPU para funcionar.
Periféricos: Dispositivos como impresoras, teclados o discos externos.
Bus: Es el canal de comunicación entre CPU, memoria y periféricos. Transporta datos, direcciones y señales
de control.

¿Cómo se conectan?

1.​ Inicialmente, CPU se conecta directamente a la memoria, porque es su fuente principal de datos e
instrucciones.
•Problema: Si la memoria está ocupada, los periféricos no pueden comunicarse correctamente.
•Desventaja: El CPU es muy rápido, pero los periféricos (como la impresora) son muy lentos. Esto
genera cuellos de botella.
2.​ Entonces se implementa un bus del sistema común donde todos los dispositivos se conectan:
•CPU, memoria y periféricos comparten el mismo bus.
•Nuevo problema: Solo un dispositivo puede usar el bus a la vez, por lo tanto, hay competencia por
acceder al bus (por ejemplo, CPU e impresora al mismo tiempo).

Soluciones implementadas:
•Se divide la memoria:
•Memoria principal: usada por todo el sistema.
•Memoria caché: exclusiva del CPU, permite que tenga acceso rápido a los datos sin tener que esperar.
•Se agregan controladores de entrada y salida, que regulan qué periférico accede al bus y cuándo.
•Cada controlador puede tener su propio bus interno.
•Se crea un canal que conecta el bus del sistema con los controladores.
•Se incorpora la técnica de DMA (Acceso Directo a Memoria): Permite que los periféricos se comuniquen
directamente con la memoria sin pasar por el CPU.
•Esto libera al CPU de tareas lentas y mejora el rendimiento.
Arquitectura moderna

•NB (North Bridge): Gestiona la memoria principal y la comunicación con el procesador.


•SB (South Bridge): Conecta los periféricos y gestiona la memoria externa y los controladores de
entrada/salida.
•Chipset: Conjunto formado por el North y South Bridge. Regula la comunicación entre todos los
componentes.
•Placa gráfica: Hoy en día se encuentra integrada dentro del procesador o en una ranura PCI Express.
Administra la información de video y pantalla.
•Super I/O: Controla periféricos de baja prioridad como el mouse, teclado, puertos serie, etc.
•Flash ROM (BIOS): Contiene la información básica de arranque y cómo se interconectan los componentes
del hardware. Se usa solo al encender la computadora.

Unidad 2: Sistemas de memoria


Compuesto por todos los dispositivos que permiten almacenar y recuperar datos. Memoria se mide en bytes
(1 bytes=8 bits)

Memoria estática y memoria dinámica


●​ RAM estáticas o SRAM (Static Random Access Memory) en las que cada celda de memoria (circuito
capaz de almacenar un bit) está constituida por un biestable de unos 6 transistores. Volátil.
●​ RAM dinámica o DRAM (Dynamic Random Access Memory) consta básicamente de tan solo un
transistor funcionando como condensador que almacena la carga correspondiente al valor binario
que memoriza. No volátil.
Al comprar una RAM, es la dinámica
Cada celda para la dinámica es un condensador (un capacitor), El transistor hace que el condensador pierda
memoria, se va drenando la energía→se puede producir una indeterminación, no se sabe si es 1 o 0
Hay “algo” para refrescar la memoria, lo hace constantemente para mantener un nivel no indeterminado.
Entonces la dinámica es más lenta
La estática no tiene tasa de refresco, es más rápida porque tiene menor tiempo de acceso

Acceso de lectura: cuando el procesador solicita un dato de memoria.


Acceso de escritura: cuando el procesador guarda un dato en memoria.
Acierto: cuando se solicita el contenido de una dirección de memoria en un determinado nivel y el mismo se
encuentra allí.
Fallo: Si no es Acierto.
Cuando se produce un fallo: pantalla azul por ejemplo

Parámetros para entender la memoria


●​ Tiempo de acceso o latencia: tiempo que le toma a la memoria escribir y leer, escritura suele ser más
larga.
●​ Ciclo de memoria: al acceder a la memoria hay que esperar un tiempo para hacer otro acceso (escribir
o leer).
●​ Ancho de banda: se mide en bytes por segundo, cuántos bytes por segundo se pueden transmitir entre
la memoria y el procesador.
Relación entre tiempo de acceso y ancho de banda: Más bytes por segundo, mayor ancho de banda→ menos
tiempo de acceso
Bus de interconexión entre la memoria y el procesador→el tiempo de acceso puede variar por el ancho del
bus. Un bus más amplio permite transmitir más datos simultáneamente.

Caché: un desprendimiento de la memoria

Jerarquía de memoria: El objetivo de la jerarquía es acercar los datos más usados al procesador y reducir
los tiempos de espera.

Según su velocidad, capacidad y costo:

1.​ Registros del procesador (nivel -1): los más rápidos y pequeños. Acceso inmediato.
2.​ Memoria caché (niveles L1, L2, L3): SRAM muy rápida. Almacena datos frecuentemente usados para
que el CPU no tenga que acceder a la RAM todo el tiempo.
3.​ Memoria principal (RAM): DRAM. Mayor capacidad, más lenta que la caché.
4.​ Almacenamiento secundario: SSD o HDD. Mucho más lento, pero con gran capacidad.
5.​ Almacenamiento terciario: cintas magnéticas, discos ópticos, backups o nube.

Slots (palabras con bits) dedicadas al CPU


El procesador estaría en el nivel -1
El CPU escribe y lee
Un bloque de la caché migra hacia los registros

Software:

Guía de Introducción a Herramientas y Tecnologías de Desarrollo

1. Virtualización: tecnología que permite crear una versión virtual de un recurso tecnológico, como un sistema
operativo, un servidor, un dispositivo de almacenamiento o recursos de [Link] ahorro de costos en
hardware, facilidad para realizar pruebas en distintos entornos y aislamiento entre sistemas.

●​ Virtualización de hardware: permite ejecutar múltiples sistemas operativos en una sola máquina física
mediante hipervisores.
●​ Virtualización de software: simula entornos de ejecución para aplicaciones.

Herramientas comunes: VirtualBox (solución de código abierto para ejecutar múltiples sistemas operativos en
una misma máquina) y VMware (plataforma comercial de virtualización con muchas opciones avanzadas).

2. Comandos Básicos de Linux Sistema operativo de código abierto ampliamente utilizado en servidores y
desarrollo.

- pwd: muestra el directorio actual.


- ls: lista los archivos y carpetas del directorio.
-cd [ruta]: cambia de directorio.
- mkdir [nombre]: crea un nuevo directorio.
- rm [archivo]: elimina un archivo.
- cp [origen] [destino]: copia archivos o directorios.
-mv [origen] [destino]: mueve o renombra archivos.
- chmod [permisos] [archivo]: cambia los permisos de un archivo.
- sudo: permite ejecutar comandos con privilegios de superusuario.

3. Comandos Básicos de Git sistema de control de versiones que permite llevar un registro de los cambios
realizados en archivos de código y colaborar con otros desarrolladores.

- git init: inicializa un nuevo repositorio.


- git clone [url]: clona un repositorio remoto.
- git status: muestra el estado de los archivos en el repositorio.
- git add [archivo]: añade archivos al área de preparación.
- git commit -m "mensaje": guarda los cambios con un mensaje.
- git push: sube los cambios al repositorio remoto.
- git pull: descarga y aplica cambios del repositorio remoto.
- git log: muestra el historial de commits.

4. Programación Web: Consiste en crear sitios y aplicaciones que se ejecutan en navegadores. Se compone
principalmente de:

- HTML (HyperText Markup Language): define la estructura del contenido.


- CSS (Cascading Style Sheets): estiliza el contenido (colores, fuentes, disposición).
- JavaScript: agrega interactividad y lógica dinámica al sitio.

Ejemplo básico de estructura HTML:

```html
<!DOCTYPE html>
<html>
<head>
<title>Mi primera página</title>
</head>
<body>
<h1>Hola mundo</h1>
<p>Este es un sitio web básico.</p>
</body>
</html>

Etiquetas HTML comunes y sus usos:

- <a>: crea enlaces a otras páginas o sitios. Ejemplo: `<a href="[Link]


- <p>: define un párrafo. Ejemplo: `<p>Este es un párrafo.</p>`
- <div>: contenedor genérico usado para agrupar contenido. Ejemplo: `<div class="seccion">Contenido</div>`
- <select>: crea un menú desplegable. Ejemplo:

<select>
<option>Opción 1</option>
<option>Opción 2</option>
</select>

- <img>: inserta imágenes. Ejemplo: `<img src="[Link]" alt="Descripción">`


- <strong>: resalta texto importante en negrita. Ejemplo: `<strong>Importante</strong>`
- <span>: contenedor en línea para aplicar estilos. Ejemplo: `<span style="color:red">Texto rojo</span>`
- <ol>: lista ordenada. Ejemplo:

<ol>
<li>Elemento 1</li>
<li>Elemento 2</li>
</ol>

- <ul>: lista desordenada. Ejemplo:

<ul>
<li>Elemento A</li>
<li>Elemento B</li>
</ul>

- <iframe>: incrusta otra página web dentro de la actual. Ejemplo:


<iframe src="[Link]

Además, se utilizan frameworks como React, Angular y librerías como Bootstrap para agilizar el desarrollo.

Conceptos básicos de CSS:

- Selector por etiqueta: Aplica estilos a todas las etiquetas del mismo tipo.

p{
color: blue; }

- Selector por ID: Aplica estilos a un único elemento identificado con un atributo `id`.

#titulo {
font-size: 24px;
color: green; }

- Selector por clase: Aplica estilos a uno o varios elementos con el mismo atributo `class`.

.destacado {
background-color: yellow;
font-weight: bold; }

Permiten personalizar la presentación visual del contenido HTML, separando estructura (HTML) de estilo
(CSS).

También podría gustarte