Resumen Arquitectura Unidad 1,2,3
Resumen Arquitectura Unidad 1,2,3
Unidad 1]
1) Reseña Histórica:
Durante siglos, los seres humanos han buscado formas de simplificar y agilizar sus tareas
mediante el uso de diversas herramientas y fuerzas. Desde los primeros métodos de contar con
los dedos, piedras o semillas hasta la invención del ábaco, que combina principios de conteo y
posición para realizar cálculos aritméticos precisos con rapidez, la historia de los artefactos
calculadores se remonta a tiempos antiguos.
En el siglo XVII, en Occidente, la regla de cálculo fue una innovación significativa, basada en los
descubrimientos de John Napier, Edmund Gunter y William Bissaker. Napier desarrolló los
logaritmos, Gunter los marcó en una regla, y Bissaker los integró en un dispositivo de madera,
evolucionando con el tiempo hacia calculadoras de bolsillo muy versátiles.
Para el año 1700, tanto el ábaco como las calculadoras analógicas como la regla de cálculo eran
comunes en Europa. La siguiente gran innovación llegó con la Pascalina en el siglo XVII,
considerada la primera máquina de calcular mecánica, seguida por la máquina diferencial de
Charles Babbage en el siglo XIX, precursora de la computadora moderna.
El verdadero avance hacia las computadoras modernas ocurrió en el siglo XX, con la aparición
de la Mark I en 1944, seguida por ENIAC en 1946, la primera computadora electrónica. Estas
máquinas iniciales, aunque pesadas y lentas comparadas con las actuales, sentaron las bases
para los desarrollos futuros.
El advenimiento de los transistores y los circuitos integrados en las décadas de 1950 y 1960
marcó el comienzo de una nueva era. Los transistores permitieron la miniaturización de
componentes, aumentando la velocidad y la eficiencia energética de los sistemas
computacionales. Esto condujo a las generaciones sucesivas de computadoras, cada vez más
pequeñas, rápidas y capaces de realizar una amplia gama de tareas.
La introducción del microprocesador en la década de 1970 fue otro hito crucial, llevando la
computación a niveles de integración y capacidad sin precedentes. Esto facilitó el desarrollo de
la inteligencia artificial y la expansión de las aplicaciones informáticas en campos tan diversos
como la medicina, la industria, la educación y más allá.
En resumen, desde los humildes orígenes del ábaco hasta la sofisticación de las computadoras
modernas y la inteligencia artificial, la historia de la computación es una evolución continua de
innovación y avance tecnológico que ha transformado profundamente nuestras vidas y
sociedades.
El hardware comprende todas las partes físicas y tangibles de una computadora, como la placa
base, CPU, memoria RAM, discos duros, entre otros componentes electrónicos y mecánicos
que permiten el funcionamiento del sistema.
Por otro lado, el software se refiere al conjunto de componentes lógicos que hacen posible
realizar tareas específicas en una computadora. Incluye desde aplicaciones como procesadores
de texto hasta sistemas operativos que permiten la interacción entre el usuario, los programas
y el hardware físico, facilitando así el funcionamiento de las computadoras de manera eficiente
y efectiva.
El Código BCD (Decimal Codificado en Binario) es una forma de representar números decimales
utilizando combinaciones de dígitos binarios de 4 bits. A diferencia de la conversión directa
entre números decimales y binarios estándar, donde no hay una relación directa entre cada
dígito decimal y binario, el BCD asigna un conjunto específico de bits para cada dígito decimal
del 0 al 9.
En el sistema BCD, cada dígito decimal se representa con exactamente cuatro bits, siguiendo un
sistema ponderado donde los pesos de cada bit son 8, 4, 2, y 1. Por ejemplo, el número
decimal 5 se representa en BCD como 0101, donde el primer bit corresponde al peso 8, el
segundo al peso 4, el tercero al peso 2, y el cuarto al peso 1. Esto permite una fácil conversión
de binario a decimal mediante la suma ponderada de los bits.
Es importante destacar que en el BCD natural, solo se utilizan combinaciones de 4 bits para
representar los dígitos del 0 al 9. Los valores binarios del 1010 al 1111 no tienen
representación válida en BCD porque no corresponden a dígitos decimales.
3)B) Sistemas numéricos de distintas bases, operaciones básicas, resta por complemento :
Los sistemas de numeración son métodos para representar números usando símbolos y reglas
específicas. El sistema decimal es el más común, compuesto por diez dígitos (0-9) que
adquieren valores según su posición en la cifra (unidades, decenas, centenas, etc.). Por
ejemplo, el número 528 se descompone en 5 centenas, 2 decenas y 8 unidades, representado
matemáticamente como 5⋅10^2+2⋅10^1+8⋅10^0=528
El sistema binario utiliza solo dos dígitos (0 y 1), donde cada posición representa una potencia
de base 2. Por ejemplo, el número binario 1011 se calcula como 1⋅2^3+0⋅2^2+1⋅2^1+1⋅2^0=11
en decimal.
Los sistemas octal (base 8) y hexadecimal (base 16) se utilizan para simplificar la representación
de números binarios largos. Octal utiliza 8 dígitos (0-7) y hexadecimal utiliza 16 dígitos (0-9 y A-
F), donde A-F representan valores del 10 al 15. La conversión entre estos sistemas se realiza
expandiendo o contrayendo los dígitos según corresponda.
La aritmética binaria incluye operaciones como suma, resta, multiplicación y división. La suma
binaria es simple (0+0=0, 0+1=1, 1+1=10), con acarreo cuando el resultado supera 1. La resta se
puede simplificar usando el complemento a dos del sustraendo. La multiplicación y división en
binario son igualmente directas debido a la limitada gama de dígitos (0 y 1).
El código Gray también es cíclico, lo que significa que el primer y el último número están
conectados, diferenciándose también solo en un bit. Esto es útil en aplicaciones donde la
precisión y la confiabilidad en la transmisión de datos son críticas.
Para generar los números en Código Gray, se comienza con un bit y se van agregando más bits
conforme se necesitan para representar un rango mayor de números. A medida que aumenta
el número de bits, se sigue la regla específica de Gray para garantizar que la transición entre los
números sea correcta.
Aunque el Código Gray no es una representación matemática directa de los números, sino más
bien una técnica de codificación, es posible convertir entre valores en Código Gray y valores
binarios estándar cuando se requieren operaciones matemáticas sobre los números.
En resumen, el Código Gray ofrece una forma eficiente de representar números binarios donde
las transiciones entre valores adyacentes son mínimas, lo que lo hace útil en aplicaciones que
necesitan minimizar errores de transmisión y asegurar la integridad de los datos.
La electrónica digital se enfoca en dispositivos, circuitos y sistemas que utilizan señales binarias
(1 y 0) en lugar de señales continuas de voltaje como en la electrónica analógica. Un bit
representa estos dos estados lógicos: alto (1) para presencia de voltaje y bajo (0) para ausencia
de voltaje. Los circuitos digitales son rápidos y están compuestos por interruptores que pueden
estar abiertos o cerrados, formando patrones de unos y ceros.
5) Circuitos Integrados:
Existen varios tipos de encapsulados, siendo el más común el DIP (Dual In-line Package). Los CI
varían en tamaño y complejidad, desde simples compuertas hasta microprocesadores
completos.
Los CI se clasifican según la cantidad de compuertas en SSI, MSI, LSI y VLSI, afectando su
complejidad y tamaño.
En resumen, los CI son esenciales para la electrónica moderna debido a su capacidad para
integrar múltiples funciones en un solo chip, gracias a procesos de fabricación avanzados y
precisos.
6) Estructura de un microcomputador:
La unidad de entrada recibe datos del entorno externo, como teclados, sensores o dispositivos
de grabación, y los transfiere a la memoria para su procesamiento. La unidad de salida entrega
los resultados procesados a dispositivos externos como impresoras o monitores.
La memoria almacena programas y datos en dos tipos principales: RAM, que permite la lectura
y escritura de datos durante la ejecución de programas, y ROM, que contiene instrucciones
permanentes que no pueden ser modificadas. Existe también la memoria caché para
almacenar datos usados frecuentemente y mejorar la velocidad de acceso.
La CPU, compuesta por la unidad de control y la unidad aritmético-lógica (ALU), interpreta y
ejecuta instrucciones del programa. La unidad de control coordina las operaciones del sistema
y la ALU realiza operaciones matemáticas y lógicas fundamentales.
Estos componentes se comunican a través de buses que transportan señales digitales entre
ellos, coordinados por la unidad de control. Así, el microcomputador procesa información
siguiendo un ciclo básico: entrada de datos, procesamiento por la CPU, y salida de resultados
mediante la unidad de salida, todo bajo la supervisión de la unidad de control.
7) Concepto de BUSES:
Además de estos tres buses principales, puede haber buses específicos para la entrada/salida,
que conectan dispositivos periféricos especiales como impresoras o módems al sistema.
La estructura de buses varía dependiendo del microprocesador utilizado. Por ejemplo, el bus
del sistema del microprocesador 6800 es diferente al del 8085, en términos de ancho y tipo de
señales manejadas. Esto puede dificultar la interoperabilidad entre diferentes
microcomputadores, por lo que existen estándares normalizados como IEEE-488 y RS-232 para
facilitar la comunicación entre sistemas y periféricos.
Para escribir programas en lenguaje de máquina, se utilizan ensambladores para convertir las
instrucciones escritas en lenguaje ensamblador (más legible para los humanos) a lenguaje de
máquina. Aunque eficaz, escribir directamente en lenguaje de máquina puede ser tedioso y
propenso a errores, por lo que se desarrollaron lenguajes de alto nivel como Pascal, Cobol y
Basic, que son más comprensibles y menos propensos a errores.
Unidad 2]
1) Características principales:
La CPU está conectada a una única memoria principal (generalmente RAM) donde se
almacenan tanto las instrucciones del programa como los datos.
Utiliza un único bus para control, direcciones y datos, lo que significa que la CPU
accede secuencialmente a instrucciones y datos.
El tamaño de las instrucciones está limitado por el ancho del bus de datos, lo que
puede requerir múltiples accesos a memoria para instrucciones complejas.
2) Limitaciones:
Debido al único bus, la CPU no puede buscar nuevas instrucciones mientras está
esperando la transferencia de datos, lo que ralentiza la respuesta del sistema.
La velocidad de operación está limitada por el hecho de que no se pueden acceder
simultáneamente a datos e instrucciones.
Arquitectura Harvard:
1) Características principales:
La CPU está conectada a dos memorias separadas: una para almacenar las
instrucciones del programa (Memoria de Programa) y otra para almacenar datos
(Memoria de Datos).
Utiliza dos buses independientes para datos e instrucciones, lo que permite a la CPU
acceder de manera simultánea e independiente a ambos tipos de memoria.
Las memorias de instrucciones y datos pueden tener diferentes contenidos y
longitudes, lo que optimiza el uso de la memoria.
2) Ventajas:
Las instrucciones no están limitadas por el ancho del bus de datos, lo que permite
optimizar el tamaño y la velocidad de las instrucciones.
La CPU puede superponer el acceso a instrucciones y datos, mejorando
significativamente la velocidad de operación.
Es ideal para procesadores RISC, donde las instrucciones suelen ocupar una única
posición de memoria de programa, lo que acelera la ejecución y reduce la longitud del
programa.
En resumen, mientras que la arquitectura Von Neumann utiliza una memoria única y un bus
compartido para datos e instrucciones, lo que puede limitar la velocidad y eficiencia del
procesador, la arquitectura Harvard emplea dos buses separados que permiten acceso
simultáneo y optimización independiente de instrucciones y datos, resultando en un mejor
rendimiento y eficiencia para ciertos tipos de procesadores, como los RISC.
Por otro lado, los procesadores RISC optan por un conjunto reducido de instrucciones más
simples y uniformes, diseñadas para ejecutarse rápidamente sin necesidad de
microprogramación adicional. Esto se traduce en ciclos de reloj más cortos y una ejecución más
eficiente, aunque requiere una tecnología de compilación más avanzada y un acceso más
directo a la memoria.
En cuanto a la evolución y aplicaciones actuales, aunque hubo una época en que los RISC eran
predominantes en redes y CISC en computadoras domésticas, las líneas entre ambas
arquitecturas se han difuminado. Actualmente, los avances tecnológicos han permitido que los
CISC incorporen características de los RISC, manteniendo competitividad en términos de
rendimiento y costos. A pesar de la creciente popularidad de los RISC, especialmente en
entornos que requieren alta velocidad de procesamiento, los CISC siguen siendo relevantes
debido a su amplio soporte de software establecido.
En resumen, la elección entre arquitecturas CISC y RISC depende de las necesidades específicas
de rendimiento, compatibilidad y costos del sistema en su conjunto, más que de las
características puramente técnicas de cada procesador.
Aunque se basó en el diseño del 486, el Pentium añadió nuevas instrucciones y mejoró
drásticamente la unidad de punto flotante, que hasta entonces había sido subdesarrollada en
los procesadores x86. Esta mejora permitió competir efectivamente con los procesadores RISC
en aplicaciones exigentes como Windows NT.
En marzo de 1994, Intel lanzó la segunda generación de Pentium con velocidades más altas y
mejor eficiencia energética, reduciendo significativamente el consumo eléctrico y el calor
generado. Esta versión también introdujo características adicionales como el controlador APIC
y soporte para procesamiento dual en las placas base.
En enero de 1997, llegó la tercera generación de Pentium, conocida como Pentium MMX, que
incorporó la tecnología MMX con 57 nuevas instrucciones. Estas mejoras se centraron en
aplicaciones multimedia, proporcionando un rendimiento significativamente mejorado para
gráficos, audio y video.
Parte 2)
La combinación de estas técnicas permite a los procesadores modernos como el Pentium II,
Pentium III y Pentium IV manejar de manera más eficiente las instrucciones del software,
reduciendo los tiempos de espera y aumentando el rendimiento general de las aplicaciones.
Esto se logra al alterar el orden y predecir la necesidad de instrucciones antes de que se hayan
completado otras, maximizando así la utilización de los recursos del procesador.
5) Algebra de BOOLE:
En Electrónica Digital, las funciones booleanas se implementan usando operaciones como AND
(•), OR (+), y NOT, representadas por niveles de tensión (ALTO y BAJO). Las funciones pueden
simplificarse utilizando teoremas de Álgebra de Boole y métodos gráficos como los Mapas de
Karnaugh.
Unidad 3]
1) Montaje de Componentes de Hardware y Software:
Preparación:
Montaje en el gabinete:
Conexiones externas:
Conecta monitor, teclado, ratón, altavoces, impresora, módem, y cualquier otra unidad
externa según los puertos disponibles en la placa base y en el gabinete.
Ambos términos, "la BIOS" o "el BIOS", son utilizados en diferentes regiones para referirse al
mismo concepto. Acceder al BIOS/UEFi se logra pulsando una tecla específica al encender la
computadora, permitiendo ajustes de configuración como el idioma y el modo de arranque
(UEFi o Legacy).
El firmware puede ser ROM, EPROM, EEPROM o Flash, con esta última siendo la más común
debido a su capacidad de actualización sin requerir borrado previo. UEFi, por su parte, ofrece
un entorno más avanzado y puede incluso actuar como un sistema operativo básico para tareas
simples.
El particionado de discos puede ser MBR (Master Boot Record) o GPT (GUID Partition Table),
este último introducido con UEFi para superar las limitaciones de MBR en cuanto a número de
particiones y tamaño máximo de disco.
DMA permite a dispositivos hardware acceder directamente a la memoria sin usar la CPU,
mejorando el rendimiento al liberarla para otras tareas. Puede causar problemas de coherencia
de caché cuando la CPU y el DMA acceden a los mismos datos. Esto se maneja con cachés
coherentes o mediante software para invalidar la caché antes y después de las operaciones
DMA.
4) Interrupciones de Hardware:
Las Interrupciones de Hardware (IRQ) son señales que el hardware de una computadora envía
al microprocesador mediante líneas físicas dedicadas en la placa base. Estas interrupciones son
prioritarias y permiten a dispositivos como impresoras, tarjetas de sonido o redes comunicarse
con la CPU. Cuando un dispositivo necesita atención, envía una solicitud de interrupción al
procesador, que puede decidir atenderla de inmediato o posponerla según su prioridad.
Históricamente, las IRQ han evolucionado desde sistemas con 8 líneas a sistemas más
complejos con hasta 16 líneas, permitiendo una gestión más flexible de dispositivos y
prioridades. Los conflictos de IRQ ocurren cuando varios dispositivos comparten la misma línea
de interrupción, lo que puede resultar en malfuncionamientos del hardware si no se manejan
adecuadamente.
Con la introducción de tecnologías como PCI y Plug and Play (PnP), la asignación automática de
IRQ ha mejorado, aunque los usuarios avanzados a menudo deben intervenir para resolver
conflictos. En resumen, las IRQ son fundamentales para la comunicación eficiente entre
dispositivos y la CPU en sistemas informáticos modernos.
5) Tipos de Memoria:
Finalmente, las memorias se organizan físicamente en módulos SIMM y DIMM, con distintos
números de contactos y capacidades. La cantidad de memoria RAM es crucial para el
rendimiento del sistema, especialmente con sistemas operativos modernos.
6) Memoria Cache:
La memoria caché es un tipo de memoria de acceso aleatorio (RAM) mucho más rápida que la
memoria principal (RAM). Su principio de funcionamiento es almacenar una copia de los datos
y/o instrucciones más frecuentemente utilizadas por la CPU, para que esta pueda acceder a
ellos de manera más rápida que si tuviera que obtenerlos directamente de la memoria
principal.
Los objetivos principales de la memoria caché son:
Además de la caché integrada en el procesador (caché L1), también existe una caché externa
(caché L2) que mejora aún más el rendimiento al proporcionar un nivel adicional de memoria
rápida entre la CPU y la memoria principal.
Cuando se enciende una computadora, se activa el BIOS (Basic Input/Output System), que
realiza un autotest (POST o Power On Self Test) para verificar el buen funcionamiento de los
componentes clave como el procesador, la memoria, las interrupciones, el DMA, el reloj, la
ROM, el controlador de vídeo, el teclado y los discos.
El BIOS está compuesto por tres elementos: un programa de puesta en marcha con el autotest,
un programa para cargar el sistema operativo y un administrador de servicios.
Después del autotest, el BIOS carga el sistema operativo (DOS) en varias etapas: carga el
programa de inicio "boot", lee el archivo IO.SYS o IBMBIO.COM, carga el archivo DBLSPACE.BIN
(a partir de DOS 6) para leer discos comprimidos, carga el archivo MSDOS.SYS, ejecuta el
archivo CONFIG.SYS y finalmente carga el COMMAND.COM.
El BIOS también permite acceder al "Setup" para modificar la configuración del sistema, como
la fecha, hora, tipos de discos, parámetros de vídeo, etc. El Setup se activa al encender la
computadora, si se detecta un cambio de configuración o si el usuario lo solicita presionando
una tecla o combinación específica.
El Setup muestra pantallas divididas en secciones para modificar los parámetros básicos y
avanzados del sistema. Permite también cargar los valores por defecto del BIOS o de la
inicialización.