Episodio 1.3 – Arquitectura de computadores: niveles, IBM-PC y tendencias actuales
Tema 1 — Organización de Computadores
Parte del Curso Fundamentos de la Computación
Después de comprender los componentes físicos del computador y cómo interactúan entre sí, ahora damos un paso más abstracto y fundamental.
Ya no se trata de qué piezas existen, sino de cómo se organizan conceptualmente para que el sistema funcione de forma coherente.
Video del episodio
Qué aprenderás en este episodio
Al finalizar este contenido podrás:
- Comprender la arquitectura de computadores.
- Entender los niveles del sistema.
- Analizar la evolución del IBM-PC.
- Comprender cómo se representan y procesan los datos.
Representación y Almacenamiento de Datos
Antes de entender cómo se organiza un computador, es necesario comprender algo más básico:
Cómo se representa la información
Un computador no trabaja con letras, números o imágenes como los vemos nosotros. Trabaja con bits.
Para entender cómo trabaja un computador, hay que comenzar con los siguientes conceptos:
Guarismo:
Perteneciente o relativo a los números. Cada uno de los signos o cifras arábigas que expresan una cantidad. Expresión de cantidad compuesta de dos o más cifras.
Dígito:
El que puede expresarse con un sólo guarismo. En la numeración decimal lo son los comprendidos desde el cero al nueve, ambos incluidos.
Las computadoras representan valores utilizando dos valores de voltaje (generalmente 0V y 5V), y con éstos niveles se pueden representar exactamente dos valores diferentes, que por conveniencia se utilizan el cero y el uno. Estos dos valores por coincidencia corresponden a los dígitos utilizados por el sistema binario.
El Sistema Binario trabaja de forma similar al sistema decimal con dos diferencias: en el sistema binario sólo está permitido el uso de los digitos 0 y 1 (en lugar del 0 al 9) y en el sistema binario se utilizan potencias de 2 en lugar de potencias de 10. En un sentido estricto, cada número binario contiene una cantidad infinita de dígitos, también llamados bits, que es una abreviatura de binary digits. Por ejemplo, podemos representar el número siete de las siguientes formas:
111
00000111
000000000000111
Regularmente se ignora cualquier cantidad de ceros a la izquierda, sin embargo, por temas de compatibilidad, se definió extender la cantidad de ceros a la izquierda en un múltiplo de cuatro u ocho bits (01112 o 000001112). También se definió separar en grupos de cuatro dígitos los números binarios grandes (1010111110110010 -> 1010 1111 1011 0010).
En una cadena binaria asignaremos al dígito de la extrema derecha como el bit de posición cero y a cada bit subsecuente se le asignará el siguiente número sucesivo. Por ejemplo, un valor binario de 8 bits utiliza los bits 1 al 7: X7X6X5X4X3X2X1X0.
Al bit cero se le conocce como el bit de bajo orden, en tanto que al bit de la extrema izquierda deferente de cero se le llama bit de alto orden.
Un gran problema con el sistema binario es la verbosidad (abundancia de palabras en la elocución). El sistema de numeración hexadecimal, es decir, de base 16, resuelve éste problema. El sistema hexadecimal es compacto y proporciona un método sencillo de conversión hacia el formato binario, debido a ésto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. COmo la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia 16. Por ejemplo, el número 123416 es igual a:
1×163+2×163+3×161+4×160 = 4096+512+48+4=466010
La conversión entre hexadecimal y binario es sencilla, y se realiza de acuerdo a la siguiente tabla:
| Binario | Hexadecimal |
| 0000 | 0 |
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | A |
| 1011 | B |
| 1100 | C |
| 1101 | D |
| 1110 | E |
| 1111 | F |
Bits y Bytes
Bits
Es la cantidad de información más pequeña en una computadora. Sólo es capaz de representar dos valores diferentes.
Nibbles
Es una colección de cuatro bits. Se pueden representar 16 elementos diferentes con un solo nibble, pero los dígitos hexadecimales y BCD (Código Binario Decimal, por sus siglas en inglés) son los principales representados por un nibble.
Bytes
Es la estructura de datos más importante utilizada. Un byte está compuesto por 8 bits. El bit de bajo orden es el bit menos significativo, mientras que el bit de alto orden es el bit más significativo. Un byte está compuesto por dos nibbles.
Como un byte tiene ocho bits, es posible representar 28 o 256 valores diferentes. Se pueden representar valores numéricos en el rango de 0-255, números con signo en el rango -128 – +127, códigos de carácter ASCII y otros tipos de datos especiales que no requieran valores diferentes mayores que 256.
Words (palabras)
Una palabra (word) es un grupo de 16 bits enumerados de cero a quince, donde el bit 0 es el de bajo orden y el bit 15 es el de alto orden. Una palabra contiene 2 bytes, y puede descomponerse en cuatro nibbles. Con 16 bits es posible representar 216 (65536) valores diferentes (0 a 65535; -32768 a +32767).
Codificación de la información
Cuando un texto informático se refiere a juego de caracteres («Character set«) o codificación de caracteres («character encoding«), se refiere siempre a una convención (norma) para relacionar una secuencia de octetos con una secuencia de glifos, denominados genéricamente caracteres, que corresponden a letras, símbolos, cifras o ideogramas de un sistema de escritura. En el interior de la máquina estos juegos de caracteres se materializan en una tabla denominada página de códigos.
Básicamente existen dos tipos de juegos de caracteres: alfabéticos e ideográficos. Los primeros corresponden a lenguas en las que existe el concepto de palabras formadas por caracteres del alfabeto. En este caso, los caracteres se denominan letras, símbolos de puntuación o cifras. Los segundos corresponden a lenguas en las que una idea u objeto son descritos mediante un solo glifo, que en este caso se denomina ideograma.
El Código ASCII
El ASCII (American Standard Code for Information Interchange) es simplemente una convención para codificar un conjunto de 129 caracteres (letras, símbolos y números), numerados del 0 al 127. Este número se debe a que emplea sólo 7 bits (27=128), algo que parecía suficiente en la época en que se propuso el estándar. Esta versión de 7 bits y 128 caracteres se conoce como US-ASCII.
En los 128 caracteres del ASCII original se encuentran las letras del alfabeto inglés, los números y algunos signmos comunes, además de otros como retorno de carro, tabulador, etc. Estos últimos se denominan caracteres de control o no imprimibles, puesto que no representan ninguna letra ni signo de puntuación.
El ASCII extendido
Con la internacionalización de los ordenadores, se cayó en cuenta que los 128 caracteres del US-ASCII no eran suficientes para trabajar con los signos de otros idiomas (tildes, eñe, etc) de modo que los fabricantes comenzaron a utilizar un conjunto de caracteres ASCII ampliado de 8 bits (256 caracteres), que además coincidía con el tamaño de palabra de los procesadores de esa época. Los 128 caracteres adicionales, que contituyen lo que se denomina ASCII extendido, añadieron todas las letras y signos especiales de uso común en lenguas de europa occidental, como el español, francés o alemán.
Evolución del ASCII
De entre todos los sistemas ASCII de 8 bits (SBCS «Single Byte Character Set»), los que han alcanzado mayor fortuna han sido dos: el que se incorporó por defecto en los PCs de IBM en la década de los 80, y posteriormente, el de los sistemas Windows 9X de Microsoft.
El juego de caracteres del PC incorporó símbolos especiales para representar visualmente (en pantalla) los caracteres de control que hasta entonces no tenían representación gráfica.
En lo que respecta a Microsoft, el gigante de la informática incorporó en sus sistemas Windows 9X un juego de caracteres bastante adaptado a la mayoría de los alfabetos occidentales. Posteriormente implementó en sus sistemas NT y sucesores un sistema denominado Unicode que utiliza 16 bits para representar los caracteres; sus 65537 posibilidades permiten representar los de todas las lenguas del mundo. El sistema Unicode (técnicamente es el ISO-10646-1) es un sistema de codificación de caracteres en el que cada caracter ocupa 16 bits. El inconveniente es que evidentemente los almacenamientos ocupan el doble de espacio que con los caracteres estandar. La ventaja es que no existe necesidad de ninguna conversión ni ambigüedad. Cada caracter, representado por un número, tiene una significación única.
Páginas de códigos
Los juegos de caracteres, ya sean ASCII, Unicode o de cualquier tipo, se materializan dentro de la máquina en unas tablas denominadas páginas de códigos, que establecen la relación entre cada glifo y su valor numérico. Las páginas de códigos pueden ser cualquiera, incluso construidas por el usuario, pero las usadas más frecuentemente están estandarizadas. Existen dos tipos:
- ACP («ANSI Code Pages»). Las que han sido estandarizadas por el Instituto de Estándares Americano.
- OCP («OEM Code Pages»). Son propuestas por fabricantes u organizaciones no oficiales (OEM significa «Original Equipment Manufacturer).
Generalmente las páginas de código son mantenidas por el Sistema Operativo, y existen dos versiones: para caracteres normales y para caracteres anchos. Las páginas de código de caracteres normales tienen 256 posiciones. En cambio, las páginas de caracteres anchos son muy grandes (64K entradas), aunque no suelen cargarse completas, solo las primeras 256 posiciones y ciertas zonas correspondientes a los rangos que utilizará el programa.
Operaciones en el computador
El procesamiento se basa en operaciones binarias:
Operaciones aritméticas: Suma y Resta
Operaciones lógicas: AND, OR, NOT.
Al intentar ejecutar una operación aritmética en formato binario, es recomendable hacer la conversión a formato haxadecimal, ejecutar las operaciones necesarias y finalmente volver a convertir el resultado a formato binario.
Las operaciones lógicas se pueden representar con una tabla llamada tabla de la verdad. Existen cuatro operaciones principales que se pueden ejecutar en números binarios y hexadecimales: AND, OR, XOR (OR exclusivo) y NOT.
Operación lógica AND
«si el primer valor y (and) el segundo valor son 1, el resultado es 1, caso contrario el resultado es 0«

