1. Módulo 1
Arquitectura y organización de Sistema de
cómputos : Hardware y Software.
2.1. Hardware
Es la parte material (componente físico) de una computadora (teclado, pantalla,
impresora, unidades de disco, etc.).
2.1.1. Arquitectura de una computadora.
Los antecedentes del concepto de Arquitectura de una computadora, lo
encontramos en principio en 1833, con Charles Babbage, y su "máquina
analítica", quien define las cinco unidades fundamentales de una computadora
moderna. Posteriormente en 1945, el matemático alemán J. Von Neumann
diseñó el concepto de UCP (Unidad Central de Proceso), quien teorizando sobre
máquinas ideales llegó a la conclusión que una computadora, para ser capaz de
resolver cualquier problema, debía reunir al menos cuatro elementos
fundamentales:
● Una unidad de cálculo,
● Una unidad de control para coordinar las funciones,
● Una memoria, y
● Unos dispositivos de entrada/salida.
Además debía funcionar electrónicamente, con números binarios, y realizar sus
operaciones en forma secuencial, es decir, una tras otra. A esta estructura se la
conoce como "Arquitectura de Von Neumann" y aun se sigue usando para la
mayoría de las computadoras modernas.
Una computadora en definitiva, consta de tres partes fundamentales: la Unidad
Central de Proceso, que designaremos UCP (en inglés CPU), en la que se
acumula la información y se procede a su tratamiento, la memoria interna
(RAM) espacio donde se almacenan los datos entes de entrar y salir del
procesador, externa (discos, etc.) y las unidades periféricas o, simplemente,
periféricos (de entrada y de salida) que permiten la comunicación de la
computadora con el exterior. Un ejemplo de este concepto sería el cerebro
(centro neurálgico) donde se realizan todas las actividades y sus vías de
comunicación; donde los periféricos de entrada serían: los cinco sentidos -vista,
olfato, gusto, oído y tacto; y los periféricos de salida: la escritura, el habla y la
acción.
1
2. 2.1.1.1. Unidad Central de Proceso (UCP)
La UCP, es una colección de circuitos electrónicos incorporados en un chip de silicio
denominado microprocesador. La UCP, interpreta y lleva a cabo las instrucciones de los
programas, efectúa manipulaciones aritméticas y lógicas con los datos, almacena
resultados intermedios y se comunica con las demás partes del sistema.
Se considera dividida en dos unidades:
● Unidad Aritmético-Lógica (UAL)
● Unidad de Control (UC)
Estas unidades se han agrupado recibiendo el nombre genérico de UCP.
Además de la Memoria Central, la Unidad Aritmético-Lógica y la Unidad de
Control, la UCP contiene una serie de registros y los buses.
Normalmente todos estos elementos están integrados en un sólo circuito o chip
llamado microprocesador o procesador. La memoria principal y la unidad de
entrada/salida, son bloques independientes de la CPU implementados en otros
circuitos integrados. Todos ellos se unen a través de los buses en una o varias
placas de circuito impreso para formar lo que llamamos microprocesador.
El microprocesador está ensamblado en un circuito integrado de mayor tamaño
llamado placa madre (motherboard). Aquí también se ensambla la memoria y las
unidades de entrada/salida.
2
3. ● La Memoria
La memoria es la parte de la computadora donde se almacenan datos y programas y
aunque la UCP dispone de una memoria caché (sus registros), ésta es demasiado pequeña
como para albergar programas completos, pués está pensada para almacenar sólo la
instrucción a ejecutar, sus operandos y un poco más. Por eso es necesario disponer de un
sistema de memoria externa suficientemente grande. Para ello se cuenta con la Memoria
interna ó Principal, que
hoy día es totalmente
electrónica y está
constituida a base de
semiconductores, es decir
una gran cantidad de
circuitos integrados que
pueden almacenar la
información "encendido"
"apagado", expresada en
código binario, por 0 ó 1,
también denominados
biestables porque los
datos se almacenan en
estados de tensión (+5V)
al que hacemos corresponder un uno y no tensión (0V) al que le corresponde un cero,
por tanto el sistema de almacenamiento admite dos posibles valores y por ello se
denomina binario. También puede definirse a la memoria como un conjunto de celdas
dispuestos en forma de filas y columnas en las cuales se almacenan una cantidad fija de
"0" y "1". Esta unidad elemental de información que podemos almacenar en una
computadora recibe el nombre de BIT, de Binary Digit (dígito binario), y al conjunto de
8 bits se le denomina Octeto o Byte, de Binary Term (término binario), que constituye
la unidad de información. Un byte es capaz de almacenar datos tales como los caracteres
numéricos (0..9), alfabéticos (A..Z) y alfanuméricos; pero es insuficiente para almacenar
números de cierta magnitud, por esto, los bytes se agrupan en palabras.
3
4. Una palabra es la unidad natural de organización de la memoria. El número de bits
por fila (palabra) puede variar entre: 8, 16, 32 y 64, ... y está determinado por el
ancho de los registros generales de la UCP, por lo que un procesador con registros de
32 bits tiene una palabra de 32 bits (4 bytes). Esto significa que se pueden hacer
operaciones (aritméticas, de movimiento, etc.) con datos de hasta 32 bits. Cada fila
está numerada, llamándose a ese número que la identifica dirección. Entonces una
dirección de memoria esá asociada unívocamente a una celda y esta dirección
permite conocer la ubicación de un dato.
La memoria que posee un computador se expresa, en general, en Kbytes (o simplemente
en K), esto es, en grupo de 1024 bytes. (Contra lo que podría pensarse, 1 KiloByte o KB
de memoria no representa 1000 bytes sino 1024, que equivale a 210
), 1 MegaByte o MB =
1024 KB, 1 GigaByte o GB = 1024 MB, 1 TeraByte o TB = 1024 GB
● Tipos de memoria de una computadora
Memoria Caché (Registros): Son memorias elementales para que las unidades
de la UCP, puedan almacenar datos o instrucciones temporalmente.
Memoria intermedia: Constituido por los buffers o memoria tampón.
Memoria interna: Memoria central o principal.
Memoria auxiliar: Memoria secundaria o periférico de almacenamiento.
Memoria virtual: Memoria interna y una parte de una memoria auxiliar rápida.
Tipos de memoria interna
a. La memoria RAM (Ramdom Acces Memory):
Es una memoria volátil; es decir, que requiere energía eléctrica para conservar su
información. Puede ser grabada y leída por el computador, y tiene la
característica de que el tiempo de acceso a todos los datos que contiene es el
mismo.
Las memorias RAM pueden ser estáticas o dinámicas. Las primeras conservan su
contenido de manera indefinida mientras no se corte la tensión que las alimenta; en las
segundas, el contenido se pierde con el tiempo, de manera que para poder conservarlo es
necesario refrescar cada pocos milisegundos.
b. La memoria ROM (Read Only Memory):
Las Memorias de este tipo sólo admiten operaciones de lectura, es decir , no pueden ser
alteradas por el usuario. Su grabación se lleva a cabo en el proceso de fabricación, y se
utilizan para almacenar programas de cargado ("loaders"), sistemas operativos,
intérpretes, etc. Es decir funciones básicas previamente almacenadas que hacen posible el
arranque de una computadora. Son memorias no volátiles, que no requieren energía para
conservar su contenido.
4
5. c. Las memorias PROM (Programable Read Only Memory):
Las memorias PROM admiten un único proceso de grabación por parte del usuario. La
información que contienen se graba en un proceso posterior a su fabricación.
d. Las memorias EPROM (Erasable Programable Read Only Memory):
Las memorias EPROM son memorias programables por el usuario, que requieren, para
ser alteradas, un proceso especial usando luz ultravioleta. Todas ellas tienen la
característica fundamental de no ser volátiles.
e. Las memorias EEPROM (Electric Erasable Programable Read Only Memory):
Reunen las características de la EPROM y añaden la facilidad de reprogramación
mediante impulsos eléctricos. El borrado se produce eléctricamente.
CLASES DE MEMORIA
Tipo de memoria Categoría Borrado
Modo de
escritura
Volatilidad
RAM (Random Acces
Memory)
Memoria
Lec/Escr
Eléctrico a
nivel byte
Eléctricamente Volátil
ROM (Read Only
Memory)
Memoria de
solo lectura
No posible
Eléctricamente No volátil
PROM
(Programmable Read
Only Memory)
EPROM (Erasable
Read Only Memory)
Memoria
sobre todo
de lectura
Luz UV a
nivel chip
Memoria Flash
Eléctrico a
nivel bloque
EEPROM
(Electrically Erasable
PROM)
Eléctrico a
nivel byte
5
6. 2.1.1.2. Unidad Aritmética-Lógica
Se encarga de realizar las operaciones aritméticas y lógicas con los datos
siguiendo las instrucciones de la UCP. La UC proporcionará a la ALU la siguiente
información:
- código de la operación lógica-aritmética a realizar.
- direcciones de memoria de los datos implicados.
- dirección de memoria para almacenar el resultado.
6
7. 2.1.1.3. La Unidad de Control
La UC decodifica o interpreta las instrucciones del programa y manda la señal
para que, según corresponda, actúe la ALU (para efectuar alguna operación) o
una Unidad de entrada (conectadas, por ejemplo, a un teclado o ratón) o de salida
(conectadas a una impresora o pantalla). Consta de un registro especial, el
contador de programa ("Program Counter" , PC), que indica la ubicación en
memoria de la siguiente instrucción que debe ser ejecutada. Esto garantiza que
las instrucciones del programa se cumplan en el orden correcto.
Otro registro importante de la unidad de control, es el Registro de condición
("Status Registrer", ST), que proporciona información sobre los resultados de la
última instrucción ejecutada (por ejemplo, de una comparación).
La UC establece que unidad debe intervenir en un momento dado, mediante el
envío de señales de control; finalmente, traspasa la información entre los
registros y la memoria RAM y viceversa.
2.1.1.4. Registros
Espacios de memoria rápida que la UC, UAL, MP y UE/S utilizan para
almacenar algún dato o instrucción temporalmente, para ser transferido de una
unidad a otra o para realizar operaciones de cálculo. Se los considera también
datos intermedios en un proceso determinado, el resultado final es almacenado
en la memoria principal. Dos tipos: Registros Generales y Registros de Trabajo.
7
8. Registro General: Son necesarios para que los datos e instrucciones que
manejan los programas se transfieren de una unidad a otra.
Registro de Trabajo: Se utilizan como registros auxiliares para indicar a la UC
los estados y resultados durante y al final de la ejecución de alguna operación.
2.1.1.5. Buses
Un bus o colector de señales es un conjunto de conductores eléctricos que
proporcionan una vía de comunicación entre dos o más dispositivos, tienen un
ancho medido en bits y una velocidad medida en Mhz. En la práctica esta
comunicación se realiza por medio de varias líneas eléctricas que se distribuyen
por el sistema una al lado de la otra, permitiendo la transmisión de los datos en
paralelo. Un modo de ejemplificar sencillamente este concepto sería realizando
una analogía con las autopistas; el ancho sería el número de carriles (bits) y la
velocidad evidentemente Km/hora, serían los Megahertz (Mhz). Cuanto más
número de carriles y más velocidad, mayor será el paso de los automóviles (más
rápida será la comunicación).
Los buses del sistema son de tres tipos: Bus de direcciones, bus de datos y bus de
control.
Bus de control: Por él la UC envía y recibe señales de control -doble sentido- de
los diversos dispositivos del sistema.
Bus de direcciones: Transporta las direcciones de memoria que requiere el
microprocesador para efectuar operaciones de lectura y escritura.
Bus de datos: Traslada datos hacia y desde la memoria principalmente, aunque
también se conecta a otros dispositivos (puertos del ordenador, controladores de
periféricos, etc.).
8
9. 2.1.2. Periféricos de Entrada/Salida
2.1.2.1. Unidades de Entrada
Llamamos Unidades de Entrada a todos aquellos dispositivos por los cuales la
computadora recibe la información que debe procesar y, eventualmente, los programas
necesarios para hacerlo.
EL TECLADO
Todas las computadoras son capaces de realizar
operaciones de "entrada manual o directa", que
normalmente se llevan a cabo a través de un teclado,
semejante al de una máquina de escribir. Este dispositivo
nos permite introducir caracteres, palabras o números a
la computadora.
Hay muchos tipos de teclado, el más habitual es el llamado teclado expandido en el que
se pueden distinguir varias partes:
Teclas de función: Tienen asignadas unas tareas especiales dependiendo del programa
que se esté utilizando.
Teclado alfanumérico: En él están colocadas las teclas de números y letras.
Teclas del cursor: Permiten el movimiento del cursor por la pantalla en el sentido
indicado por las flechas.
EL RATÓN O MOUSE
Es otro periférico de entrada que permite traducir los
movimientos de la mano en acciones en la pantalla puede ser
mecánico, óptico e inalámbrico.
Cuando el ratón esta funcionando, aparecerá en el monitor un
indicador denominado
PUNTERO, que se desplazará por la pantalla.
La mayoría de las operaciones que se realizan con el
ratón exigen pulsar el botón izquierdo (hacer clic) dicha
pulsación define el punto cuyas coordenadas detecta la
CPU que ejecuta el programa del usuario.
Hacemos doble clic (dos pulsaciones consecutivas) para ejecutar tareas, como seleccionar
un símbolo o icono en la pantalla o para abrir el documento elegido.
El ratón presenta como ventaja que el cursor se moverá alrededor de la pantalla más
rápidamente que usando las teclas pero tiene la desventaja de necesitar mover la mano
desde el teclado al ratón y volver al primero.
También se verifican "entradas automáticas", por las cuales la unidad central recibe datos
a través de dispositivos periféricos como los lectores de discos y cintas magnéticas.
9
10. EL ESCÁNER
El escáner es otro dispositivo de entrada que permite digitalizar imágenes y
textos que se encuentren impresos en papel o en un soporte físico.
Si se utiliza para digitalizar textos se debe complementar con un programa
de reconocimiento de caracteres OCR que reconoce dichos caracteres de la imagen y los
transfiere a un procesador de textos que permitirá posteriormente almacenarlo como un
documento.
La resolución de un escaner se mide en PPP, que representa el número de Puntos Por
Pulgada, lo que determinará la calidad de la imagen obtenida.
A mayor numero de puntos por pulgada mas pixeles definirán la
imagen, mayor será la calidad de la misma pero también ocupará
más cantidad de memoria y de disco.
Otros dispositivos de entrada son los joysticks - bastones de mando -,
lápices ópticos, cámaras digitales (video cámara, fotográfica, Webcam),
pantallas sensibles, micrófonos, etc.
2.1.2.2. Unidades de salida
Las Unidades de Salida son dispositivos que tienen por finalidad transmitir al
usuario los resultados del trabajo del computador. Las más comunes son
pantallas de video e impresora.
Los monitores o pantallas de video a color y las impresoras
Laser son a menudo requeridas para la alta definición de
gráficos. Otros dispositivos de salida son: Plotters, parlantes, etc.
2.1.2.3. Unidades de Entrada / Salida
Las Unidades de Entrada /Salida, denominados dispositivos de almacenamiento
secundario o auxiliar, tales como los discos duros, cintas magnéticas, discos
flexibles (disquetes), discos compactos o CD, DVD, poseen un tiempo de acceso
más prolongado que la memoria principal, pero son más o menos permanentes
(por ejemplo a diferencia de la memoria principal no se borran cuando se apaga
la máquina), almacenan una gran cantidad de información y son mayormente
utilizados como Bancos de Datos por otros equipos.
10
11. Los discos duros en las computadoras se expresan en millones de caracteres
(megabytes) , gigabytes (mil millones de caracteres),terabytes ( mila billones de
caracteres)
Cintas magnéticas, similares a las de un casete de audio, en general más anchas,
en las cuales se puede almacenar información que no requiere ser recuperada con
rapidez, como, por ejemplo, copias de seguridad o de respaldo.
Discos compactos o CD (Compact disk), almacenan información en formato
digital que pueden ser grabados y leídos mediante un haz de luz láser y su reflejo.
Se pueden almacenar cerca de 700 MB u 80 minutos de música.
DVD (Digital Versátil Disk), utiliza básicamente el mismo tipo de tecnología,
con pistas más delgadas que permiten el almacenamiento de aproximadamente
entre 5 y 10 veces más información que un CD.
Memorias portátiles, unidades de memoria no volátiles, es decir que pueden
almacenar la información aunque no estén alimentadas por una corriente
eléctrica. De tamaño reducido, puede albergar más de 1 GB de información y se
conecta a las computadoras a través del puerto usb.
Todos los dispositivos periféricos requieren de una interfase que compatibilice entre ellos y la
memoria, debido fundamentalmente a la diferencia de velocidades. La interfase está formada por
los canales y las unidades de control o controladoras y debe de organizar inteligentemente el
flujo de la información.
2.2. Software
Llamamos software a la parte lógica (esto es, los programas), de que se disponen para hacer
funcionar un equipo informático. El término se opone al de hardware, que designa los
dispositivos físicos que componen la computadora.
2.2.1. El Software de base
Está compuesto por un conjunto de programas que permiten al usuario sacar el
máximo provecho de su equipo. Son en general, suministrados por el fabricante,
y no apuntan a resolver ningún problema en particular, sino que proveen
facilidades utilizables por el programador en diversas aplicaciones.
11
12. Son considerados software de base los sistemas operativos, los lenguajes de
programación, los programas utilitarios, etc.
2.2.1.1. El Sistema Operativo (S.O)
Es un conjunto de programas que tiene por finalidad fundamental el control de
las operaciones de entrada/salida (esto es, el intercambio de información entre la
unidad central de proceso y los periféricos), de la carga y ejecución de los
programas y de la detección y recuperación de errores. Sin la presencia de este
programa ninguna computadora podría funcionar.
Ejemplos de estos programas son: MS-DOS, OS/2, WINDOWS, UNIX,
LINUX, MACINTOSH, ANDROID , etc.
2.2.1.2. Los lenguajes de programación
Una computadora trabaja internamente con la información en binario, desde el programa
hasta los datos que debe procesar. Este código -si bien muy sencillo para el computador-
puede resultar sumamente engorroso para el programador u operador que deba manejar
el equipo. A los efectos de simplificar el trabajo de los seres humanos, se han diseñado
lenguajes de programación, que han ido evolucionando de manera tal que, hoy por hoy,
permiten al hombre comunicarse de manera bastante simple con la computadora.
Existen dos tipos básicos de lenguajes de programación: compilados e interpretados.
Trabajando con un lenguaje compilado en un computador moderno, el
programador debe ingresar completamente su programa en un procesador de
textos, y, en general,
almacenarlo en un medio
magnético. Este archivo se
denomina "programa
fuente".
Una vez realizado, se carga
en la computadora un
programa denominado
"compilador", que se
encarga de "traducir" el
programa fuente a código
máquina.
El programa traducido, llamado "objeto", es también almacenado en un archivo
en medio magnético. Cuando el programa objeto está terminado, puede ser
12
13. ejecutado por el computador. Algunos lenguajes compilados son COBOL,
FORTRAN, PASCAL, etc.
Los lenguajes de programación al igual que los equipos se clasifican en
generaciones, la primera generación se remonta al uso primitivo de clavijas y
que ahora denominamos código de máquina. La segunda generación esta
representada por el uso del lenguaje ensamblador (bajo nivel). La tercera
generación esta compuesta por los lenguajes de programación de alto nivel, en
los que se tiene que especificar cómo realizar la tarea. La forma de indicarle a la
computadora es mediante el uso de una cantidad finita de instrucciones
secuenciales escritas en bloques o procedimientos que después son referenciados
en el bloque principal. Los lenguajes de cuarta generación incluyen un amplio
espectro de lenguajes de computadora que hacen incapié sobre lo que debe
hacerse más que sobre cómo efectuar el trabajo, son los lenguajes de
especificación (Oracle, Informix, Progress, etc.) Por último, los lenguajes de
quinta generación, denominados lógicos, que pueden ser utilizados por la
computadora para deducir nuevos acontecimientos a partir de hechos conocidos
anteriormente. Lenguajes lógicos son el PROLOG o el LISP , utilizados en
Inteligencia Artificial.
2.2.1.3. Los Programas Utilitarios
Constituyen un subconjunto importante del software de base; estos programas
ejecutan distintas operaciones sobre archivos de datos. Son auxiliares del
programador, quien los utilizará en la creación de programas específicos.
2.2.2. El Software de Aplicación
Comprende aquellos programas elaborados por un programador para una aplicación
concreta de un usuario determinado. Existen dos clases de software de aplicación:
Standard y Específico.
2.2.2.1. El Software standard
Se designa de este modo a los programas que se adquieren en firmas especializadas, para
resolver determinados tipos de problemas que son comunes a diversos usuarios.
Podemos citar programas tales como:
● Planillas electrónicas, que permiten realizar cálculos con información
almacenada en forma tabular (Libreoffice calc, Excel, etc.).
● Procesadores de textos, que permiten el tratamiento de textos, por
ejemplo Openoffice Writer, Libreoffice writer, Word, etc.
● Bases de datos, que permiten el almacenamiento de cantidades de datos
estructurados (como ser archivos bibliográficos, etc.), por ejemplo
Libreoffice base, Access, etc.
● Graficadores, que permiten construir todo tipo de gráficos o diagramas,
por ejemplo Gimp, Corel Draw, etc.
13
14. 2.2.2.2. El Software específico
Es aquél que se elabora a la medida de las necesidades de un usuario en particular. Se
elaboran tantos programas como sean necesarios para la solución de problemas
concretos (facturación, gestión de cuentas corrientes, control de stock, liquidación de
sueldos, etc.)
2.2.2.3. Cuadro comparativo de software libre y propietario
Para diferenciar y hacer una distinción entre software libre y software propietario se les
presenta cuadros que categorizan diferentes programas según si son libres o propietarios.
14