Está en la página 1de 57

Instituto Tecnológico de Orizaba

Ingeniería En Sistemas Computacionales

ARQUITECTURA DE COMPUTADORAS

DOCENTE:

Vásquez Romero Marco Antonio

MATERIA: ARQUITECTURA DE COMPUTADORAS

Alumnos:

• Vázquez Pérez Eligio Benjamín

• Galicia Pérez María Isabel

• Salas Andrade José Miguel

UNIDA IIl:

Selección de componentes para

ensamble de equipo de cómputo

Trabajo de investigación

Fecha de entrega: 27/09/2019

1
Contenido
Objetivo general: ................................................................................................................................. 3
Antecedentes ...................................................................................................................................... 3
Introducción ..........................................................................................Error! Bookmark not defined.
Desarrollo ............................................................................................................................................ 4
3.1.1 CPU ............................................................................................................................................. 6
Microprocesadores ............................................................................................................................. 8
Operación del CPU .............................................................................................................................. 9
Diseño e implementación ................................................................................................................. 11
TLP: ejecución simultánea de hilos ................................................................................................... 17
Procesadores vectoriales y el SIMD .................................................................................................. 18
3.1.2 Controlador de Bus .................................................................................................................. 19
3.1.3 Puertos de E/S .......................................................................................................................... 20
Dispositivos de entrada y salida .................................................................................................... 21
3.1.4 Controlador de instrucciones ................................................................................................... 22
3.1.5 Controlador de DMA ................................................................................................................ 24
3.1.6 Circuitos de temporización y control ....................................................................................... 27
3.1.7 Controladores de video ............................................................................................................ 28
3.2 Aplicaciones................................................................................................................................. 31
3.2.1 Entrada/Salida. ..................................................................................................................... 31
3.2.2 ALMACENAMIENTO.................................................................................................................. 37
3.2.3 FUENTES DE ALIMENTACIÓN ................................................................................................... 39
3.3 AMBIENTES DE SERVICIOS........................................................................................................... 40
3.3.1 NEGOCIOS ................................................................................................................................ 42
3.3.2 INDUSTRIA ................................................................................................................................ 43
3.3.3 COMERCIO ELECTRÓNICO ........................................................................................................ 44
Conclusión ......................................................................................................................................... 47
Glosario ............................................................................................................................................. 48
Bibliografía ........................................................................................................................................ 55

2
Elección de componentes para ensamble de equipos
de cómputo
Objetivo general:

El objetivo de la investigación realizada es entender, analizar y observar cuales son los


componentes adecuados para el ensamble de un equipo de cómputo, la estructura y el
funcionamiento de cada uno de ellos, identificar en donde se encuentra cada uno de ellos.

Antecedentes
En su forma más simple, un sistema de computadora cuenta con una unidad que
ejecuta instrucciones de programas. Esta unidad se comunica con otros
subsistemas dentro de la computadora, y a menudo controla su operación. Debido
al papel central de tal unidad se conoce como unidad central de procesamiento, o
CPU (Central processing unit). Dentro de muchas computadoras, un subsistema
como una unidad de entrada, o un dispositivo de almacenamiento masivo, puede
incorporar una unidad de procesamiento propia. Tal unidad de procesamiento,
aunque es central para su propio subsistema, resulta claro que no es "central" para
el sistema de computadora en su conjunto. Sin embargo, los principios del diseño y
operación de una CPU son independientes de su posición en un sistema de
computadora. Este trabajo estará dedicado a la organización del hardware que
permite a una CPU realizar su función principal: traer instrucciones desde la
memoria y ejecutarlas.

Desde los comienzos de la fabricación de los primeros procesadores, se pensó en


un conjunto de integrados de soporte, de hecho, el primer microprocesador de la
historia, el Intel 4004 formaba parte de un conjunto de integrados numerados
4001,4002 y 4003 que tenían toda una apariencia física similar y que formaban la
base de un sistema de cómputo cualquiera.

Mientras que otras plataformas usaban muy variadas combinaciones de chips de


propósito general, los empleados en el Comodoro 64 y la Familia Atari de 8 bits,
incluso sus CPUs, solían ser diseños especializados para la plataforma, que no se
encontraban en otros equipos electrónicos, por lo que se les comenzó a llamar
chipsets.

Este término se generalizó en la siguiente generación de ordenadores domésticos:


el Commodore Amiga y el Atari ST son los equipos más potentes de los años 90, y

3
ambos tenían multitud de chips auxiliares que se encargaban del manejo de la
memoria, el sonido, los gráficos o el control de unidades de almacenamiento masivo
dejando a la CPU libre para otras tareas. En el Amiga sobre todo se diferenciaban
las generaciones por el chipset utilizado en cada una.

Tanto los chips de los Atari de 8 bits como los del Amiga tenían como diseñador a
Jay Miner, por lo que algunos lo consideran el precursor de la moderna arquitectura
utilizada en la actualidad.

Apple Computer comienza a utilizar chips diseñados por la compañía o


comisionados expresamente a otras en su gama Apple Macintosh, pero pese a que
irá integrando chips procedentes del campo PC, nunca se usa el término chipset
para referirse al juego de chips empleado en cada nueva versión de los Mac, hasta
la llegada de los equipos G4.

Mientras tanto el IBM PC ha optado por usar chips de propósito general (IBM nunca
pretendió obtener el éxito que tuvo) y sólo el subsistema gráfico tiene una ligera
independencia de la CPU. Hasta la aparición de los IBM Personal System/2 no se
producen cambios significativos, y el término chipset se reserva para los conjuntos
de chips de una placa de ampliación (o integrada en placa madre, pero con el mismo
bus de comunicaciones) dedicada a un único propósito como el sonido o el
subsistema SCSI. Pero la necesidad de ahorrar espacio en la placa y abaratar
costes trae primero la integración de todos los chips de control de periféricos (las
llamadas placas multi-IO pasan de tener hasta 5 chips a integrar más funciones en
uno sólo) y con la llegada del bus PCI y las especificaciones ATX de los primeros
chipsets tal y como los conocemos ahora.

De igual manera en este documento se verá; La secuencia de instrucciones


resultante es un programa en lenguaje de máquina que representa al algoritmo en
cuestión. El mismo enfoque general se utiliza para permitir a la computadora realizar
funciones especificadas por instrucciones individuales de máquina. Esto es, cada
una de estas instrucciones se ejecuta realizando una secuencia de operaciones más
rudimentarias. Estas operaciones, y los medios por los cuales se generan, serán el
tema principal de análisis en este trabajo.

Desarrollo
El Chipset es el que hace posible que la placa base funcione como eje del sistema, dando soporte a
varios componentes e interconectándolos de forma que se comuniquen entre ellos haciendo uso de
diversos buses. Es uno de los pocos elementos que tiene conexión directa con el procesador,
gestiona la mayor parte de la información que entra y sale por el bus principal del procesador, del
sistema de vídeo y muchas veces de la memoria RAM.

4
En el caso de los computadores PC, es un esquema de arquitectura abierta que establece
modularidad: el Chipset debe tener interfaces estándar para los demás dispositivos. Esto permite
escoger entre varios dispositivos estándar, por ejemplo en el caso de los buses de expansión,
algunas tarjetas madre pueden tener bus PCI-Express y soportar diversos tipos de tarjetas con de
distintos anchos de bus (1x, 8x, 16x).

En el caso de equipos portátiles o de marca, el chipset puede ser diseñado a la medida y aunque no
soporte gran variedad de tecnologías, presentará alguna interfaz de dispositivo.

La terminología de los integrados ha cambiado desde que se creó el concepto del chipset a principio
de los años 90, pero todavía existe equivalencia haciendo algunas aclaraciones:

• El NorthBridge, puente norte, MCH (Memory Controller Hub), GMCH (Graphic MCH), se
usa como puente de enlace entre el microprocesador y la memoria. Controla las
funciones de acceso hacia y entre el microprocesador, la memoria RAM, el puerto
gráfico AGP o el PCI-Express de gráficos, y las comunicaciones con el puente sur. Al
principio tenía también el control de PCI, pero esa funcionalidad ha pasado al puente
sur.
• El SouthBridge o puente sur, ICH (Input Controller Hub), controla los dispositivos
asociados como son la controladora de discos IDE, puertos USB, FireWire, SATA, RAID,
ranuras PCI, ranura AMR, ranura CNR, puertos infrarrojos, disquetera, LAN, PCI-Express
1x y una larga lista de todos los elementos que podamos imaginar integrados en la placa
madre. Es el encargado de comunicar el procesador con el resto de los periféricos.

En la actualidad los principales fabricantes de chipsets son AMD, ATI Technologies (comprada en
2006 por AMD), Intel, NVIDIA, Silicon Integrated Systems y VIA Technologies

El termino chipset en la electrónica


También en electrónica se utiliza el termino chipset para referirnos al circuito integrado o conjunto
de ellos que fueron diseñados específicamente para un equipo electrónico, siendo imposible su
utilización para otro propósito que no fuese el planificado por sus fabricantes. Estos circuitos
integrados albergan en su interior prácticamente la totalidad de los componentes del dispositivo,
requiriendo de unos pocos componentes adicionales en el circuito impreso, difíciles o imposibles de
integrar, como condensadores, cristales de cuarzo, inductores o memorias RAM que ocupan una
gran superficie del chip y tienen una alta tasa de fallos en la fabricación. Tampoco se suelen integrar
las memorias flash donde se almacena el firmware.