Un hecho importante acerca de la operación AND es que se puede utilizar para forzar un resultado a cero, característica que es muy importante, particularmente con cadenas de bits en donde deseamos forzar algún bit individual de la cadena a cero.
Operación lógica OR
A ésta operación lógica también se le conoce como OR Inclusivo. «si el primero de los operandos o (OR) el segundo de los operandos (o ambos) es 1, el resultado es 1, de lo contrario el resultado es cero«.

Operación lógica XOR
(OR Exclusivo): «si el primer operando o el segundo operando pero no ambos, es uno, el resultado es uno, de lo contrario el resultado es cero«. Esta característica le permite invertir bits selectivamente en una cadena de bits.

Operación lógica NOT
Acepta solamente un operando y está definido como:

Números con signo y sin signo
Para representar números negativos utilizando el sistema de numeración binario se deben restringir los números de manera que tengan un número finito y fijo de bits.
COn un número fijo de bits sólo se pueden representar un cierti número de objetos. COn ocho bits sólo se pueden representar 256 objetos diferentes. Será necesario utilizar algunos de los 256 valores diferentes para representar números negativos, asignando la mitad de las posibles combinaciones para los números negativos y la otra mitad para los números positivos. De esta manera se pueden representar los valores negativos entre -128 … -1 y los positivos entre 0 … 127 con un sólo byte de ocho bits. Se puede representar el rango de -32768 … +32767 con una palabra de 16 bits. Con una palabra doble de 32 bits -2147483648 … +2147483647. En general, con n bits se pueden representar los valores con signo en el rango comprendido entre -2n-1 hasta 2n-1-1.
Aritmética de Computadores
Los computadores no almacenan los números con precisión infinita sino de forma aproximada empleando un número fijo de bits o bytes. Prácticmebte todos los computadores permiten al programador elegir entre varias representaciones o «tipos de datos». Los diferentes tipos de datos pueden diferir en el número de bits empleados, pero también (lo que es más importante) en cómo el número representado es almacenado: en formato fijo (también denominado «entero») o en punto flotante (también denominado «real»).
Aritmética de punto fijo
Un entero se puede representar empleando todos los bits de una palabra de computadora, con la salvedad de que se debe reservar un bit para el signo. Por ejemplo, en una máquina con longitud de palabra de 32 bits, los enteros están comprendidos entre -(231-1) y 231-1 = 2147483647. Un número representado en formato entero es «exacto». Las operaciones entre números enteros son también «exactas» siempre y cuando:
- La solución no esté fuera del rango del número entero más grande o más pequeño que se puede representar (generalmente con signo). En estos casos se dice que se comete un error de desbordamiento por exceso o por defecto (overflow y underflow) y es necesario recurrir a técnicas de escalado para llevar a cabo las operaciones.
- La división se interpreta que da lugar a un número entero, despreciando cualquier resto.
Por estos motivos la aritmética d epunto fijo se emplea muy raramente en cálculos no triviales.
Aritmética de punto flotante
En un computador típico los números en punto flotante se representan en notación científica normalizada:
X=+/-q*2m (I)
donde m es un entero. El número q se denomina mantisa y el entero m exponente. En un computador binario tanto q como m estarán representados como números en base 2. Puesto que la mantisa q está normalizada, en la representación binaria empleada se cumplirá que:
Ciertas restricciones aplican sobre el número de dígitos de q y m impuestas por la longitud de palabra disponible. Para ilustrar este punto, consideremos un computador hipotético que dispone de una longitud de palabra de 32 bits. Para representar un número en punto flotante, los bits se acomodan del siguiente modo:
| 2 | Signo del número real X: | 1 bit |
| 1 | Signo del exponente m: | 1. bit |
| 3 | Exponente (entero |m|): | 7 bits |
| 4 | Mantisa (número real |q|): | 23 bits |
En la mayoría de los cálculos en punto flotante las mantisas se normalizan, es decir, se toman en forma que el bit más significativo (el primer bit) sea siempre «1». Por lo tanto, la mantisa q cumple siempre la ecuación.
Dado que la mantisa siempre se representa normalizada, el primer bit en q es siempre 1, por lo que no es necesario almacenarlo proporcionando un bit significativo adicional. Esta forma de almacenar un número en punto flotante se conoce con el nombre de técnica del bit fantasma.
Se dice que un número real expresado como aparece en la ecuación (I) y que satisface la ecuacion (II) tiene la forma de punto flotante normalizado. Si además puede representarse exactamente con |m| ocupando 7 bits y |q| ocupando 24 bits, entonces es un número de máquina.
La restricción de que |m| no requiera más de 7 bits significa que:
|m| <= (1111111)2=27-1=127
Ya que 2127 es aproximaamente igual a 1038, el computador hipotético puede manejar números tan pequeños como 10-38 y tan grandes como 1038. Este no es un intervalo de valores suficientemente generoso, por lo que en muchos casos se debe recurrir a programas escritos en aritmética de doble precisión e incluso precisión extendida.
Como q debe representarse empleando no más de 24 bits significa que nuestros números de máquina tienen una precisión limitada cercana a las siete cifras decimales. Por tanto, los números expresados mediante más de siete dígitos decimales serán objeto de aproximación cuando se almacenen en el computador.
Conexión con la Arquitectura
Todo lo anterior define cómo:
- El procesador interpreta datos.
- La memoria los almacena.
- El sistema ejecuta instrucciones.
Sin esta base, la arquitectura no tendría sentido.
Niveles de arquitectura del computador