5
3.1.1 CPU
La unidad central de procesamiento o CPU (por el acrónimo en inglés de central processing unit), o
simplemente el procesador o microprocesador, es el componente del computador y otros
dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa
los datos. Los CPU proporcionan la característica fundamental de la computadora digital (la
programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de
cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se
conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde
mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente
todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado usualmente a todos los
microprocesadores.

La expresión "unidad central de proceso" es, en términos generales, una descripción de una cierta
clase de máquinas de lógica que pueden ejecutar complejos programas de computadora. Esta
amplia definición puede fácilmente ser aplicada a muchos de los primeros computadores que
existieron mucho antes que el término "CPU" estuviera en amplio uso. Sin embargo, el término en
sí mismo y su acrónimo han estado en uso en la industria de la informática por lo menos desde el
principio de los años 1960 . La forma, el diseño y la implementación de los CPU ha cambiado
drásticamente desde los primeros ejemplos, pero su operación fundamental ha permanecido
bastante similar.

Los primeros CPU fueron diseñados a la medida como parte de una computadora más grande,
generalmente una computadora única en su especie. Sin embargo, este costoso método de diseñar
los CPU a la medida, para una aplicación particular, ha desaparecido en gran parte y se ha sustituido
por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos
propósitos. Esta tendencia de estandarización comenzó generalmente en la era de los transistores
discretos, computadoras centrales, y
microcomputadoras, y fue acelerada rápidamente
con la popularización del circuito integrado (IC),
éste ha permitido que sean diseñados y fabricados
CPU más complejos en espacios pequeños (en la
orden de milímetros). Tanto la miniaturización
como la estandarización de los CPU han aumentado
la presencia de estos dispositivos digitales en la vida
moderna mucho más allá de las aplicaciones
limitadas de máquinas de computación dedicadas.
Los microprocesadores modernos aparecen en Ilustración 1
todo, desde automóviles, televisores, neveras,
calculadoras, aviones, hasta teléfonos móviles o celulares, juguetes, entre otros.

Casi todos los CPU tratan con estados discretos, y por lo tanto requieren una cierta clase de
elementos de conmutación para diferenciar y cambiar estos estados. Antes de la aceptación

6
comercial del transistor, los relés eléctricos y los tubos de vacío (válvulas termoiónicas) eran usados
comúnmente como elementos de conmutación. Aunque éstos tenían distintas ventajas de velocidad
sobre los anteriores diseños puramente mecánicos, no eran fiables por varias razones. Por ejemplo,
hacer circuitos de lógica secuencial de corriente directa requería hardware adicional para hacer
frente al problema del rebote de contacto. Por otro lado, mientras que los tubos de vacío no sufren
del rebote de contacto, éstos deben calentarse antes de llegar a estar completamente operacionales
y eventualmente fallan y dejan de funcionar por completo.1 Generalmente, cuando un tubo ha
fallado, el CPU tendría que ser diagnosticado para localizar el componente que falla para que pueda
ser reemplazado. Por lo tanto, los primeros computadores electrónicos, (basados en tubos de vacío),
generalmente eran más rápidas pero menos confiables que las computadoras electromecánicas,
(basadas en relés). Las computadoras de tubo, como el EDVAC, tendieron en tener un promedio de
ocho horas entre fallas, mientras que las computadoras de relés, (anteriores y más lentas), como el
Harvard Mark I, fallaban muy raramente . Al final, los CPU basados en tubo llegaron a ser dominantes
porque las significativas ventajas de velocidad producidas generalmente pesaban más que los
problemas de confiabilidad. La mayor parte de estos tempranos CPU síncronos corrían en
frecuencias de reloj bajas comparadas con los modernos diseños microelectrónicos, (ver más abajo
para una exposición sobre la frecuencia de reloj). Eran muy comunes en este tiempo las frecuencias
de la señal del reloj con un rango desde 100 kHz hasta 4 MHz, limitado en gran parte por la velocidad
de los dispositivos de conmutación con los que fueron construidos.

La complejidad del diseño de los CPU se incrementó a medida que varias tecnologías facilitaron la
construcción de dispositivos electrónicos más pequeños y confiables. La primera de esas mejoras
vino con el advenimiento del transistor. Los CPU transistorizados durante los años 1950 y los años
1960 no tuvieron que ser construidos con elementos de conmutación abultados, no fiables, y
frágiles, como los tubos de vacío y los relés eléctricos. Con esta mejora, fueron construidos CPU más
complejos y más confiables sobre una o varias tarjetas de circuito impreso que contenían
componentes discretos (individuales).

Durante este período, ganó popularidad un método de fabricar muchos transistores en un espacio
compacto. El circuito integrado (IC) permitió que una gran cantidad de transistores fueran
fabricados en una simple oblea basada en semiconductor o "chip". Al principio, solamente circuitos
digitales muy básicos, no especializados, como las puertas NOR fueron miniaturizados en IC. Los CPU
basadas en estos IC de "bloques de construcción" generalmente son referidos como dispositivos de
pequeña escala de integración "small-scale integration" (SSI). Los circuitos integrados SSI, como los
usados en el computador guía del Apollo (Apollo Guidance Computer), usualmente contenían
transistores que se contaban en números de múltiplos de diez. Construir un CPU completo usando
IC SSI requería miles de chips individuales, pero todavía consumía mucho menos espacio y energía
que diseños anteriores de transistores discretos. A medida que la tecnología microelectrónica
avanzó, en los IC fue colocado un número creciente de transistores, disminuyendo así la cantidad
de IC individuales necesarios para un CPU completo. Los circuitos integrados MSI y el LSI (de

7
mediana y gran escala de integración) aumentaron el número de transistores a cientos, y luego a
miles.

En 1964, IBM introdujo su arquitectura de computador System/360, que fue usada en una serie de
computadores que podían ejecutar los mismos programas con velocidades y desempeños diferentes.
Esto fue significativo en un tiempo en que la mayoría de las computadoras electrónicas eran
incompatibles entre sí, incluso las hechas por el mismo fabricante. Para facilitar esta mejora, IBM
utilizó el concepto de microprograma, a menudo llamado "microcódigo", ampliamente usado aún
en los CPU modernos . La arquitectura System/360 era tan popular que dominó el mercado del
mainframe durante las siguientes décadas y dejó una herencia que todavía aún perdura en las
computadoras modernas, como el IBM zSeries. En el mismo año de 1964, Digital Equipment
Corporation (DEC) introdujo otro computador que sería muy influyente, dirigido a los mercados
científicos y de investigación, el PDP-8. DEC introduciría más adelante la muy popular línea del PDP-
11, que originalmente fue construido con IC SSI pero eventualmente fue implementado con
componentes LSI cuando se convirtieron en prácticos. En fuerte contraste con sus precursores
hechos con tecnología SSI y MSI, la primera implementación LSI del PDP-11 contenía un CPU
integrado únicamente por cuatro circuitos integrados LSI .

Los computadores basados en transistores tenían varias ventajas frente a sus predecesores. Aparte
de facilitar una creciente fiabilidad y un menor consumo de energía, los transistores también
permitían al CPU operar a velocidades mucho más altas debido al corto tiempo de conmutación de
un transistor en comparación a un tubo o relé. Gracias tanto a esta creciente fiabilidad como al
dramático incremento de velocidad de los elementos de conmutación que por este tiempo eran casi
exclusivamente transistores, se fueron alcanzando frecuencias de reloj del CPU de decenas de
megahertz. Además, mientras que los CPU de transistores discretos y circuitos integrados se usaban
comúnmente, comenzaron a aparecer los nuevos diseños de alto rendimiento como procesadores
vectoriales SIMD (Single Instrucción Múltiple Data) (Simple Instrucción Múltiples Datos). Estos
primeros diseños experimentales dieron lugar más adelante a la era de las supercomputadoras
especializadas, como los hechos por Cray Inc.

Microprocesadores
Desde la introducción del primer microprocesador, el Intel 4004, en 1970, y del primer
microprocesador ampliamente usado, el Intel 8080, en 1974, esta clase de CPUs ha desplazado casi
totalmente el resto de los métodos de implementación de la Unidad Central de Proceso. Los
fabricantes de mainframes y minicomputadores de ese tiempo lanzaron programas de desarrollo
de IC propietarios para actualizar sus más viejas arquitecturas de computador, y eventualmente
produjeron microprocesadores con conjuntos de instrucciones que eran compatibles hacia atrás
con sus más viejos hardware y softwares. Combinado con el advenimiento y el eventual vasto éxito
del ahora ubicua computadora personal, el término "CPU" es aplicado ahora casi exclusivamente a
los microprocesadores.

Las generaciones previas de CPUs fueron implementadas como componentes discretos y numerosos
circuitos integrados de pequeña escala de integración en una o más tarjetas de circuitos. Por otro

8
lado, los microprocesadores son CPUs
fabricados con un número muy pequeño de IC;
usualmente solo uno. El tamaño más pequeño
del CPU, como resultado de estar
implementado en una simple pastilla, significa
tiempos de conmutación más rápidos debido a
factores físicos como el decrecimiento de la
capacitancia parásita de las puertas. Esto ha
permitido que los microprocesadores síncronos
tengan tiempos de reloj con un rango de
Ilustración 2
decenas de megahercios a varios gigahercios.
Adicionalmente, como ha aumentado la
capacidad de construir transistores excesivamente pequeños en un IC, la complejidad y el número
de transistores en un simple CPU también se ha incrementado dramáticamente. Esta tendencia
ampliamente observada es descrita por la ley de Moore, que ha demostrado hasta la fecha, ser una
predicción bastante exacta del crecimiento de la complejidad de los CPUs y otros IC.

Mientras que, en los pasados sesenta años han cambiado drásticamente, la complejidad, el tamaño,
la construcción, y la forma general del CPU, es notable que el diseño y el funcionamiento básico no
ha cambiado demasiado. Casi todos los CPU comunes de hoy se pueden describir con precisión
como máquinas de programa almacenado de von Neumann.

A medida que la ya mencionada ley del Moore continúa manteniéndose verdadera, se han
presentado preocupaciones sobre los límites de la tecnología de transistor del circuito integrado. La
miniaturización extrema de puertas electrónicas está causando los efectos de fenómenos que se
vuelven mucho más significativos, como el electro migración, y el su umbral de pérdida. Estas más
nuevas preocupaciones están entre los muchos factores que hacen a investigadores estudiar nuevos
métodos de computación como la computadora cuántica, así como ampliar el uso de paralelismo, y
otros métodos que extienden la utilidad del modelo clásico de von Neumann.

Operación del CPU


La operación fundamental de la mayoría de los CPU, es ejecutar una secuencia de instrucciones
almacenadas llamadas "programa". El programa es representado por una serie de números que se
Mante tienen en una cierta clase de memoria de computador. Hay cuatro pasos que casi todos los
CPU de arquitectura de von Neumann usan en su operación: fetch, decode, execute, y writeback,
(leer, decodificar, ejecutar, y escribir).

El primer paso, leer (fetch), implica el recuperar una instrucción, (que es representada por un
número o una secuencia de números), de la memoria de programa. La localización en la memoria
del programa es determinada por un contador de programa (PC), que almacena un número que
identifica la posición actual en el programa. En otras palabras, el contador de programa indica al
CPU, el lugar de la instrucción en el programa actual. Después de que se lee una instrucción, el
Contador de Programa es incrementado por la longitud de la palabra de instrucción en términos de

9
unidades de memoria.2 Frecuentemente la instrucción a ser leída debe ser recuperada de memoria
relativamente lenta, haciendo detener al CPU mientras espera que la instrucción sea retornada. Este
problema es tratado en procesadores modernos en gran parte por los cachés y las arquitecturas
pipeline (ver abajo).

La instrucción que el CPU lee desde la memoria es usada


para determinar qué deberá hacer el CPU. En el paso de
decodificación, la instrucción es dividida en partes que
tienen significado para otras unidades del CPU. La
manera en que el valor de la instrucción numérica es
interpretado está definida por la arquitectura del
conjunto de instrucciones (el ISA) del CPU.3 A menudo,
un grupo de números en la instrucción, llamados opcode,
indica qué operación realizar. Las partes restantes del
número usualmente proporcionan información
requerida para esa instrucción, como por ejemplo,
operandos para una operación de adición. Tales
operandos se pueden dar como un valor constante
Ilustración 3 operacion del CPU (llamado valor inmediato), o como un lugar para localizar
un valor, que según lo determinado por algún modo de
dirección, puede ser un registro o una dirección de memoria. En diseños más viejos las unidades del
CPU responsables de decodificar la instrucción eran dispositivos de hardware fijos. Sin embargo, en
CPU e ISAs más abstractos y complicados, es frecuentemente usado una microprograma para
ayudar a traducir instrucciones en varias señales de configuración para el CPU. Esta microprograma
es a veces reescribidle de tal manera que puede ser modificado para cambiar la manera en que el
CPU decodifica instrucciones incluso después de que haya sido fabricado.

Después de los pasos de lectura y decodificación, es llevado a cabo el paso de la ejecución de la


instrucción. Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas
pueden realizar la operación deseada. Si, por ejemplo, una operación de adición fue solicitada, una
unidad aritmético lógica (ALU) será conectada a un conjunto de entradas y un conjunto de salidas.
Las entradas proporcionan los números a ser sumados, y las salidas contendrán la suma final. La ALU
contiene la circuitería para realizar operaciones simples de aritmética y lógica en las entradas, como
adición y operaciones de bits (bitwise). Si la operación de adición produce un resultado demasiado
grande para poder ser manejado por el CPU, también puede ser ajustada una bandera (flag) de
desbordamiento aritmético localizada en un registro de banderas (ver abajo la sección sobre rango
de números enteros).

El paso final, la escritura (writeback), simplemente "escribe" los resultados del paso de ejecución a
una cierta forma de memoria. Muy a menudo, los resultados son escritos a algún registro interno
del CPU para acceso rápido por subsecuentes instrucciones. En otros casos los resultados pueden

10
ser escritos a una memoria principal más lenta pero más barata y más grande. Algunos tipos de
instrucciones manipulan el contador de programa en lugar de directamente producir datos de
resultado. Éstas son llamadas generalmente "saltos" (jumos) y facilitan comportamientos como
|bucles (los), la ejecución condicional de programas (con el uso de saltos condicionales), y funciones
en programas.4 Muchas instrucciones también cambiarán el estado de dígitos en un registro de
"banderas". Estas banderas pueden ser usadas para influenciar cómo se comporta un programa,
puesto que a menudo indican el resultado de varias operaciones. Por ejemplo, un tipo de instrucción
de "comparación" considera dos valores y fija un número, en el registro de banderas, de acuerdo a
cuál es el mayor. Entonces, esta bandera puede ser usada por una posterior instrucción de salto
para determinar el flujo de programa.

Después de la ejecución de la instrucción y la escritura de los datos resultantes, el proceso entero


se repite con el siguiente ciclo de instrucción, normalmente leyendo la siguiente instrucción en
secuencia debido al valor incrementado en el contador de programa. Si la instrucción completada
era un salto, el contador de programa será modificado para contener la dirección de la instrucción
a la cual se saltó, y la ejecución del programa continúa normalmente. En CPUs más complejos que
el descrito aquí, múltiples instrucciones pueden ser leídas, decodificadas, y ejecutadas
simultáneamente. Esta sección describe lo que es referido generalmente como el "entubado RISC
clásico" (Classic RISC pipeline), que de hecho es bastante común entre los CPU simples usados en
muchos dispositivos electrónicos, a menudo llamados microcontroladores.5

Diseño e implementación
Rango de enteros

La manera en que un CPU representa los números


es una opción de diseño que afecta las más básicas
formas en que el dispositivo funciona. Algunas de
las primeras calculadoras digitales usaron, para
representar números internamente, un modelo
eléctrico del sistema de numeración decimal común
(base diez). Algunas otras computadoras han usado
sistemas de numeración más exóticos como el
ternario (base tres). Casi todos los CPU modernos
representan los números en forma binaria, en
donde cada dígito es representado por una cierta
cantidad física de dos valores, como un voltaje
"alto" o "bajo".6
Ilustración 4 Diseño e implementación

Con la representación numérica están relacionados el tamaño y la precisión de los números que un
CPU puede representar. En el caso de un CPU binario, un bit se refiere a una posición significativa
en los números con que trabaja un CPU. El número de bits (o de posiciones numéricas, o dígitos)

11
que un CPU usa para representar los números, a menudo se llama "tamaño de la palabra", "ancho
de bits", "ancho de ruta de datos", o "precisión del número entero" cuando se ocupa estrictamente
de números enteros (en oposición a números de coma flotante). Este número difiere entre las
arquitecturas, y a menudo dentro de diferentes unidades del mismo CPU. Por ejemplo, un CPU de
8 bits maneja un rango de números que pueden ser representados por ocho dígitos binarios, cada
dígito teniendo dos valores posibles, y en combinación los 8 bits teniendo 28 ó 256 números
discretos. En efecto, el tamaño del número entero fija un límite de hardware en el rango de números
enteros que el software corre y que el CPU puede usar directamente.7

El rango del número entero también puede afectar el número de posiciones en memoria que el CPU
puede direccionar (localizar). Por ejemplo, si un CPU binario utiliza 32 bits para representar una
dirección de memoria, y cada dirección de memoria representa a un octeto (8 bits), la cantidad
máxima de memoria que el CPU puede direccionar es 232 octetos, o 4 GB. Ésta es una vista muy
simple del espacio de dirección del CPU, y muchos diseños modernos usan métodos de dirección
mucho más complejos como paginación para localizar más memoria que su rango entero permitiría
con un espacio de dirección plano.

Niveles más altos del rango de números enteros requieren más estructuras para manejar los dígitos
adicionales, y por lo tanto, más complejidad, tamaño, uso de energía, y generalmente costo. Por
ello, no es del todo infrecuente, ver microcontroladores de 4 y 8 bits usados en aplicaciones
modernas, aun cuando están disponibles CPU con un rango mucho más alto (de 16, 32, 64, e incluso
128 bits). Los microcontroladores más simples son generalmente más baratos, usan menos energía,
y por lo tanto disipan menos calor. Todo esto pueden ser consideraciones de diseño importantes
para los dispositivos electrónicos. Sin embargo, en aplicaciones del extremo alto, los beneficios
producidos por el rango adicional, (más a menudo el espacio de dirección adicional), son más
significativos y con frecuencia afectan las opciones del diseño. Para ganar algunas de las ventajas
proporcionadas por las longitudes de bits tanto más bajas, como más altas, muchas CPUs están
diseñadas con anchos de bit diferentes para diferentes unidades del dispositivo. Por ejemplo, el IBM
Sistem/370 usó un CPU que fue sobre todo de 32 bits, pero usó precisión de 128 bits dentro de sus
unidades de coma flotante para facilitar mayor exactitud y rango de números de coma flotante .
Muchos diseños posteriores de CPU usan una mezcla de ancho de bits similar, especialmente
cuando el procesador está diseñado para usos de propósito general donde se requiere un razonable
equilibrio entre la capacidad de números enteros y de coma flotante.

Frecuencia de reloj

La mayoría de los CPU, y de hecho, la mayoría de los dispositivos de lógica secuencial, son de
naturaleza síncrona.8 Es decir, están diseñados y operan en función de una señal de sincronización.
Esta señal, conocida como señal de reloj, usualmente toma la forma de una onda cuadrada periódica.
Calculando el tiempo máximo en que las señales eléctricas pueden moverse en las varias

12
bifurcaciones de los muchos circuitos de un CPU, los diseñadores pueden seleccionar un período
apropiado para la señal del reloj.

Este período debe ser más largo que la cantidad de tiempo que toma a una señal moverse, o
propagarse, en el peor de los casos. Al fijar el período del reloj a un valor bastante mayor sobre el
retardo de la propagación del peor caso, es posible diseñar todo el CPU y la manera que mueve los
datos alrededor de los "bordes" de la subida y bajada de la señal del reloj. Esto tiene la ventaja de
simplificar el CPU significativamente, tanto en una perspectiva de diseño, como en una perspectiva
de cantidad de componentes. Sin embargo, esto también tiene la desventaja que todo el CPU debe
esperar por sus elementos más lentos, aun cuando algunas unidades de la misma son mucho más
rápidas. Esta limitación ha sido compensada en gran parte por varios métodos de aumentar el
paralelismo del CPU (ver abajo).

Sin embargo, las solamente mejoras


arquitectónicas no solucionan todas las
desventajas de CPUs globalmente síncronas.
Por ejemplo, una señal de reloj está sujeta a
los retardos de cualquier otra señal eléctrica.
Velocidades de reloj más altas en CPUs cada
vez más complejas hacen más difícil de
mantener la señal del reloj en fase
(sincronizada) a través de toda la unidad.
Esto ha conducido que muchos CPU
modernos requieran que se les proporcione
múltiples señales de reloj idénticas, para
evitar retardar una sola señal lo suficiente
significativamente como para hacer al CPU
Ilustración 5 Frecuencia de reloj| funcionar incorrectamente. Otro
importante problema cuando la velocidad
del reloj aumenta dramáticamente, es la cantidad de calor que es disipado por el CPU. La señal del
reloj cambia constantemente, provocando la conmutación de muchos componentes (cambio de
estado) sin importar si están siendo usados en ese momento. En general, un componente que está
cambiando de estado, usa más energía que un elemento en un estado estático. Por lo tanto, a
medida que la velocidad del reloj aumenta, así lo hace también la disipación de calor, causando que
el CPU requiera soluciones de enfriamiento más efectivas.

Un método de tratar la conmutación de componentes innecesarios se llama el clock gating, que


implica apagar la señal del reloj a los componentes innecesarios, efectivamente desactivándolos.
Sin embargo, esto es frecuentemente considerado como difícil de implementar y por lo tanto no ve
uso común afuera de diseños de muy baja potencia.9 Otro método de tratar algunos de los
problemas de una señal global de reloj es la completa remoción de la misma. Mientras que quitar

13
la señal global del reloj hace, de muchas maneras, considerablemente más complejo el proceso del
diseño, en comparación con diseños síncronos similares, los diseños asincrónicos (o sin reloj) tienen
marcadas ventajas en el consumo de energía y la disipación de calor. Aunque algo infrecuente, CPUs
completas se han construido sin utilizar una señal global de reloj. Dos notables ejemplos de esto son
el AMULET, que implementa la arquitectura del ARM, y el MiniMIPS, compatible con el MIPS R3000.
En lugar de remover totalmente la señal del reloj, algunos diseños de CPU permiten a ciertas
unidades del dispositivo ser asincrónicas, como por ejemplo, usar ALUs asincrónicas en conjunción
con pipelining superescalar para alcanzar algunas ganancias en el desempeño aritmético. Mientras
que no está completamente claro si los diseños totalmente asincrónicos pueden desempeñarse a
un nivel comparable o mejor que sus contrapartes síncronas, es evidente que por lo menos
sobresalen en las más simples operaciones matemáticas. Esto, combinado con sus excelentes
características de consumo de energía y disipación de calor, los hace muy adecuados para sistemas
embebidos .

Paralelismo

La descripción de la operación básica de un CPU ofrecida en la sección anterior describe la forma


más simple que puede tomar un CPU. Este tipo de CPU, usualmente referido como subescalar, opera
sobre y ejecuta una sola instrucción con una o dos piezas de datos a la vez.

Este proceso da lugar a una ineficacia inherente en CPUs subescalares. Puesto que solamente una
instrucción es ejecutada a la vez, todo el CPU debe esperar que esa instrucción se complete antes
de proceder a la siguiente instrucción. Como resultado, el CPU subescalar queda "paralizado" en
instrucciones que toman más de un ciclo de reloj para completar su ejecución. Incluso la adición de
una segunda unidad de ejecución (ver abajo) no mejora mucho el desempeño. En lugar de un camino

Ilustración 6 paralelismo

14
quedando congelado, ahora dos caminos se paralizan y aumenta el número de transistores no
usados. Este diseño, en donde los recursos de ejecución del CPU pueden operar con solamente una
instrucción a la vez, solo puede, posiblemente, alcanzar el desempeño escalar (una instrucción por
ciclo de reloj). Sin embargo, el desempeño casi siempre es subescalar (menos de una instrucción por
ciclo).

Las tentativas de alcanzar un desempeño escalar y mejor, han resultado en una variedad de
metodologías de diseño que hacen comportarse al CPU menos linealmente y más en paralelo.
Cuando se refiere al paralelismo en los CPU, generalmente son usados dos términos para clasificar
estas técnicas de diseño.

• El paralelismo a nivel de instrucción, en inglés Instruction Level Parallelism (ILP), busca


aumentar la tasa en la cual las instrucciones son ejecutadas dentro de un CPU, es decir,
aumentar la utilización de los recursos de ejecución en la pastilla
• El paralelismo a nivel de hilo de ejecución, en inglés thread level parallelism (TLP), que
se propone incrementar el número de hilos (efectivamente programas individuales) que
un CPU pueda ejecutar simultáneamente.

Cada metodología se diferencia tanto en las maneras en las que están implementadas, como en la
efectividad relativa que producen en el aumento del desempeño del CPU para una aplicación.

ILP: Entubado de instrucción y arquitectura superescalar

Uno de los más simples métodos usados para lograr incrementar el paralelismo es comenzar los
primeros pasos de leer y decodificar la instrucción antes de que la instrucción anterior haya
terminado de ejecutarse. Ésta es la forma más simple de una técnica conocida como instruction
pipelining (entubado de instrucción), y es utilizada en casi todos los CPU de propósito general
modernos. Al dividir la ruta de ejecución en etapas discretas, la tubería permite que más de una
instrucción sea ejecutada en cualquier tiempo. Esta separación puede ser comparada a una línea de
ensamblaje, en la cual una instrucción es hecha más completa en cada etapa hasta que sale de la
tubería de ejecución y es retirada.

Ilustración 7 entubado de instrucciones

15
Sin embargo, la tubería introduce la posibilidad de una situación donde es necesario terminar el
resultado de la operación anterior para completar la operación siguiente; una condición llamada a
menudo como conflicto de dependencia de datos. Para hacer frente a esto, debe ser tomado un
cuidado adicional para comprobar estas clases de condiciones, y si esto ocurre, se debe retrasar una
porción de la tubería de instrucción. Naturalmente, lograr esto requiere circuitería adicional, los
procesadores entubados son más complejos que los subescalares, pero no mucho. Un procesador
entubado puede llegar a ser casi completamente escalar, solamente inhibido por las abruptas
paradas de la tubería (una instrucción durando más de un ciclo de reloj en una etapa).

Una mejora adicional sobre la idea del entubado de instrucción (instruction pipelining) condujo al
desarrollo de un método que disminuye incluso más el tiempo ocioso de los componentes del CPU.
Diseños que se dice que son superescalares incluyen una larga tubería de instrucción y múltiples
unidades de ejecución idénticas. En una tubería superescalar, múltiples instrucciones son leídas y
pasadas a un despachador, que decide si las instrucciones se pueden o no ejecutar en paralelo
(simultáneamente). De ser así, son despachadas a las unidades de ejecución disponibles, dando por
resultado la capacidad para que varias instrucciones sean ejecutadas simultáneamente. En general,
cuanto más instrucciones un CPU superescalar es capaz de despachar simultáneamente a las
unidades de ejecución en espera, más instrucciones serán completadas en un ciclo dado.

La mayor parte de la dificultad en el diseño de una arquitectura superescalar de CPU descansa en


crear un despachador eficaz. El despachador necesita poder determinar rápida y correctamente si
las instrucciones pueden ejecutarse en paralelo, tan bien como despacharlas de una manera que
mantenga ocupadas tantas unidades de ejecución como sea posible. Esto requiere que la tubería de
instrucción sea llenada tan a menudo como sea posible y se incrementa la necesidad, en las
arquitecturas superescalares, de cantidades significativas de caché de CPU. Esto también crea
técnicas para evitar peligros como la predicción de bifurcación, ejecución especulativa, y la
ejecución fuera de orden, cruciales para mantener altos niveles de desempeño.

• La predicción de bifurcación procura predecir qué rama (o trayectoria) tomará una


instrucción condicional, el CPU puede minimizar el número de tiempos que toda la
tubería debe esperar hasta que sea completada una instrucción condicional.
• La ejecución especulativa frecuentemente proporciona aumentos modestos del
desempeño al ejecutar las porciones de código que pueden o no ser necesarias después
de que una operación condicional termine.
• La ejecución fuera de orden cambia en algún grado el orden en el cual son ejecutadas
las instrucciones para reducir retardos debido a las dependencias de los datos.

En el caso donde una porción del CPU es superescalar y una parte no lo es, la parte que no es
superescalar sufre en el desempeño debido a las paradas de horario. El Intel Pentium original (P5)
tenía dos ALUs superescalares que podían aceptar, cada una, una instrucción por ciclo de reloj, pero
su FPU no podía aceptar una instrucción por ciclo de reloj. Así el P5 era superescalar en la parte de
números enteros pero no era superescalar de números de coma (o punto [decimal]) flotante. El
16
sucesor a la arquitectura del Pentium de Intel, el P6, agregó capacidades superescalares a sus
funciones de coma flotante, y por lo tanto produjo un significativo aumento en el desempeño de
este tipo de instrucciones.

El entubado simple y el diseño superescalar aumentan el ILP de un CPU al permitir a un solo


procesador completar la ejecución de instrucciones en ratios que sobrepasan una instrucción por
ciclo (IPC).11 La mayoría de los modernos diseños de CPU son por lo menos algo superescalares, y
en la última década, casi todos los diseños de CPU de propósito general son superescalares. En los
últimos años algo del énfasis en el diseño de computadores de alto ILP se ha movido del hardware
del CPU hacia su interface de software, o ISA. La estrategia de la muy larga palabra de instrucción,
very long instruction word (VLIW), causa a algún ILP a ser implícito directamente por el software,
reduciendo la cantidad de trabajo que el CPU debe realizar para darle un empuje significativo al ILP
y por lo tanto reducir la complejidad del diseño.

TLP: ejecución simultánea de hilos


Otra estrategia comúnmente usada para aumentar el paralelismo de los CPU es incluir la habilidad
de correr múltiples hilos (programas) al mismo tiempo. En general, CPUs con alto TLP han estado en
uso por mucho más tiempo que los de alto ILP. Muchos de los diseños en los que Seymour Cray fue
pionero durante el final de los años 1970 y los años1980 se concentraron en el TLP como su método
primario de facilitar enormes capacidades de computación (para su tiempo). De hecho, el TLP, en la
forma de mejoras en múltiples hilos de ejecución, estuvo en uso tan temprano como desde los años
1950 . En el contexto de diseño de procesadores individuales, las dos metodologías principales
usadas para lograr el TLP son, multiprocesamiento a nivel de chip, en inglés chip-level
multiprocessing (CMP), y el multihilado simultáneo, en inglés simultaneous multithreading (SMT).
En un alto nivel, es muy común construir computadores con múltiples CPU totalmente
independientes en arreglos como multiprocesamiento simétrico (symmetric multiprocessing (SMP))
y acceso de memoria no uniforme (Non-Uniform Memory Access (NUMA)).12 Aunque son usados
medios muy diferentes, todas estas técnicas logran la misma meta: incrementar el número de hilos
que el CPU(s) puede correr en paralelo.

Los métodos de paralelismo CMP y de SMP son similares uno del otro y lo más directo. Éstos
implican algo más conceptual que la
utilización de dos o más CPU
completos y CPU independientes. En
el caso del CMP, múltiples "núcleos"
de procesador son incluidos en el
mismo paquete, a veces en el mismo
circuito integrado.13 Por otra parte,
el SMP incluye múltiples paquetes
independientes. NUMA es algo
similar al SMP pero usa un modelo de
Ilustración 8 hilos acceso a memoria no uniforme. Esto

17
es importante para los computadores con muchos CPU porque el tiempo de acceso a la memoria,
de cada procesador, es agotado rápidamente con el modelo de memoria compartido del SMP,
resultando en un significativo retraso debido a los CPU esperando por la memoria. Por lo tanto,
NUMA es considerado un modelo mucho más escalable, permitiendo con éxito que en un
computador sean usados muchos más CPU que los que pueda soportar de una manera factible el
SMP. El SMT se diferencia en algo de otras mejoras de TLP en que el primero procura duplicar tan
pocas porciones del CPU como sea posible. Mientras es considerada una estrategia TLP, su
implementación realmente se asemeja más a un diseño superescalar, y de hecho es frecuentemente
usado en microprocesadores superescalares, como el POWER5 de IBM. En lugar de duplicar todo el
CPU, los diseños SMT solamente duplican las piezas necesarias para lectura, decodificación, y
despacho de instrucciones, así como cosas como los registros de propósito general. Esto permite a
un CPU SMT mantener sus unidades de ejecución ocupadas más frecuentemente al proporcionarles
las instrucciones desde dos diferentes hilos de software. Una vez más esto es muy similar al método
superescalar del ILP, pero ejecuta simultáneamente instrucciones de múltiples hilos en lugar de
ejecutar concurrentemente múltiples instrucciones del mismo hilo.

Procesadores vectoriales y el SIMD


Un menos común pero cada vez más importante paradigma de CPU (y de hecho, de computación
en general) trata con vectores. Los procesadores de los que se ha hablado anteriormente son todos
referidos como cierto tipo de dispositivo escalar.14 Como implica su nombre, los procesadores
vectoriales se ocupan de múltiples piezas de datos en el contexto de una instrucción, esto contrasta
con los procesadores escalares, que tratan una pieza de dato por cada instrucción. Estos dos
esquemas de ocuparse de los datos son generalmente referidos respectivamente como SISD (Single
Instruction, Single Data|) (Simple Instrucción, Simple Dato) y SIMD (Single Instruction, Multiple
Data) (Simple Instrucción, Múltiples Datos). La gran utilidad en crear CPUs que se ocupen de
vectores de datos radica en la optimización de tareas que tienden a requerir la misma operación,
por ejemplo, una suma, o un producto escalar, a ser realizado en un gran conjunto de datos. Algunos
ejemplos clásicos de este tipo de tareas son las aplicaciones multimedia (imágenes, vídeo, y sonido),
así como muchos tipos de tareas científicas y de ingeniería. Mientras que un CPU escalar debe
completar todo el proceso de leer, decodificar, y ejecutar cada instrucción y valor en un conjunto
de datos, un CPU vectorial puede realizar una simple operación en un comparativamente grande
conjunto de datos con una sola instrucción. Por supuesto, esto es solamente posible cuando la
aplicación tiende a requerir muchos pasos que apliquen una operación a un conjunto grande de
datos.

18
La mayoría de los primeros CPU vectoriales, como el Cray-1, fueron asociados casi exclusivamente
con aplicaciones de investigación científica y criptografía. Sin embargo, a medida que la multimedia
se desplazó en gran parte a medios digitales, ha llegado a ser significativa la necesidad de una cierta
forma de SIMD en CPUs de propósito general. Poco después de que comenzara a ser común incluir
unidades de coma flotante en procesadores de uso general, también comenzaron a aparecer
especificaciones e implementaciones de unidades de ejecución SIMD para los CPU de uso general.
Algunas de estas primeras especificaciones SIMD, como el MMX de Intel, fueron solamente para
números enteros. Esto demostró ser un impedimento significativo para algunos desarrolladores de
software, ya que muchas de las aplicaciones que se beneficiaban del SIMD trataban sobre todo con
números de coma flotante. Progresivamente, éstos primeros diseños fueron refinados y rehechos
en alguna de las comunes, modernas especificaciones SIMD, que generalmente están asociadas a
un ISA. Algunos ejemplos modernos notables son el SSE de Intel y el AltiVec relacionado con el
PowerPC (también conocido como VMX).

3.1.2 Controlador de Bus


El Bus es la vía a través de la que se van a transmitir y recibir todas las comunicaciones, tanto internas
como externas, del sistema informático. El bus es solamente un Dispositivo de Transferencia de
Información entre los componentes conectados a él, no almacena información alguna en ningún
momento. Los datos, en forma de señal eléctrica, sólo permanecen en el bus el tiempo que
necesitan en recorrer la distancia entre los dos componentes implicados en la transferencia. En una
unidad central de Bus de sistema típica el bus se subdivide en tres buses o grupos de líneas:

• Bus de Control.

19
• Bus de Datos.
• Direcciones.

Bus de Direcciones
Es un canal de comunicaciones constituido
por líneas que apuntan a la dirección de
memoria que ocupa o va a ocupar la
información a tratar. Una vez direccionada la
posición, la información, almacenada en la
memoria hasta ese momento, pasará a la
CPU a través del bus de datos. Para
Ilustración 9 Dispositivos de entrada
determinar la cantidad de memoria
directamente accesible por la CPU, hay que
tener en cuenta el número de líneas que integran el bus de direcciones, ya que cuanto mayor sea el
número de líneas, mayor será la cantidad de direcciones y, por tanto, de memoria a manejar por el
sistema informático.

Bus de Datos
El bus de datos es el medio por el que se transmite la instrucción o dato apuntado por el bus de
direcciones. Es usado para realizar el intercambio de instrucciones y datos tanto internamente,
entre los diferentes componentes del sistema informático, como externamente, entre el sistema
informático y los diferentes subsistemas periféricos que se encuentran en el exterior, una de las
características principales de una computadora es el número de bits que puede transferir el bus de
datos (16, 32, 64, etc.). Cuanto mayor sea este número, mayor será la cantidad de información que
se puede manejar al mismo tiempo.

Bus de Control
Es un número variable de líneas a través de las que se controlan las unidades complementarías. El
número de líneas de control dependerá directamente de la cantidad que pueda soportar el tipo de
CPU utilizada y de su capacidad de direccionamiento de información.

3.1.3 Puertos de E/S


En computación, entrada/salida, también abreviado E/S o I/O (del original en inglés input/output),
es la colección de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema
de procesamiento de información para comunicarse unas con otras, o las señales (información)

20
enviadas a través de esas interfaces. Las entradas son las señales recibidas por la unidad, mientras
que las salidas son las señales enviadas por ésta. El término puede ser usado para describir una
acción; "realizar una entrada/salida" se refiere a ejecutar una operación de entrada o de salida. Los
dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De
hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora,
mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora.
Los dispositivos típicos para la comunicación entre computadoras realizan las dos operaciones,
tanto entrada como salida, y entre otros se encuentran los módems y tarjetas de red.

Es importante notar que la designación de un dispositivo, sea de entrada o de salida, cambia al


cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el
movimiento físico que el usuario produce como salida y lo convierten a una señal eléctrica que la
computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora.
De manera análoga, los monitores e impresoras toman como entrada las señales que la
computadora produce como salida. Luego, convierten esas señales en representaciones inteligibles
que puedan ser interpretadas por el usuario. La interpretación será, por ejemplo, por medio de la
vista, que funciona como entrada.

En arquitectura de computadoras, a la combinación de una unidad central de procesamiento (CPU)


y memoria principal (aquélla que la CPU puede escribir o leer directamente mediante instrucciones
individuales) se la considera el corazón de la computadora y cualquier movimiento de información
desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitería complementaria
proveen métodos de entrada/salida que se usan en programación de bajo nivel para la
implementación de controladores de dispositivos.

Los sistemas operativos y lenguajes de programación de más alto nivel brindan conceptos y
primitivas de entrada/salida distintos y más abstractos. Por ejemplo, un sistema operativo brinda
aplicativos que manejan el concepto de archivos. El lenguaje de programación C define funciones
que les permiten a sus programas realizar E/S a través de streams, es decir, les permiten leer datos
desde y escribir datos hacia sus programas.

Una alternativa para las funciones primitivas especiales es la mónada de E/S, que permite que los
programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta
interesante, pues las funciones de E/S introducirían un efecto colateral para cualquier lenguaje de
programación, pero ahora una programación puramente funcional resultaría práctica.

Dispositivos de entrada y salida


• Entrada:
o Teclado
o Ratón
o Joystick
o Lápiz óptico
o Micrófono
o Webcam

21
o Escáner
o Escáner de código de barras
• Salida:
o Monitor
o Altavoz
o Auriculares
o Impresora
o Plotter
o Proyector
• Entrada/salida:
o Unidades de almacenamiento
o CD
o DVD
o Módem
o Fax
o Memory cards
o USB
o Router
o Pantalla táctil

Ilustración 10 puertos E/S

3.1.4 Controlador de instrucciones


Este circuito integrado controla las interrupciones del sistema. Como el microprocesador sólo posee
dos entradas de interrupción, y puede controlar muchas más, es necesario algún integrado que no
permita ello. El 8259 cumple este propósito.

22
El funcionamiento del 8259 es muy sencillo: Supongamos que no queda ninguna interrupción
pendiente y el CPU está trabajando en el “Programa principal”. Al activarse una línea de interrupción,
el 8259 verifica que no haya otra interrupción pendiente, y si no la hay, envía una señal a través del
pin INTR hacia el pin INTR del CPU, adicionalmente, envía a través del bus de datos, el número de
interrupción que se ha activado, de tal manera que el CPU ya sabe qué servicio de interrupción va a
usar. Una vez que recibió el CPU este valor, activa su pin INTA, indicando que ya recibió y está
ejecutando el servicio. Una vez que el CPU termina, el pin INTA se desactiva, indicando al 8259 que
está listo para procesar otras interrupciones.

Las rutinas de los servicios de interrupción están vectorizadas en las primeras posiciones de
memoria, y están distribuidas de la manera siguiente: El los dos primeros bytes corresponden al
valor que irá al registro IP, que indica el desplazamiento; y los dos siguientes, corresponden al
registro CS, que indica el segmento donde está el servicio de interrupción. Estos dos pares de bytes
se inician en la posición de memoria 0000h y corresponden a la interrupción 0; los siguientes cuatro
corresponden a la interrupción 1, y así sucesivamente hasta las 256 interrupciones (total 1024 bytes).
Esto significa que el usuario puede crear su propio servicio de interrupción y accederlo a través de
la manipulación de estos bytes.

El 8259, posee varios modos de configuración, dependiendo de la manera cómo se desea que se
traten a las interrupciones

Hay que tener en cuenta que la interrupción no enmascarable NMI, va directamente a CPU y es la
encargada de indicar errores de paridad en la memoria, fallos de circuiteria y el procesador
matemático. En el PC/XT original es posible un total de 256 interrupciones, de las cuales 8 son por
hardware y las demás por software.

La distribución de las interrupciones en el PC/XT es:

IRQ

FUNCION

IRQ0

Reloj en tiempo real

IRQ1

Teclado

IRQ2

PC-Net

IRQ3

Puerto serie secundario

23
IRQ4

Puerto serie primario

IRQ5

Disco duro

IRQ6

Diskette

IRQ7

Impresora

El 8259 posee cuatro palabras de control que se encargan de configurar al integrado para que
funcione correctamente. En la primera palabra de estado (ICW1), se configura el modo del 8259 (es
decir para que trabaje junto con otro más y ampliar las interrupciones), el modo de disparo de las
interrupciones (Nivel o flanco descendente) y parte de los vectores de interrupción.

En la segunda palabra de estado (ICW2), se configuran los vectores de interrupción.

La tercera palabra funciona cuando el 8259 trabaja en modo múltiple con otros más. Aquí se
configura el modo maestro/esclavo.

El la ICW4, se configura el modo de manejo de las interrupciones (modo buffered, interrupciones


anidadas y el tipo de procesador al que se conecta)

Hay que tener en cuenta que el pin INTR del CPU se puede configurar para que no reciba
interrupciones (en ensamblador CLI). El pin NMI no se puede deshabilitar y esta interrupción puede
interrumpir a cualquier otra interrupción que se esté ejecutando en ese momento.

3.1.5 Controlador de DMA


El mecanismo de acceso directo a memoria está controlado por un chip específico, el DMAC (“DMA
Controller”), que permite realizar estos intercambios sin apenas intervención del procesador. En los
XT estaba integrado en un chip 8237A que proporcionaba 4 canales de 8 bits (puede mover solo 1
Byte cada vez); sus direcciones de puerto son 000–00Fh. Posteriormente en los AT se instalaron dos
de estos integrados y las correspondientes líneas auxiliares en el bus de control.

En contra de lo que podría parecer, el resultado no fue disponer de 8 canales, porque el segundo
controlador se colgó en “Cascada” de la línea 4 del primero (más adelante se explica este concepto ).
Los canales del segundo DMAC está asignado a las direcciones 0C0–0DFh y son de 16 bits. Pueden
mover 2 Bytes (de posiciones contiguas) cada vez.

24
Cada canal tiene asignada una prioridad para el caso de recibirse simultáneamente varias peticiones
(los números más bajos tienen prioridad más alta). Pueden ser utilizados por cualquier dispositivo
que los necesite (suponiendo naturalmente que esté diseñado para soportar este modo de
operación). Cada sistema los asigna de forma arbitraria, pero hay algunos cuya asignación es
estándar.

El acceso directo a memoria permite a cierto tipo de componentes de ordenador acceder a la


memoria del sistema para leer o escribir independientemente de la CPU principal. Muchos sistemas
hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas
de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite
a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de
interrupciones.

Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo


a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el
controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa
a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser
planificado para efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el
rendimiento de aplicaciones que requieran muchos recursos.

Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí que se necesita
el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes
estrategias para regular su uso, permitiendo así que no quede totalmente acaparado por el
controlador DMA.

Caché Problema de Coherencia


La DMA puede llevar a problemas de coherencia de caché. Imagine una CPU equipada con una
memoria caché y una memoria externa que se pueda acceder directamente por los dispositivos que
utilizan DMA. Cuando la CPU accede a X lugar en la memoria, el valor actual se almacena en la caché.
Si se realizan operaciones posteriores en X, se actualizará la copia en caché de X, pero no la versión
de memoria externa de X. Si la caché no se vacía en la memoria antes de que otro dispositivo intente
acceder a X, el dispositivo recibirá un valor caducado de X.

Del mismo modo, si la copia en caché de X no es inválida cuando un dispositivo escribe un nuevo
valor en la memoria, entonces la CPU funcionará con un valor caducado de X.

Este problema puede ser abordado en una de las dos formas en el diseño del sistema:

• Los sistemas de caché coherente implementan un método en el hardware externo


mediante el cual se escribe una señal en el controlador de caché, la cual realiza una
invalidación de la caché para escritura de DMA o caché de descarga para lectura de
DMA.

25
• Los sistemas no-coherente dejan este software, donde el sistema operativo debe
asegurarse de que las líneas de caché se vacían antes de que una transferencia de salida
de DMA sea iniciada y anulada antes de que una parte de la memoria sea afectada por
una transferencia entrante de DMA que se haya requierido. El sistema operativo debe
asegurarse de que esa parte de memoria no es accedida por cualquier subproceso que
se ejecute en ese instante. Este último enfoque introduce cierta sobrecarga a la
operación de DMA, ya que la mayoría de hardware requiere un bucle para invalidar
cada línea de caché de forma individual.

Los híbridos también existen, donde en la caché secundaria L2 es coherente, mientras que en la
caché L1 (generalmente la CPU) es gestionado por el software.

Secuencia de eventos
Una operación de E/S por DMA se establece ejecutando una corta rutina de inicialización. Consiste
en varias instrucciones de salida para asignar valores iniciales a:

- AR: Direccion de memoria de la región de datos de E/S IOBUF (buffer de entrada/salida). - WC:
Número N de palabras de datos a transferir.

Una vez inicializado, el DMA procede a transferir datos entre IOBUF y el dispositivo de E/S. Se realiza
una transferencia cuando el dispositivo de E/S solicite una operación de DMA a través de la línea de
petición del DMAC.

Después de cada transferencia, se decrementa el valor de WC y se incrementa el de AR.

La operación termina cuando WC=0, entonces el DMAC (o el periférico) indica la conclusión de la


operación enviando al procesador una petición de interrupción.

Secuencia de eventos detallada


1- El procesador inicializa el DMAC programando AR y WC.
2- El dispositivo de E/S realiza una petición de DMA al DMAC.
3- El DMAC le responde con una señal de aceptación.
4- El DMAC activa la línea de petición de DMA al procesador.
5- Al final del ciclo del bus en curso, el procesador pone las líneas del bus del sistema en alta
impedancia y activa la cesión de DMA.
6- El DMAC asume el control del bus.
7- El dispositivo de E/S transmite una nueva palabra de datos al registro intermedio de datos
del DMAC.
8- El DMAC ejecuta un ciclo de escritura en memoria para transferir el contenido del registro
intermedio a la posición M[AR].
9- El DMAC decrementa WC e incrementa AR.
10- El DMAC libera el bus y desactiva la línea de petición de DMA.

26
11- El DMAC compara WC con 0:

Si WC > 0, se repite desde el paso 2.<br>

Si WC = 0, el DMAC se detiene y envía una petición de interrupción al procesador.<br>

3.1.6 Circuitos de temporización y control


El Circuito de temporizador y control: Es una red secuencial que acepta un código que define la
operación que se va a ejecutar y luego prosigue a través de una secuencia de estados, generando
una correspondiente secuencia de señales de control. Estas señales de control incluyen el control
de lectura escritura y señales de dirección de memoria válida en el bus de control del sistema.
Otras señales generadas por el controlador se conectan a la unidad aritmética lógica y a los registros
internos del procesador para regular el flujo de información en el procesador y a, y desde, los buses
de dirección y de datos del sistema.

El temporizador es un circuito que se encuentra en la tarjeta matriz (Mother Borrad) de la PC y que


es capaz de mantener una cuenta de tiempo basada en el reloj de la computadora. Puede usarse
para calcular el intervalo entre dos mediciones de tiempo o para generar pausas.

Este chip tiene la capacidad de realizar diferentes funciones de conteo. Es útil para medir el tiempo
que dura cierto proceso o para mantener actualizadas la hora del día y la fecha si se deja la PC
conectada y encendida (en el caso de computadoras anteriores a la AT, pues esta tiene un reloj de
batería integrado; a este respaldo de batería se le conoce como CMOS (complementary MOS).

El chip mantiene tres contadores independientes (definidos como 0, 1, 2), cada uno de los cuales es
alimentado por una señal que equivale a 1.19318 MHZ. El contador obtiene una capacidad máxima
de conteo que asciende a 65 536. Su salida tiene una frecuencia de 18.2 HZ.(1.19/65536)
aproximadamente. Por lo tanto, cualquier acción que interrumpa a la PC ocurrirá 18.2 veces por
segundo (cada 55 ms o cada 0.055 segundos en forma redondeada).

Dicha acción genera una interrupción llamada interrupción del contador, la cual interrumpe
brevemente la CPU e incrementa la cuenta del día.

Cuando el contador del canal cero llega a 0 (los tres contadores del temporizador timer siempre
cuentan en forma regresiva), significa que la hora es exactamente las 24:00 (hora militar) y entonces
es inicializado a cero de nuevo. El contador 1 es usado por la PC para realizar el proceso de
refrescamiento de memoria (DMA memory Refresh) y no debe ser alterado bajo ninguna
circunstancia.

El contador 2 generalmente se encuentra programado para trabajar con la bocina. Los primeros dos
contadores (0 y 1) envían una interrupción a la CPU mientras que el 2 no lo hace.

27
3.1.7 Controladores de video
a Los controladores son circuitos de entrada que tienen todas las impresoras. Son los que procesan
la información en primer lugar para saber exactamente qué les está llegando y como manipular los
datos. Básicamente, un controlador de una impresora recoge los datos que proceden del PC y los
convierte en datos de imagen que deberán pasar a lo que llamamos “video interface” de la
impresora. Este otro dispositivo, se encarga de recuperar los datos que ha dejado el controlador e
inyectarlos hasta el sistema de escritura del periférico.
Los datos de imagen indican si un punto es blanco o negro, en c aso de una impresora de color de
que color será ese punto.

Veamos un ejemplo de la formación de una letra “A”:

1. El controlador recibe un dato del ordenador. Ese dato es el número 41h. según una tabla el
controlador interpreta que 41h quiere decir “A”.

Ilustración 11 controladores de video

2. tras interpretar el dato como una A el controlador busca en sus fuentes la forma de esa letra.

28
29
3. una vez se ha creado toda la imagen de una página esta se le pasa al video interface. Los datos de
una página pasados a imagen se llaman datos rasterizados o rípeados.

Los datos rasterízados se transmiten a la video interface de línea a línea.

30
3.2 Aplicaciones
3.2.1 Entrada/Salida.
ENTRADA

Los dispositivos de entrada, como hemos visto, tienen una función determinada: suministrar datos
a la CPU. Veamos los más importantes:

El TECLADO

Es quizás el periférico al cual se presenta menor atención. Y no hay razón para este desaire ya que
es un dispositivo esencial y frente al que se pasan muchas horas. Siendo esto así, elegir un teclado
de calidad repercutirá también en el rendimiento de nuestro trabajo, sobre todo si éste está basado
en el procesador de textos.

Las características principales que describen un teclado son las siguientes:

Sistema de Conexión: Esta puede ser mediante AT (o DIM de 5 pines): un conector redondo del
tamaño de un pulgar; PS-2 (o Míni-Dim): parecido al anterior pero más pequeño de diámetro; o USB,
es un nuevo sistema de conectividad que permite instalar y desinstalar periféricos “en caliente” (sin
apagar el ordenador). Hay otros, pero estos son los principales. Debemos elegir el sistema adecuado
para poder conectar el teclado a nuestra placa. Existen en venta, no obstante, adaptadores entre
Dim a Mini-Dim y viceversa.

¿Mecaníco o membrana?: El teclado mecánico basa el mecanismo de pulsación de las teclas en


unos muelles o resortes. Los de membrana utilizan para este fin un sistema parecido al de los
mandos a distancia de la TV. Es decir, una membrana de plástico realiza el contacto y vuelve a la
tecla a su posición inicial. Esta característica hace al teclado mecánico más robusto y resistente, pero
también de tacto más duro.

Díseño: Los teclados ergonómicos, con hot-Reys (teclas de acceso rápido configurables), con mini-
joysticR, etc; son elecciones disponibles en el mercado las cuales solo hay que valorar si su precio es
acorde con nuestras necesidades.

Ilustración 12 Teclado

31
EL RATON

Sistema de conexión: Vale lo dicho para los teclados. También es frecuente la conexión al puerto
serie.

Tecnología utilizada: Aquí podemos diferenciar: ratones mecánicos, son los más comunes, la guía
del puntero se realiza mediante una bola que se desliza sobre unos ejes; ópticos, utilizan tecnología
óptica, lo que los hace más precisos; optomecánicos, un híbrido. Existen otras tecnologías, pero
mucho menos utilizadas.

Díseño: También encontramos los que apuestan por la ergonomía, los colores y formas originales,
etc. Dentro de este periférico podemos diferenciar los TracR-ball: dispositivos de puntero ideales
para lo que no disponen de mucho espacio de escritorio. En ellos, en vez de desplazar el ratón sobre
una alfombrilla, el movimiento se realiza girando una bola o rodillo sobre un eje fijo.

Número de botones: Dos o tres. Con dos normalmente es suficiente. El tercero (central)
normalmente es configurable y se utiliza en contadas aplicaciones. También los hay con botones
laterales, ruedas, etc. Si esto es útil o un engorro es algo que deberá valorar el usuario.

Ilustración 13Mause

JOYSTICK

Sistema de conexión: Van conectados al puerto juegos de la placa, al de la tarjeta de sonido, al


puerto o puertos de una tarjeta de juegos, o eventualmente, al puerto serie o paralelo. Aunque la
opción del puerto de la tarjeta de sonido es con mucho la más utilizada por ahorro de recursos.
Tecnología: Aquí dependiendo del tipo de JoystíckR que estemos hablando (palanca, joypad, volante,
etc) la tecnología utilizada es variopinta. A pesar de ello es útil optar por mandos robustos y que
ofrezcan buen soporte de software. Los basados en tecnología digital son ideales para los que se
requieran precisión en sus “batallas” particulares.

Muchos joysticR permiten de forma sencilla y simplemente mediante el uso de un cable especial (en
forma de Y), la utilización de dos dispositivos simultáneos. Gran cosa para compartir la acción con
amigos/as.

32
Ilustración 14 Joystick

ESCÁNER

Un escáner es un periférico el cual nos permite digitalizar imágenes o texto con el fin de pasar esta
información a un fichero, normalmente con el fin de modificarlo o almacenarlo en soportes de alta
capacidad.

A tener en cuenta:

Sistema de Conexión: Lo más extendido es conectarlos al puerto de impresora y ésta a su vez, al


escáner. Con lo que con el uso de un solo puerto tendremos dos dispositivos. También existen otras
opciones, como la conexión a puerto SCSI o USB.

Sistema de escaneo: Los escáner de sobremesa permiten tratar imágenes provenientes de libros o
revistas. Los de rodillo o las impresoras convertidas a escáner (mediante la utilización de un cabezal
especial) tienen el inconveniente de limitar nuestro trabajo a documentos que puedan pasar por su
torno. Los escáner de mano son muy versátiles pero también poco útiles para trabajos que requieran
gran resolución.

Resolución: Hay en el mercado gran oferta en capacidad de resolución. Esto afecta a la calidad con
la que podremos obtener el documento resultante. Ésta se mide en dpi (dot per inchs = puntos por
pulgada, también PPP). Es frecuente encontrar información sobre la resolución real y la resolución
por interpolación (mediante software), las cuales no son comparables y deben tenerse en cuenta a
la hora de elegir varias ofertas. No obstante hay que tener en cuenta que para cualquier usuario
normal o semi-profesional, un escáner de gama media-baja es más que suficiente, ya que éstos
ofrecen resoluciones superiores a las que nuestra memoria RAM puede soportar (Y también nuestro
disco duro).

Capacidad de escáneo: Los escáner de sobremesa y rodillo normales aceptan tamaños de hasta DIN
A4 o folio. Otros tamaños mayores requerirían escáner especiales.

33
Ilustración 15 Escaner

CD-ROM

La unidad de Cd-Rom, así como los DVD, son la única respuesta al aumento de tamaño que en los
últimos tiempos han experimentado los programas. Prácticamente toda la información electrónica
se distribuye ya en Cd-Roms y la caída de precios de las unidades grabadoras de este soporte lo han
hecho aún más popular. Siendo estos así, el lector de Cd-Roms es un dispositivo imprescindible en
cualquier PC.

Sistema de conexión: Lo habitual es a puerto IDE (como los discos duros), pero también podemos
encontrarlos a puerto SCSI e incluso externos a puerto paralelo. Ver sí disponemos de un puerto
libre adecuado y, en el caso de los internos, de hueco en la c aja para alojarlo, es lo primero que
debemos averiguar.

Tiempo medio de acceso (TMA): Es el tiempo, medido en milisegundos, que tarda como media la
cabeza lectora en situarse en un punto concreto del disco. A menor tiempo, lógicamente, más
efectividad y velocidad en la lectura de datos.

Velocidad: Medida en kilobytes por segundo (Kb/s), nos indica la velocidad máxima de transferencia
de datos. La transferencia de un Cd-Rom X1 es 150 Kb/s. tomando eso como referencia podremos
averiguar fácilmente qué nos indica las unidades llamadas x2, x4,…, x40. Efectivamente hay que
multiplicar el número entero por 150 y tendremos la velocidad de transferencia máxima de nuestra
unidad. Cuanto más rápida, menos tardará en leer una cierta cantidad de datos. Eso sí, en unidades
muy rápidas debemos asegurarnos que el nivel de ruido durante el funcionamiento es aceptable.

Memoria buffer: Indica si la unidad dispone de una cantidad de memoria donde almacena datos
que después serán reclamados por el microprocesador, acelerando así su lectura. Mejor si tiene, y
cuanta más, mejor.

Compatibilidad de formatos: Pese a lo que pueda parecer a simple vista, no todos los Cd-Roms
están grabados en el mismo formato. Un compacto musical, un programa o un DVD pueden tener
aspectos parecidos pero no contienen lo mismo ni todos los lectores son capaces de reconocerlos y

34
leerlos. Cualquier unidad moderna podrá leer la mayoría de los formatos; no así si disponemos de
una con más de 2 o 3 años de antigüedad.

Ilustración 16 Cd-Rom

SALIDA

MONITOR

Tecnología: Tubo de rayos catódicos, lo normal; o cristal líquido, lo normal en portátiles y monitores
ultramodernos de pantalla plana. También debemos prestar atención a otras características
relacionadas como sí el tubo es Trinitron (mas caro pero mayor pureza de color). En la elección debe
primar el estudio de nuestras necesidades y también de nuestra economía.

Resolución máxima: Indica a la máxima resolución (en PPP, puntos por pulgada) que puede trabajar
el monitor, lo cual como vemos no depende sólo de la tarjeta gráfica. Cuanta más mejor.

Tamaño: Medido en pulgadas (= 25,4 mm) se refiere a la diagonal, es decir, la distancia entre una
esquina y su opuesta. El tamaño es importante sobre todo cuando se trabaja con varias aplicaciones
a la vez o cuando utilizamos programas que a su vez abren otras muchas ventanas (programas de
diseño). También si por cualquier otra necesidad necesitamos una pantalla que sirva también para
presentaciones o reproducción de vídeo. Un monitor de 15 pulgadas es una buena opción para el
usuario medio, a partir de ese tamaño los precios se disparan.

Tamaño del punto: Llamado también dot pich. Se refiere al diámetro, medido en mm, de los orificios
por los cuales pasan los rayos catódicos. A menor tamaño, más definición tendrán las imágenes
vistas en pantalla. Lo normal es 0,25-0,28.

Baja radiación: Como su nombre indica define que existe una baja emisión, por parte del tubo, de
radiaciones electrostáticas y electromagnéticas. Sin ésta característica la única solución será utilizar
un buen filtro de pantalla o un parche para cada ojo.

Multisync (Multifrecuencia): Sí nuestro ordenador es Multisync podrá adaptarse automáticamente


(o manualmente) a diferentes modos de video o resoluciones. Con ello, junto con el control digital
de la imagen, podremos utilizar siempre todo el tamaño de pantalla.

35
Otros aspectos como los monitores multimedia (con micrófono y altavoces incorporados), pantallas
planas, el diseño, etc. Deberán tenerse en cuenta dependiendo de las necesidades.

Ilustración 17 Monitor

IMPRESORA

Un elemento casi obligatorio si se posee un ordenador es una impresora. ¿Quién no tiene que
imprimir alguna vez un currículo, una carta o una foto molona? Claro que también hay quien
imprime una carta al mes y quien imprime 1000 al día. Hay quien busca resolución fotográfica y
quien nunca imprime en color. Para eso está la variedad, las necesidades propias de cada uno.

Tecnología: Hoy día lo más extendido son las impresoras de inyección o láser. Pero también nos
podemos encontrar con más de las que creemos de las de tipo aguja. Las impresoras de aguja
imprimen como una máquina de escribir. Es decir, por contacto de unas piezas metálicas (agujas)
con una cinta impregnada de tinta y el papel. Sus inconvenientes es que son ruidosas, de baja
resolución y no muy limpias. ¿Ventajas? Puedes encontrar alguna de segunda mano casi gratis. Y sí
total, sólo la quieres para imprimir el borrador de tus apuntes de derecho… las de inyección, como
su nombre indica, funcionan por inyección directa de la tinta al papel (eso sí, a una ínfima distancia),
poseen resoluciones casi fotográficas y son mucho más silenciosas que las anteriores. Los
inconvenientes son sobre todo el alto precio de los cartuchos de tinta, en ocasiones de escándalo.
Las impresoras láser, pese a ser la opción más cara en principio, es la más recomendada para los
usuarios que necesiten imprimir gran cantidad de documentos ya que el precio por una impresión
de buena calidad es bastante bajo.

Resolución: Indicada en PPP (puntos por pulgada) o matriz de puntos (punto ancho x puntos largo).
A mayor resolución, más calidad podriamos llegar a obtener en nuestras impresiones.

Admisión de papel: Debemos fijarnos tanto en el tamaño del papel con el que es capaz de trabajar;
como si admite modo vertical o apaisado; sí se posee alimentador de hojas automático y de qué
capacidad; y sí admite sobres, etiquetas y papeles especiales.

36
¿Color?: No todas las impresoras pueden imprimir a color. Algunas necesitan la compra adicional
de un cartucho de color que no viene incluido en el precio. También no todas ellas poseen la misma
calidad de impresión a color. Es algo que deberemos valorar.

Tamaño y diseño: No todas son iguales, pero su formato exterior no es lo único que las diferencia.
Una impresora muy pequeña puede ser una magnifica solución a la falta de espacio o como
compañera de un equipo portátil. Sin embargo, suelen tener un gran gasto en consumibles debido
a que como los cartuchos de tinta también son pequeños se gastan rápidamente y por su peculiar
formato reducido normalmente valen más que los otros (que de por si ya son caros).

Consumibles: Quizás el aspecto que el usuario doméstico más debería mirar con lupa. Los precios
de los consumibles: cartuchos, toners, etc, pueden resultar un gran handicap a la hora de decidirnos.
Ciertas marcas venden impresoras baratas pero con un gasto en consumibles superior a sus
competidores (bien sea porque consumen más o porque el precio es mayor). Si no queremos
llevarnos un susto de cuidado debemos elegir impresoras con consumibles baratos y fáciles de
encontrar en los comercios. No teniendo esta preocupación nos puede salir cuenta comprar una
impresora nueva cada vez que se nos gaste la tinta.

Velocidad de impresión: Número de páginas por minuto, contando siempre con que la prueba se
realiza con un DIN A4 completamente escrito por una cara. Normalmente veremos la velocidad en
B/N y color. Cuando más rápido mejor, pero no deberíamos desembolsar una gran cantidad de
dinero sólo por esto.

Ilustración 18 Impresora

3.2.2 ALMACENAMIENTO

Unidades de disquete

Por malo y anticuado que sea un ordenador, siempre dispone de al menos uno de estos aparatos.
Su capacidad es totalmente insuficiente para las necesidades actuales, pero cuentan con la ventaja
que les dan los muchos años que llevan como estándar absoluto para almacenamiento portátil.

Tamaño Tipo de disco Capacidad Explicación

37
5,25” SS/DD 180 Kb Una cara,
doble
densidad.
Desfasado
5,25” DS/DD 360 Kb Dos caras,
doble
densidad.
Desfasado
5,25” DS/HP 1,2 MB Dos caras,
alta
densidad.
Desfasado
pero útil
3,5” DS/DD 720 Kb Dos caras,
doble
densidad.
Desfasado
pero muy
común
3,5” DS/HD 1,44 MB Dos caras,
alta
densidad.
El estándar
actual.

Discos duros

Son otro de los elementos habituales en los ordenadores, al menos desde los tiempos del 286. Un
disco duro está compuesto de numerosos discos de material sensible a los campos magnéticos,
apilados unos sobre otros; en realidad se parece mucho a una pila de disquetes sin sus fundas y con
el mecanismos de giro y el brazo lector incluido en la carcasa.

Los discos duros han evolucionado mucho desde los modelos primitivos de 10 ó 20 MB. Actualmente
los tamaños son del orden de varios gigabytes, el tiempo medio de acceso es muy bajo (menos de

38
20 ms) y su velocidad de transferencia es tan alta que deben girar a más de 5.000 rpm (revoluciones
por minuto), lo que desgraciadamente hace que se calienten como demonios, por lo que no es
ninguna tontería instalarles un ventilador para su refrigeración.

Una diferencia fundamental entre unos y otros discos duros es su interfaz de conexión.
Antiguamente se usaban diversos tipos, como MFM, RLL o ESDI, aunque en la actualidad sólo se
emplean dos: IDE y SCSI.

Dispositivos de almacenamiento ópticos (CD y DVD)

Los discos ópticos están formados por una lámina circular de plástico con una
fina capa de material metálico reflectante, recubiertas a su vez por un barniz
transparente para su protección del polvo. Un haz láser va leyendo
microscópicos agujeros “pits” o espacios planos “lanas”, de forma que si el
láser es reflejado o no, se interpretará de forma digital como un 1 o un 0. un sistema óptico con
lentes encamina el haz luminoso, y lo enfoca como un punto en la capa del disco que almacena los
datos.

Podemos establecer una división en función de la longitud de onda del láser; de este modo tenemos
el CD, el DVD y actualmente se están lanzando dispositivos con tecnología de Láser Azul. Esto es,
disminuyendo la longitud de onda del láser, aumentamos la capacidad de escritura/lectura para el
mismo espacio físico en el disco.

Su capacidad de almacenamiento llega hoy a unos 800 MB de información. Habitualmente se utiliza


para almacenar datos o música.

3.2.3 FUENTES DE ALIMENTACIÓN

FUENTES DE ALMACENAMIENTO CONFIGURABLES: La serie MVP es la familia más versátil de


fuentes de alimentación de potencia media que utiliza componentes magnéticos de SMD y
convertidos DC-DC internos, combinados con módulos PFC, que pueden ser configurables desde 1
hasta 10 tensiones de salida con valores entre 2 y 60 V. tiene
todas las homologaciones de seguridad necesarias y es un
producto marcado ‘CE’.

FUENTES DE ALIMENTACIÓN DE BAJA POTENCIA: Las series LP y


Net de fuentes de alimentación conmutadas de baja potencia,
ofrecen una óptima combinación de prestaciones, precio y
fiabilidad, así como la última tecnología.
Ilustración 19 Fuente de alimentación

39
Estos dispositivos ofrecen potencias entre 25 y 350 W y están disponibles en una amplia variedad
de configuraciones, tanto en salida única como multisalida.

FUENTES DE ALIMENTACION DE GRAN POTENCIA: ASTEC es líder mundial en fuentes de


alimentación para telefonía, redes, fibra óptica y otras aplicaciones industriales donde se necesitan
alimentadores, cargadores de batería enchufables en caliente y paraleladles, para conseguir
configuraciones N+1. La serie VS es una fuente de alimentación modular, con diseño flexible, que
ofrece de 1 a 12 salidas con potencias entre 1000 a 2500 W por unidad.

3.3 AMBIENTES DE SERVICIOS.


El negocio de proveer servicios de datos es mucho más complejo que la forma en la que se dan los
tradicionales servicios, los primeros requieren de nuevos conocimientos y modelos de negocio, que
con frecuencia se termina involucrando o necesitando la colaboración de terceras empresas. Por lo
que se hace necesario que los operadores tradicionales transformen su negocio para ofrecer los
servicios de datos con los niveles de servicio que el mercado exige, las principales exigencias áreas
de negocio que debe ser consideradas se detallan en los siguientes párrafos.

1. Desarrollo de nuevos mercados y productos: Para un operador típico, la cadena de valor se han
expandido muy particularmente en el área de desarrollo de productos, los operadores deben
integrar y establecer relaciones con muchos nuevos actores para generar contenido, portales o
agregados al negocio como los ISP, así como construir las plataformas para el desarrollo de
productos, mejorar la segmentación y los clientes meta. El énfasis estará puesto en:

 Desarrollo de contenido: Los operadores de las redes deberán buscar esquemas de


compartir los ingresos y ofrecerle algún retorno financiero a los dueños del contenido.
 La incorporación de contenido: Muchos nuevos jugadores, así como las mayores
operadores de las redes, están luchando por convertirse en los dominadores de esta parte
del negocio.
 Portales (multi-acceso).
 Disponibilidad de aplicaciones: Los operadores deben ofrecer aplicaciones para uso de los
clientes que les genere nuevos ingresos por servicios.
 Mercadeo y desarrollo de nuevos productos: La segmentación se vuelve vital, como
proveedores de servicios, se debe segmentar y enfocarse en grupos de clientes en particular
y velar por sus necesidades especificas.

2. Adquisición y Administración de Clientes: La Administración y la retención de los clientes está


aumentado en importancia cada vez más, se busca mantener clientes leales; los CRM y los diferentes
dispositivos que se utilizan como medios de acceso se han diversificado, pasando a ser elementos
críticos en los negocios como herramientas para atraer y retenerlos. Esta porción de la provisión de
servicio en la cadena de valor ha llegado a ser muy competitiva, principalmente en los negocios de
ventas al por mayor, que incorporan a nuevos proveedores de servicios que los ayudaran a
enfocarse en grupos de clientes muy específicos. Los proveedores de servicios tendrán que aprender
a diferenciar la experiencia del cliente a través de su ciclo de vida completa, la ayuda de los

40
dispositivos como los CRMS se están volviendo extremadamente importantes conforme su
funcionalidad se expande más allá de la simple voz y la mensajería, entrando a manejar conceptos
de mayor conocimiento del cliente por medio de funciones de inteligencias de negocios que le
permitan conocer con lujo de detalle el comportamiento de compra del consumidor. Para lograr esa
fidelidad y conocimiento se debe estar enfocado en:

 Nuevos clientes: Hay muchos nuevos competidores, apalancando marcas, mejorando la


distribución, produciendo contenido, incorporando nuevas funcionalidades a los CRMS,
habilitando nuevas aplicaciones, etc. Por otro lado los operadores de la red también se están
enfocando sobre marcas como diferenciadores.
 Retención de clientes: Retener los clientes de alta gama debe ser uno de los focos
principales para los proveedores de servicios que dependen de la red y que ya están
establecidos.
 Administración de los clientes y canales: Diferenciarse a través de la experiencia del cliente,
reducir costos, mejorar el rendimiento, enfocarse en canales directos.
 Dispositivos: poner mucha atención al creciente uso de dispositivos móviles como las PDA,
de acceso inalámbrico diseñado para ofrecer servicios de computación y comunicación
específicos, va a ayudar considerablemente a posicionar la interfaz de acceso de los usuarios
a los servicios.

3. Proveer y desarrollar servicios para la red: Los operadores de las redes deben buscar un uso
eficiente de los activos, mejorar la calidad, el rendimiento, su utilización y el retorno financiero, las
oportunidades de ventas al por mayor seguirán en incremento.

Hay una oportunidad creciente en los servicios de valor agregado de las redes, los operadores deben
de crear una capa de servicios dentro de su negocio para soportar las aplicaciones inalámbricas,
tales como seguridad, ubicación, servicios al por mayor, etc.,tales como:

 Servicios principales de la red.


 Servicios de valor agregado de la red: Una de las áreas nuevas claves para los operadores
de la red, como seguridad, hospedaje de servicios, administración de dispositivos, respaldo
de datos, etc.
 Operación de la red.

4. Administración del negocio: Los expertos consideran que los operadores, cada vez más estarán
volcando sus ojos hacia todos aquellos elementos que no son parte del negocio principal, buscando
mejorar los costos, la eficiencia, la calidad y el rendimiento, las áreas candidatas a tercerizar son:

 Administración: El ambiente cada vez más complejo, hace que las empresas se enfocan cada
vez más en sus principales destrezas y fortalezas del negocio y complementar con la
administración de proveedores el resto de las actividades.
 HR, SCM, ERP, etc.: Son potenciales actividades que no son fundamentales del negocio y
son candidatos a ser sujetos a incrementar las relaciones con terceros que provean estos
servicios.
41
3.3.1 NEGOCIOS

La globalización está cambiando el mundo y lo ha convertido en un ambiente sumamente


competitivo, en el que no existen distancias ni fronteras y donde la información está al alcance de
las manos. Esta situación ha provocado una enorme presión sobre las organizaciones, que deben
flexibilizarse y encontrar nuevos mecanismos para afrontar las presiones, para innovar y en general
para sobrevivir.

En este nuevo mundo, el outsourcing ha surgido como una herramienta que facilita la gestión
empresarial y se ha convertido en un tema de actualidad. Sin embargo, más que una moda,
outsourcing es una forma eficaz para apoyar a las organizaciones y asegurar su supervivencia y tiene
su principal razón de ser en tres imperativos que deben considerar las organizaciones hoy en día:

 Enfocarse en un negocio.
 Asegurarse el acceso a la experiencia técnica que es crítica para el negocio.
 Focalizarse en operaciones optimizadas, reduciendo y controlando los costos.

En el caso de Tecnología de Información, el impacto del outsourcing es enorme: Outsourcing es la


principal fuente de crecimiento en el área de Servicios de Tecnología de Información (TI), y se ha
convertido en un elemento central de las prácticas de negocios de las compañías actuales, sin
importar el tamaño.

Empujados por la competencia de mercados, las empresas deben hacer un uso más intensivo de TI
y esto genera una mayor gama de oportunidades para el outsourcing. Pero esta tendencia requiere
también que los CIO y demás lideres de las organizaciones aprendan a manejar esta herramienta
como un mecanismo que permita alinear las funciones de TI con la estrategia de la organización. Los
CIO deben reconocer los límites de sus organizaciones para proveer los servicios estratégicos que
requiere la organización e iniciar el desarrollo de las prácticas del outsourcing y sobre todo, manejar
este mecanismo en forma efectiva.

Una consecuencia del outsourcing es que ha creado un nuevo modelo de relación cliente-proveedor,
una relación que busca la cooperación intensa entre ambos, convirtiendo una relación meramente
comercial en una alianza estratégica para compartir el conocimiento.

¿Qué es Outsourcing?

Outsourcing es una herramienta de gestión que combina la correcta determinación de la estrategia


con las medidas adecuadas para llevarla a cabo de una manera operativamente eficaz.

Esto significa que no se trata solo de eficacia operativa orientada hacia la estrategia organizacional.
Una organización puede tratar de ser más eficiente y eficaz y puede estar totalmente orientada al
logro de sus objetivos. Esto implica normalmente un gran número de funciones que debe realizar,

42
de las cuales, no todas están relacionadas directamente al logro de los objetivos estratégicos.
Algunas tareas solo son de apoyo a soporte.

Las organizaciones deben reconocer que es posible realizar todas estas tareas de forma eficiente y
deben identificar cuales de sus funciones son críticas para el logro de los objetivos estratégicos y
cuales son de apoyo. Una vez reconocidas y clasificadas las diversas funciones de esta forma, las
organizaciones deben enfocarse en las tareas críticas, las funciones que establecen la diferencia, es
decir, deben concentrarse en el NEGOCIO y deben considerar dar a terceros las funciones de soporte.
Esto es Outsourcing.

3.3.2 INDUSTRIA
La “industrialización” de los Servicios de Tecnología de Información va a redefinir el mercado en
términos de cómo las organizaciones evalúan, compran y seleccionan los servicios, y de cómo los
vendedores desarrollan, establecen precios e implementan los servicios.

El aumento de la estandarización y la consecuente disminución en la customización es un proceso


inevitable y es el resultado del tiempo y la experiencia en cualquier industria. La industria está en
un proceso de transición y el impacto de este viraje ya se siente.

Dentro del ambiente de TI (Tecnología de Información), existe una estrategia doble, que incluye
prácticas customizadas o estandarizadas. Los proveedores de outsourcing están respondiendo a
este llamado de la estandarización, para aprovechar las economías de escala, pero en forma
simultánea deben soportar una gran base instalada de ambientes desarrollados a la medida. Aunque
los servicios de TI están en proceso de madurez, la madurez de la industria se ha incrementado en
aspectos evidentes, como la forma en que los servicios son implementados y administrados.

Para lograr esta estandarización, se requiere un enfoque hacia soluciones “genéricas” y esto debe
ser responsabilidad de los proveedores, que deben desarrollar, operar y administrar el resultado de
estos genéricos de TI. Las métricas deben cambiar entonces, de la medida de capacidades técnicas
a la medida en el impacto en los negocios, es decir, en los acuerdos de niveles de servicio.

La industria de las telecomunicaciones y sus tendencias

Las empresas proveedoras de servicio de telecomunicaciones en estos tiempos tienen un reto


mayor, reducir los costos y paralelamente desarrollar iniciativas para crecer el negocio en un
mercado tradicional que se vuelve cada vez menos atractivo económicamente hablando. El mercado
de valores refleja una mejora muy considerable en el sector de los servicios de la industria de las
telecomunicaciones, y de las empresas que ofrecen los servicios completos.

43
Ilustración 20 Sistemas C. en la industria

Para mejorar los rendimientos los expertos recomiendan como una forma de lograr mayores
ahorros en los costos, tomar las siguientes medidas:

1. Bajar los costos de operación automatizando e integrando los procesos del negocio.
2. La utilización intensiva de los activos, por medio de la consolidación de las operaciones,
dotando a la empresa de una infraestructura escalable que le permita alcanzar los nuevos
requerimientos rápidamente.
3. Hacer inversiones de capital eficientemente, como Gastos de Capital justo a Tiempo, análisis
de costo/valor, una cadena de abastecimiento extendida y compras que les permita bajar
los precios a mayores niveles.
4. Explotar las sinergias a través de las operaciones, esto es, Centros de Servicios compartido
5. Administrar el riesgo y la incertidumbre, incorporando servicios administrados o
mercerizados a través de la cadena de valor o dentro de segmentos específicos.

Por el otro lado para crear nuevo valor a la empresa y generar ingresos adicionales recomiendan a
las empresas:

1. Apoyar los procesos e iniciativas de desarrollo de nuevos productos, que permita mejorar
el tiempo de lanzamiento al mercado de nuevas fuentes de generación de ingresos.
2. Administrar e incorporar alianzas en toda la cadena de valor.
3. Apoyar y soportar integraciones B2B (Negocio a Negocio) por medio de la adopción de
plataformas, sistemas y redes totalmente abiertas.
4. Proveer mecanismos para mantener un amplio conocimiento del mercado y de la empresa.

3.3.3 COMERCIO ELECTRÓNICO

El comercio electrónico consiste en la compra, venta, marketing y suministro de información

44
complementaria para productos o servicios a través de redes informáticas. La industria de la
tecnología de la información podría verlo como una aplicación informática dirigida a realizar
transacciones comerciales.

Una definición alternativa la vería como la conducción de comunicaciones de negocios comerciales


y su dirección a través de métodos electrónicos como intercambio electrónico de datos y sistemas
automáticos de recolección de datos. El comercio electrónico también incluye la transferencia de
información entre empresas.

Desarrollo histórico

El significado del término “comercio electrónico” ha cambiado a lo largo del tiempo. Originalmente,
“comercio electrónico” significaba la facilitación de transacciones comerciales electrónicamente,
normalmente utilizando tecnología como la Electronic Data Interchange (EDI, presentada finales de
los años 70) para enviar electrónicamente documentos como pedidos de compra o facturas.

Más tarde paso a incluir actividades más precisamente denominadas “Comercio en la red”. La
compra de bienes y servicios a través de la World Wide Web vía servidores seguros (véase HTTPS,
un protocolo de servidor especial que encripta la realización confidencial de pedidos para la
protección de los consumidores y los datos de la organización) con tarjetas de compra electrónica y
con servicios de pago electrónico como autorizaciones para tarjeta de crédito.

Factores claves del éxito en el comercio electrónico

Varios factores han tenido un importante papel en el éxito de las empresas de comercio electrónico.
Entre ellos se encuentran:

1. Proporcionar valor al cliente. Los vendedores pueden conseguirlo ofreciendo un producto


o una línea de producto que atraiga clientes potenciales a un precio competitivo al igual que
suceden en un entorno no electrónico.
2. Proporcionar servicio y ejecución. Ofrecimiento de una experiencia de compra amigable,
interactiva tal como se podría alcanzar en una situación cara a cara.
3. Proporcionar una página Web atractiva. El uso de colores, gráficos, animación, fotografías,
tipografías y espacio en blanco puede aumentar el éxito en este sentido.
4. Proporcionar un incentivo para los consumidores para comprar y devolver. Las promociones
de ventas pueden incluir cupones, ofertas especiales y descuentos. Las Webs unidas por
links y los programas de publicidad pueden ayudar en este aspecto.
5. Proporcionar atención personal. Webs personalizadas, sugerencias de compra y ofertas
especiales personalizadas pueden allanar el camino de sustituir el contacto personal que se
puede encontrar en un punto de venta tradicional.
6. Proporcionar un sentido de comunidad. Las áreas de chats, foros, registros como cliente,
esquemas de fidelización y programas de afinidad puede ayudar.

45
7. Proporcionar confianza y seguridad. Servidores paralelos, redundancia de hardware,
tecnología de seguridad en averías, encripta miento de la información y cortafuegos pueden
ampliar estos requisitos.
8. Proporcionar una visión de 360 grados de la relación con el consumidor, definida como la
seguridad de que todos los empleados, proveedores y socios tienen una visión global e
idéntica del consumidor. Sin embargo, los consumidores pueden no apreciar la experiencia
de “gran hermano”.
9. Poseer la experiencia total del consumidor. Esto se consigue tratando con el consumidor
como parte de una gran experiencia, lo que hace ver como sinónimo de la marca.
10. Optimizado los procesos de negocio, posiblemente a través de tecnologías de reingeniería
de la información.
11. Dejando que los consumidores se ayuden así mismos. Proporcionando sistemas de
autoayuda sin asistencia puede ayudar en este sentido.
12. Ayudar a los consumidores a hacer el trabajo de consumir. Los vendedores pueden
proporcionar esta ayuda ampliando la información comparativa y las búsquedas de
producto. La provisión de información de componentes y comentarios de seguridad e
higiene puede ayudar a los minoristas a definir el trabajo del comprador.
13. Construir un modelo de negocios sólido. Si este factor clave hubiera aparecido en los libros
de texto en 2000 muchas compañías ‘punto con’ no habrían quebrado.
14. Crear una cadena de valor añadido en la que uno se orienta a un número ‘limitado’ de
competencias claves. (Las tiendas electrónicas pueden presentarse bien como especialistas
o como generalistas si se programan correctamente).
15. Operar en o cerca del límite de la tecnología y permanecer allí mientras la tecnología sigue
cambiando (pero recordando que los principios fundamentales del comercio se mantienen
indiferentes a la tecnología).
16. Construir una organización con suficiente agilidad y sistemas de alerta para responder
rápidamente a los cambios en el entorno económico, social y físico.

Problemas del comercio electrónico

Incluso si el proveedor de productos en comercio electrónico sigue rigurosamente estos dieciséis


“factores clave” para diseñar una estrategia ejemplar de comercio electrónico, los problemas
pueden aparecer igualmente. Las causas de dichos problemas suelen ser:

1. No comprensión de los clientes, el por qué compran y cómo compran. Incluso un producto
con una proposición sólida de valor puede fallar si los fabricantes y distribuidores no
entienden los hábitos, expectativas y motivaciones de los consumidores. El comercio
electrónico podría llegar a mitigar este problema potencial con una investigación de
marketing proactiva y bien orientada tal como hacen los detallistas tradicionales.
2. No considerar el entorno competitivo. Uno puede tener la capacidad de construir un buen
modelo de negocios de librería electrónica pero no tener el deseo de competir con
Amazon.com.

46
3. No capacidad de predecir la reacción del entorno. ¿Qué harán los competidores?
¿Presentarán nuevas marcas o páginas Web competidoras? ¿Complementarán sus ofertas
de servicio? ¿Tratarán de sabotear el portal de la competencia? ¿se desatará una guerra de
precios? ¿Qué hará el estado? Una buena investigación de la competencia, fabricantes y
mercados puede mitigar las consecuencias de esto, tal y como sucede en el comercio no
electrónico.
4. Sobreestimar nuestros recursos ¿puede el personal, hardware, software, y nuestros
procesos llevar a cabo la estrategia propuesta? ¿Han fallado los detallistas en desarrollar las
capacidades de los empleados y directivos? Estos puntos pueden motivar la planificación de
recursos y la formación de los empleados.

Ilustración 21 Problemas electrónicos en la industria

Conclusión
En este trabajo se presentó un panorama general de la organización de la unidad
central de procesamiento de una computadora. Muchas variaciones de las
organizaciones aquí presentadas se encuentran en las máquinas disponibles en el
47
comercio. La elección de una organización específica implica tener que equilibrar
velocidad de ejecución y costo de implante. También se ve afectada por otros
factores, tales como la tecnología que se emplee, la flexibilidad de modificación, o
el deseo de proporcionar algunas capacidades especiales en el conjunto de
instrucciones de la computadora.

Se presentaron dos enfoques en lo relativo al implante de la unidad de control de


una CPU: control fijo y control micro programado. El control micro programado
proporciona considerable flexibilidad en el implante de conjuntos de instrucciones.
También facilita la adición de nuevas instrucciones a máquinas ya existentes.

Cuando se presentó por primera vez el control micro programado, resultaba mucho
más lento que el control fijo, debido a la baja velocidad del almacenamiento ROM.
Sin embargo, los avances en la tecnología ROM han reducido las diferencias de
velocidad. Como resultado, ahora el uso del control micro programado es mucho
más frecuente debido a su flexibilidad.

Glosario

1. argumentos: valores de entrada con los cuales trabaja una rutina o programa.
Cuando un argumento se usa para ajustar un programa a los requerimientos de un
cliente se llama parámetro.

2. batch: término inglés que en informática se traduce por los términos 'por lotes',
'conjunto' o 'grupo'. Característica típica de ciertos procesos, que indica una serie
de tareas que se ejecutan de forma sucesiva en el ordenador y se consideran como
una unidad.

3. capas o niveles de software: son todos aquellos niveles software que se sitúan entre
el usuario y los dispositivos físicos de la máquina, de forma que el nivel de
complejidad para la utilización de las capas o niveles aumenta conforme nos
acercamos al hardware.

4. cargador: programa encargado de cargar las distintas líneas de código de un


programa ejecutable en la memoria principal del ordenador para su posterior
ejecución.

5. cliente: aquel proceso o dispositivo solicitante que realiza la petición de un servicio


o trabajo a otro proceso denominado 'servidor'.

6. código portable: aquel que puede moverse fácilmente de un tipo de máquina a otra,
aunque cambien las características internas de la misma.

48
7. consola: dispositivo de entrada de datos a un ordenador, conocido más
genéricamente como teclado o terminal, ya sea manual o por conectores.

8. controladores de E/S: dispositivos físicos encargados de gestionar la transferencia


de datos entre la CPU, a través del bús de datos del ordenador y un periférico
conectado al puerto de E/S.

9. CPU: Acrónimo inglés de "Central Processing Unit", en castellano, "Unidad Central


de Proceso". Aquella unidad incluida íntegramente en el microprocesador (solo en
PC's) de un computador que controla el resto de unidades. Formada por la unidad
aritmético-lógica, la unidad de control y de pequeños registros principalmente. El
control lo lleva a cabo mediante la interpretación y la ejecución de instrucciones,
según las señales que le dicta un reloj.

10. depurador: programa especializado en la corrección y eliminación de errores en un


código fuente durante su edición, o capturando diversos datos durante su ejecución.

11. editor de texto: programa orientado a la edición, y manipulación de archivos de texto.


No presenta características de procesamiento complejas.

12. enlazador: programa encargado de unir o enlazar el código de varios módulos


separados que mantienen llamadas o referencias cruzadas entre los mismos, de
forma que se pueda realizar su posterior ejecución.

13. ensamblador: lenguaje de programación de medio nivel, el cual es traducible


directamente a lenguaje máquina. Está constituido por un juego de instrucciones
característico de cada máquina con distinta arquitectura.

14. hardware: conjunto de dispositivos físicos, metálicos y de materiales plásticos que


forman el ordenador u otro dispositivo conectado al mismo.

15. interactividad: propiedad que es característica de entes comunicativos en los cuales


priman los tiempos cortos de respuesta. Es característico de ciertos procesos y
dispositivos.

16. interfaz o interface: de un objeto es la parte de un objeto accesible desde su exterior,


que nos permite utilizarlo y consultar su estado interno. La vamos a utilizar como
medio de comunicación entre el objeto y cualquier ente que quiera comunicarse con
él.

49
17. interrupción: detención temporal en un punto determinado de un programa, para
permitir el acceso y proceso de una rutina que tomará el control del sistema. Puede
ocurrir debido a diferentes causas ya sean hardware o software.

18. lenguajes de alto nivel: lenguajes simbólicos constituidos por un léxico, una sintaxis
y una semántica; los cuales son fácilmente entendibles por el usuario cuando tiene
que realizar programas para computadoras.

19. lenguaje máquina: (instrucciones) son aquellas que basadas en secuencias de


ceros y unos (código binario), son entendibles directamente por el ordenador y por
lo tanto ejecutables sin necesidad de traducción.

20. máquina virtual: es aquella interface que mantiene una máquina mediante la cual
nos comunicamos con los dispositivos hardware del ordenador. De esta forma
nosotros trabajamos a un nivel superior eliminando la complejidad de dichos
dispositivos. De esta forma podemos mantener distintos Sistemas Operativos
corriendo sobre una misma máquina.

21. memoria dinámica: zona de la memoria principal que reservan los compiladores
para poder utilizarla mediante una serie de peticiones al gestor de memoria en
tiempo de ejecución.

22. memoria principal: dispositivo que almacena información en forma de datos


codificados en binario. Es accedida directamente por la CPU y además es de lectura
y escritura, pero volátil. Está formada por una serie de posiciones o celdillas de
memoria, las cuales son referenciadas mediante un sistema de direcciones lógicas.

23. memoria secundaria: tipo de memoria auxiliar que retiene toda la información
almacenada cuando se desconecta de la fuente de alimentación. Es de acceso lento,
pero de gran capacidad.

24. modo supervisor: modo de trabajo del sistema operativo mediante el cual solo él es
capaz de controlar y acceder a los recursos del ordenador mediante instrucciones
privilegiadas que no están disponibles para los programas de aplicación o de usuario.

25. modo usuario: modo de trabajo del sistema operativo mediante el cual es el usuario
el que tiene el acceso y control de todo el sistema. Se denota cuando el intérprete
de órdenes está activo mediante el prompt o inductor.

50
26. multiprogramación: sistema de programación que permite la ejecución simultanea
de varios procesos residentes en la memoria principal. Es decir, todos los procesos
avanzan en su ejecución.

27. multiusuario: sistema informático capaz de soportar el trabajo de varios usuarios en


una misma máquina o grupo reducido de ellas.

28. nombre simbólico: nombre de variable, constante o tipo de dato, mediante el cual
accedemos lógicamente a los datos en memoria principal sin tener que referenciar
sus posiciones físicas. Utilizado en lenguajes de programación.

29. octal o hexadecimal: sistemas de numeración utilizados en la representación de


datos numéricos y alfanuméricos en base "8" y en base "16" respectivamente.

30. palabra de estado (PSW): del inglés, Proceso Status Word, en castellano, Palabra
de estado del microprocesador. Palabra que recoge en binario el estado del entorno
de programa, después de la ejecución de cada instrucción.

31. periféricos: serán aquellos dispositivos que no forman parte del computador central
estando este formado por la memoria principal y la CPU. Sirven para comunicarse
con el mismo.

32. prompt(indicador): indicador de modo usuario, que permite a este realizar peticiones
de servicios al intérprete de órdenes. Este se sustituye actualmente por sistemas de
ventanas.

33. pila: zona reservada de la memoria o registros hardware donde se almacena


temporalmente el estado o información de un programa, rutina, etc.…. Mantiene una
política de inserciones y eliminaciones LIFO (Primero en entrar Último en salir).

34. puerto: dispositivo físico que conecta los canales internos de información del
ordenador con las líneas de comunicación de los posibles periféricos conectables.

35. registro: pequeña memoria interna del microprocesador, formada generalmente por
biestables. Es de rápido acceso y son de muy utilizados programando en lenguaje
ensamblador.

51
36. rutinas de E/S: conjunto de instrucciones encargado de controlar la transferencia de
datos entre los periféricos y el ordenador. Gestionan las capacidades de los puertos.

37. serie: método de procesamiento o transmisión de datos basado en etapas sucesivas,


no simultáneas. Ejemplo de transmisión bita a bit.

38. servicio: trabajo o tarea ofrecida por el sistema operativo ante una llamada al
sistema por parte del usuario.

39. servidor: proceso o dispositivo encargado de resolver o solucionar la petición de


servicio o trabajo realizado por un proceso denominado ‘cliente’. Además, debe dar
una respuesta con el resultado de la consulta.

40. sheduling: del inglés ‘scheduler’, en castellano, planificación, mediante la cual se


decide cuál de las tareas activas en el sistema seguirá ejecutándose, tomando esta
la posesión del tiempo de CPU.

41. shells (intérprete de órdenes): término inglés traducido por intérprete de órdenes.
Este es capaz de recoger las órdenes que el usuario realiza, pasándolas al núcleo
del Sistema Operativo para su ejecución.

42. síncrono: término asociable a distintos dispositivos y procesos. En sistemas


multiprocesador representa la sincronización o accionamiento simultaneo de varios
componentes como la memoria principal y la CPU.

43. software: son los programas, incluyendo procedimientos, utilidades, sistemas


operativos, programas de aplicación y paquetes informáticos, implementados para
un sistema informático.

44. software de sistemas: aquel que está orientado a la manipulación y control directo
del hardware mediante una serie de rutinas especializadas.

45. tarjetas: dispositivos estandarizados de material plástico con perforaciones que


permiten el almacenamiento de programas de forma permanente.

46. terminal: dispositivo de E/S de datos de un ordenador, el cual no tiene por qué estar
localizado junto a la carcasa de la CPU, sino que puede estar en una localización
remota.

52
47. traductor: programa que convierte mediante una traducción un lenguaje fuente en
un lenguaje objeto, sin que por ello varíe la semántica del código traducido, ya que
tan solo cambia su representación.

48. bit de presencia: bit que sirve para identificar si se encuentra en un momento dado
un bloque, página o área de información en la memoria principal.

49. bits de mayor peso: bits más a la izquierda de un número bajo una representación
en código binario. Los de menor peso son los bits que se sitúan más a la derecha.

50. bus de direcciones: canal físico consistente en una serie de líneas de circuito
impreso, que permite la transmisión de direcciones entre la Memoria principal y la
CPU.

51. direccionar: hacer referencia a una dirección dentro de un mapa de memoria, ya sea
real o virtual.

52. lista doblemente enlazada: estructura de datos dinámica residente en memoria


principal, derivada de las listas, la cual puede cambiar de tamaño en tiempo de
ejecución. Su acceso es secuencial pero además de estar enlazados cada elemento
hacia el siguiente lo está hacia el anterior.

53. grado de protección: posibilita establecer un nivel de protección para cada una de
las posibles particiones de memoria principal, de forma que el acceso a las mismas
esté limitado según unos niveles de protección.

54. marcos o páginas físicas: corresponde a cada una de las zonas en las que se divide
la memoria principal, para abarcar una página cargada desde memoria secundaria
en un proceso de intercambio o carga de páginas.

55. memoria RAM: acrónimo ingles de Random Access Memory, en castellano,


Memoria de Acceso Aleatorio. Tipo de memoria de la que está compuesta la
memoria principal, de forma que en la misma vamos a tener almacenado el sistema
operativo en cada momento, y aquel proceso o procesos que hayan sido cargados
en la misma. Es condición necesaria que todos los datos y programas estén
almacenados dentro de la misma antes de poder ser ejecutados.

56. memoria ROM: acrónimo ingles de Read Only Memory, en castellano, Memoria de
Solo Lectura. Memoria más pequeña y de solo lectura donde están grabados los
gestores software de dispositivos y configuración interna del hardware del sistema.

53
57. memoria de semiconductores: memoria basada en principios electrónicos basados
en la semiconductividad de algunos materiales. Prestan mejor rendimiento que las
antiguas válvulas de vacío en cuanto a tamaño, velocidad y precio.

58. miniordenadores: ordenadores de gran potencia, que fueron diseñados para


gestionar empresas de tamaño medio con capacidades de información media y
sistemas multiusuario.

59. partición: cada una de las zonas en las que se divide la memoria principal para alojar
los procesos del sistema.

60. sistemas de bases de datos: sistema para manejar la información almacenada de


forma masiva en una Base de Datos y gestionar grandes cantidades de información
de una forma estructura, haciendo posible unos accesos a los datos, ágiles y rápidos.

Ilustración 1 ......................................................................................................................................... 6
Ilustración 2 ......................................................................................................................................... 9
Ilustración 3 operacion del CPU ........................................................................................................ 10
Ilustración 4 Diseño e implementación............................................................................................. 11
Ilustración 5 Frecuencia de reloj| ..................................................................................................... 13
Ilustración 6 paralelismo ................................................................................................................... 14
Ilustración 7 entubado de instrucciones ........................................................................................... 15
Ilustración 8 hilos .............................................................................................................................. 17
Ilustración 9 Dispositivos de entrada ................................................................................................ 20
Ilustración 10 puertos E/S ................................................................................................................. 22
Ilustración 11 controladores de video .............................................................................................. 28
Ilustración 12 Teclado ....................................................................................................................... 31
Ilustración 13Mause .......................................................................................................................... 32
Ilustración 14 Joystick ....................................................................................................................... 33
Ilustración 15 Escaner ....................................................................................................................... 34
Ilustración 16 Cd-Rom ....................................................................................................................... 35
Ilustración 17 Monitor....................................................................................................................... 36
Ilustración 18 Impresora ................................................................................................................... 37
Ilustración 19 Fuente de alimentación.............................................................................................. 39
Ilustración 20 Sistemas C. en la industria ......................................................................................... 44
Ilustración 21 Problemas electrónicos en la industria ...................................................................... 47

54
Bibliografía
1. Estructura y diseño de Computadores
a. David A. Patterson, John L. Hennessy
b. Ed. Reverté S.A. 2000
c. Capítulo 5: Trata el tema desde la perspectiva del diseño del camino
de datos y control. Aborda la realización de un esquema simple y de
uno multicilo para ir profundizando en temas de microprogramación y
del tratamiento de excepciones por la unidad de control, sobre la
realización de la unidad de control mediante circuitería. Analiza las
unidades de control combinatorias, las de máquinas de estados finitos
de control y los secuenciadores.

2. Fundamentos de los Computadores


a. Pedro de Miguel Anasagasti
b. Ed. Paraninfo. 1999
c. Capítulo 7: Enfoca el tema desde las operaciones elementales.
Aborda el diseño de la unidad de control desde las perspectivas
cableada y microprograma da. Finalmente, trata el tratamiento de las
interrupciones y cepos por parte de la unidad de control y el arranque
del computador

55
3. Estructura de Computadores
a. José M.ª Angulo Usategui
b. Ed. Paraninfo. 1996

c. Capítulo 5: Analiza las operaciones elementales y las señales de


control de las máquinas por el autor diseñadas: MS y MS+.

4. Arquitectura de Computadores
a. J. Antonio de Frutos, Rafael Rico
b. Ed. Universidad de Alcalá. 1995

c. Capítulo 4: Desarrolla el tema de la unidad de control del computador.


Partiendo de las operaciones elementales y por medio de un
computador elemental desarrollado por los autores se llega al
concepto de cronogramas.

5. Arquitectura de Computadores. Un Enfoque cuantitativo


a. John L. Hennessy y David A. Patterson
b. Ed. Mc Graw-Hill. 1993

6. ECKHOUSE, Richard, L. Robert Morris. Sistemas de Minicomputadoras.


Organización, Programación y Aplicaciones (PDP-11). 1982. Editorial
Dossat, S.A. Madrid. España.

7. GORDON, Davis. Management Information Systems: Conceptual,


Foundations, Structure, and Development. 1974. McGraw Hill Inc. United
States of America.

8. HAMACHER V. Carl, Zvonko G. Vranesic, Safwat G. Zaky. Computer


Organization. 1987. McGraw Hill Inc. United States of America.

9. HERNÁNDEZ CABALLERO, S. Enciclopedia Temática de Informática. Tomo


1. 1990. Maveco de Ediciones S.A. España.

10. Abel, P. (1996). Lenguaje Ensamblador y Programación para IBM PC y


Compatibles. Prearson Educación.

11. http://www.itescam.edu.mx/portal/asignatura.php?clave_asig=SCD-
1003&carrera=ISIC-2010-224&id_d=157.

12. http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r89165.PDF

13. http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r89167.PDF

14. http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r89166.PDF

15. https://es.scribd.com/doc/109271102/ciclo-f

56
16. http://hpc.aut.uah.es/~nacho/AII/tema3.v4.6.pdf

17. https://es.scribd.com/doc/30420235/Ciclo-Fetch

57

También podría gustarte