Un computador de organiza en niveles para manejar la complejidad.
1. Hardware físico
Incluye:
- CPU
- Memoria
- Dispositivos de entrada/salida
Es el nivel más bajo y opera con señales eléctricas.
2. Microarquitectura
Define cómo internamente funciona el procesador:
- Registros
- Unidades funcionales
- Pipeline de ejecución
Es la implementación concreta del procesador
3. ISA (Instruction Set Architecture)
Es el conjunto de instrucciones que el procesador puede ejecutar.
Define:
- Operaciones disponibles
- Tipos de datos
- Modos de direccionamiento
Es el contrato entre hardware y software.
4. Sistema Operativo
Administra los recursos del sistema:
- Procesos
- Memoria
- Siapositivos
Actúa como intermediario entre hardware y aplicaciones.
5. Aplicaciones
Son los programas que utiliza el usuario:
- Navegadores
- Sistemas empresariales
- Herramientas de productividad
Operan sin necesidad de conocer los niveles inferiores.
Relación entre niveles
Cada ninvel abstrae la complejidad del nivel inferior. Esto permite:
- Escalabilidad
- Portabilidad de software
- Evolución tecnológica sin romper compatibilidad
Arquitectura de la familia IBM-PC

La aparición del IBM Personal Computer marcó un punto de inflexión en la industria. SUs características clave fueron:
Arquitectura modular
– Componentes intercambiables
– Expansión mediante tarjetas
Estándares abiertos
– facilitó la aparición de «compatibles»
Separación de funciones
CPU, memoria y periféricos claramente definidos. Esto permitió la creación de un ecosistema completo de harware y software compatible.
Hasta hoy, la mayoría de los computadores personales siguen esta lógica estructural.
Evolución hacia arquitecturas modernas

Las arquitecturas han evolucionado para responder a nuevas necesidades.
Multicore
– Múltiples núcleos en un solo procesador.
– Permite ejecución paralela
Virtualización
– Un harware físico puede ejecutar múltiples sistemas operativos
– Introduce el concepto de máquina virtual
Cloud Computing
– Los recursos computacionales se distribuyen en centros de datos
– Acceso remoto y escalabilidad
Edge Computing
– Procesamiento cercano a la fuente de datos
– Reduce latencia
Conceptos clave
- Arquitectura de computadores
- Niveles de abstracción
- ISA (Instruction Set Architecture)
- Microarquitectura
- Modularidad
- Compatibilidad
- Virtualización
- Computación distribuida
Integración del sistema
El computador funciona como un sistema jerárquico:
- El harware ejecuta
- La microarquitectura implementa
- La ISA define el lenguaje
- El sistema operativo gestiona
- Las aplicaciones utilizan
Ningún nivel funciona de forma aislada.
Cómo se conecta este episodio con el resto del curso
En éste punto ya entiendes:
- Qué es un computador
- Qué componentes tiene
- Cómo se organiza internamente
A partir de aquí, podemos avanzar hacia:
- Representación de la información
- Software
- Sistemas operativos
- Redes
| Episodio 1.2 – Hardware del computador: procesadores, memoria y dispositivos de entrada/salida | Tema 2 – Representación y Almacenamiento de Datos (proximamente) |
