(Viene de la página anterior)
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Básicamente las Estaciones de Trabajo están conformadas con los siguientes dispositivos:
Todos ellos se comunican entre sí por medio de buses y ejecutan sus funciones específicas sincronizados por un reloj.

Reloj
El ordenador posee un funcionamiento síncrono gobernado por un reloj, de tal manera que el tratamiento de la información se realiza con arreglo a una secuencia ordenada de operaciones en el tiempo.
El reloj genera los impulsos eléctricos que permiten sincronizar las operaciones, esto es, marca el principio, la duración y el final de cada operación. El número de impulsos generados se mide en Megahertzios (MHz) que indica el número de millones de pulsos generados por el reloj en un segundo.
La frecuencia de reloj determina la velocidad en la transferencia de un dato entre dos dispositivos conectados al mismo bus (por ejemplo, lectura de una palabra de memoria por parte de la UCP). Para la transferencia completa de un dato pueden ser necesarios varios ciclos de reloj, en cada uno de los cuales son ejecutadas las operaciones más elementales que conforman dicha transferencia.
El incremento de la velocidad de proceso en las estaciones de trabajo se ha conseguido gracias a:
Longitud de la palabra de datos
La longitud de la palabra de datos determina la cantidad de información que es capaz de procesar simultáneamente la unidad central de proceso en cada pulso de reloj. Se mide en bits. A mayor longitud de palabra mayor complejidad y circuitería necesaria en la UCP, pero mayor potencia de proceso.
Unidad Aritmético-Lógica (UAL)
La unidad aritmética y lógica, llamada también unidad de cálculo, es la encargada de efectuar el conjunto de operaciones con las que está dotado el ordenador. Se compone de registros y de un conjunto de circuitos lógicos responsables de realizar las operaciones lógicas y aritméticas prefijadas desde la etapa de diseño del ordenador.
Unidad de Control (UC)
La unidad de control es la encargada de gobernar el funcionamiento del ordenador.
La UC tiene como responsabilidad recibir e interpretar cada instrucción a ejecutar por el ordenador, para posteriormente transformarla en una serie de microinstrucciones a muy bajo nivel, particulares para cada arquitectura de ordenador.
La UC dispone de la circuitería necesaria para leer la dirección de memoria que contiene la instrucción a ejecutar, localizar dicha instrucción y escribirla en un registro destinado para tal fin en la UC (registro de instrucción). Posteriormente otro elemento de la unidad de Control (Decodificador) transforma la información de este registro en una información más amplia e inteligible para el secuenciador.
El secuenciador analiza e interpreta la salida del decodificador, y en función de esta información ejecuta un microprograma contenido en la memoria de control, que produce las microinstrucciones necesarias para que se ejecute la instrucción.
Esta forma de ejecutar las instrucciones (por firmware) es propia de las UC programadas que son las más extendidas. Existen otro tipo de UC, llamadas UC cableadas donde las instrucciones están implementadas por hardware.
Al finalizar la ejecución de la instrucción en curso, el registro contador de programa contiene información sobre la dirección de memoria en que se encuentra la siguiente instrucción que debe ejecutarse. Por tanto, una vez finalizada la ejecución de una instrucción, la circuitería de la UC lee de este registro contador de programa la dirección de la instrucción siguiente para su ejecución, volviendo nuevamente a comenzar el ciclo.

Si la instrucción es compleja, generará muchas microinstrucciones y algunas de ellas necesitarán varios ciclos de reloj para completarse. Como la ejecución de la instrucción se dará por terminada cuando se hayan ejecutado todas las microinstrucciones, esta instrucción compleja necesitará varios ciclos de reloj para su finalización.
Permiten la ejecución concurrente de procesos, tanto de diferentes programas, como de las distintas partes en que se descompone una instrucción. Esto se consigue mediante tres implementaciones: matricial, multiproceso y segmentación (pipe-line).
Se basa en la explotación sincronizada de múltiples unidades aritmético-lógicas.
Se basa en el uso de múltiples procesadores que cooperan coordinadamente para obtener un fin común, al mismo tiempo que comparten unos recursos comunes (memoria, interfaces de entrada/salida, teclados, monitores). Asimismo, el proceso en paralelo, gracias al uso de múltiples buses y procesadores, permite asegurar una mayor tolerancia a fallos.
Durante el análisis de la arquitectura de una estación de trabajo, deberá considerarse la posibilidad de que esta sea actualizada con la adición de nuevos procesadores para multiplicar el rendimiento de la misma y satisfacer las demandas de proceso de las aplicaciones instaladas a un coste razonable. Dentro del multiproceso existen dos implementaciones: asimétrico y simétrico.
Un sistema simétrico está configurado normalmente con múltiples procesadores y unidades de memoria caché que se conectan a un único bus de interconexión rápido y comparten la memoria principal del sistema.
Las arquitecturas con multiprocesador persiguen dos objetivos: escalabilidad y configurabilidad.
Por tanto, durante el análisis de una estación de trabajo, un factor que debe ser tenido muy en cuenta es el máximo número de procesadores soportados.
Se basa en el solapamiento de la ejecución de las subfunciones en que se descompone una instrucción o la operación de unos datos, especialmente si son en coma flotante. Para la aplicación de estructuras pipe-line es fundamental disponer de arquitecturas con idéntico tiempo de ejecución de cada subfunción. De este modo, en cada ciclo de reloj, los diferentes procesos cambian de subfunción simultáneamente y no se desaprovecha la velocidad de trabajo de las subfunciones más rápidas. Cuando la ejecución de una microinstrucción implica un salto, la última lectura ha sido inútil y hay que volver a leer.
En las gráficas siguientes se observa la ventaja de procesar instrucciones trabajando con segmentación:

Atendiendo a cómo se procesan los flujos de instrucciones y de datos se suele establecer la siguiente ordenación:
En esta arquitectura se genera el único flujo de datos desde la memoria principal a la unidad de control, en donde tras decodificarse e interpretarse, se ordena su ejecución en la unidad operativa. Esta arquitectura es la que poseen la mayoría de las arquitecturas uniprocesadoras actuales.
En esta arquitectura, el flujo de instrucciones parte de la memoria principal hacia la unidad de control, en donde después de decodificarse e interpretarse, se envían las correspondientes señales de control a las unidades operativas encargadas de su ejecución. Cada unidad operativa posee un flujo de datos con la memoria principal, la cual es compartida entre todas ellas. De este modo, tan pronto se inicia la ejecución de una instrucción, la unidad de control ya está en condiciones de recibir la siguiente instrucción. Esta arquitectura se corresponde con el proceso matricial.
Esta arquitectura consta de varias unidades de control, cada una de ellas con su propio flujo de instrucciones con la memoria principal, las cuales tras recibir y decodificar una instrucción, ordenan su ejecución en la correspondiente unidad operativa. Estas últimas unidades únicamente poseen un flujo de datos con la memoria principal. Con esta arquitectura cada procesador ejecuta una parte del proceso con los datos de modo similar a como se realiza con la técnica de segmentación.
Esta estructura es la única que posee un flujo múltiple de instrucciones y de datos. La arquitectura MIMD se corresponde con la estructura típica de un sistema con multiprocesador.
La arquitectura de una estación de trabajo también puede contar con coprocesadores. Estos son microprocesadores especializados en la ejecución de determinados cálculos, que descargan de estas funciones a la unidad central de proceso. Su necesidad depende de la complejidad de las aplicaciones que van a ser ejecutadas.
Arquitecturas de procesadores: CISC/RISC
La arquitectura CISC (Complex Instruction Set Computer) se caracteriza por disponer de un grupo muy amplio de instrucciones muy complejas y potentes. Es más antigua que la arquitectura RISC y por tanto su diseño está marcado por la tecnología existente en los años 60.
En las primeras arquitecturas los ordenadores tendían a aumentar su potencia a base de ampliar su repertorio de instrucciones y de añadir instrucciones más potentes. El hecho de que el tiempo de ejecución de una instrucción fuera de varios ciclos de reloj no representaba un problema puesto que las velocidades de la memoria de control eran muy superiores a las velocidades de la memoria principal. Así, aunque el proceso de las microinstrucciones se completase en un ciclo de reloj, no se podría continuar con el proceso de la siguiente instrucción inmediatamente, ya que estaría alojada en la memoria principal, de velocidad mucho más lenta que la memoria de control.
En los años 70, las mejoras tecnológicas permitieron tener velocidades en la memoria principal similares a la memoria de control, lo que hizo posible trabajar con instrucciones simples (que se completan en un ciclo de reloj) y por tanto acelerar considerablemente la ejecución de instrucciones (nada más terminar la ejecución de todas las microinstrucciones se empieza con la ejecución de la siguiente instrucción).
Esta arquitectura, denominada RISC (Reduced Instruction Set Computer), se caracteriza por poseer un juego de instrucciones lo más reducido posible con un porcentaje alto de ellas que se completan en un ciclo de reloj. Si hubiese que ejecutar alguna instrucción compleja, necesitaría más de un ciclo de reloj, pero hay que insistir que la mayor parte de ellas se pueden realizar a partir de operaciones fundamentales. Por otra parte, es una constatación estadística que la potencia práctica de un ordenador reside en un conjunto pequeño de su repertorio de instrucciones, con lo cual si se reduce dicho repertorio se sigue conservando la potencia del ordenador, y disminuye la complejidad del diseño y el coste. Esto fue inspirado en el principio de Pareto: "El 80 % de los problemas puede resolverse con el 20 % del esfuerzo".
Para ejecutar una tarea se necesitan más instrucciones en RISC que en CISC, ya que en RISC las instrucciones son más elementales. Pero el hecho de tener actualmente unos mecanismos rápidos de acceso a memoria, buses de alta velocidad y compiladores especializados en estas arquitecturas, hace que los ordenadores RISC obtengan en general unos mejores rendimientos.
Ahora bien, algunas de las formas tradicionales de medir el rendimiento, como es el número de MIPS, no son adecuadas para comparar el rendimiento de máquinas CISC y RISC. Esto se debe a que los MIPS dan la cantidad de millones de instrucciones por segundo que desarrolla una máquina, pero no tienen en cuenta la potencia de esas instrucciones. Por el propio diseño de la arquitectura RISC, estas máquinas tienden a desarrollar más MIPS que las CISC.
El rendimiento de una estación de trabajo se mide para una serie de diferentes elementos físicos que lo limitan. Pero, a la hora de determinar el rendimiento global de un sistema, también hay que evaluar cómo el sistema operativo, el equipo básico lógico de red, los compiladores y las librerías gráficas aprovechan y utilizan eficientemente estos componentes físicos y transmiten la información de un subsistema a otro.
Para la evaluación del rendimiento de las estaciones de trabajo se utilizan las pruebas de rendimiento a priori, también conocidas como benchmarks.
Estas son unas medidas que efectúa la industria para comparar factores de rendimiento y relaciones rendimiento/precio de diferentes modelos de estaciones de trabajo. No obstante, estas evaluaciones no son siempre directamente comparables y en ocasiones ofrecen poca información, porque las configuraciones con las que se realizan las evaluaciones no son expuestas con claridad.
A continuación, se relacionan las pruebas de rendimiento más ampliamente aceptadas, clasificadas según el entorno de trabajo en el que son aplicables:
|
Nombre |
Unidades |
Objetivo |
Entorno de Aplicación |
|
SPEC CFP92 |
SPECfp92 |
Medir el comportamiento de sistemas, con un uso intensivo de UCP de operaciones en coma flotante. |
Científico y de Ingeniería |
|
SPECrate_FP92 |
SPECrate_FP92 |
Medir el nº de tareas, con un uso intensivo de UCP, que un sistema multiproceso puede completar en un intervalo de tiempo dado. |
Científico y de Ingeniería |
|
SPEC SFS |
. SPECnfs_A93 |
Evaluar el rendimiento de servidores de ficheros NFS (sistema de ficheros distribuido). |
Desarrollo de aplicaciones lógicas |
|
Linkpack |
MFLOPS |
Predecir el comportamiento del sistema, con el que se realizan operaciones en coma flotante. No es posible modificar el código fuente. |
Científico y de Ingeniería |
|
Linkpack |
MFLOPS |
Predecir el comportamiento del sistema, con el que se realizan operaciones en coma flotante. |
Científico y de Ingeniería |
|
Dhrystone |
Dhrystone MIPS |
Medir la eficiencia del procesador y del compilador para la ejecución de únicamente operaciones en coma fija. |
Desarrollo de aplicaciones lógicas |
|
Whestone |
KWIPS |
Evaluar el rendimiento de sistemas que vayan a ejecutar pequeños programas científicos. |
Científico y de Ingeniería |
|
AIM |
. Tasa de rendimiento |
Evaluar el rendimiento de sistemas multiusuario UNIX, fundamentalmente del gestor de tareas y de los subsistemas de entrada-salida. |
Sistemas Multiusuario UNIX |
|
CERN |
CERN |
Medir el tiempo de UCP empleado por operaciones escalares, vectoriales, manipulación de caracteres y compilación |
Científico y de Ingeniería |
|
DN&R Labs |
MVUP |
Medir el rendimiento del sistema con un uso intensivo de UCP en coma flotante. |
Científico y de Ingeniería |
|
Livermore |
MFLOPS |
Medir el rendimiento en grandes ordenadores con operaciones en coma flotante escalares y vectoriales, incluyendo la gestión de memoria, gráficos y entradas-salidas. |
Científico y de Ingeniería |
|
SLALOM |
Patches |
Medir las entradas-salidas y la resolución de un problema real completo, y en segundo orden el tiempo empleado en ello. |
Científico y de Ingeniería |
|
Perfect |
MFLOPS |
Medir el rendimiento de supercomputadores y proceso en paralelo. |
Científico y de Ingeniería |
|
ANSYS |
Tiempo de UCP requerido para completar cada análisis (S) |
Medir el rendimiento de sistemas con aplicaciones de análisis ANSYS. |
Industria del automóvil, aeroespacial, etc... |
|
ABAQUS |
Tiempo empleado en completar cada análisis (hor:min:s) |
Predecir el comportamiento de sistemas con aplicaciones estándar ABAQUS. |
Científico y de Ingeniería |
|
Nombre |
Unidades |
Objetivo |
Entorno de aplicación |
|
SPEC CINT92 |
SPECint92 |
Medir el rendimiento de la UCP. |
Comercial |
|
SPECrate_int92 |
SPECrate_int92 |
Medir el nº de tareas que un sistema multiproceso puede completar en un intervalo de tiempo dado. |
Comercial |
|
TPC-A |
. tpsA |
Medir el rendimiento de los componentes del sistema necesarios para ejecutar proceso de transacciones en-línea. |
Comercial |
|
TPC-B |
. tpsB |
Medir el rendimiento de bases de datos sencillas. |
Comercial |
|
TPC-C |
. tpmC |
Medir el comportamiento de los componentes del sistema asociados con el comportamiento de transacciones en-línea y de entrada de órdenes |
Comercial |
|
Nombre |
Unidades |
Objetivo |
Entorno de aplicación |
|
X.11 perf |
Unidades detiempo |
Medir el tiempo empleado en resolver unamatriz de operaciones X.11, con especial atención a la gestiónde ventanas y de operaciones gráficas. |
Gráficas |
|
Graphstone |
Graphstones |
Medir el rendimiento del subsistema de vídeo. |
Gráficas |
|
Khornestone |
Kstones |
Medir el rendimiento del subsistema gráfico |
Gráficas |
2.3.- Tendencias tecnológicas y del mercado
Las estaciones de trabajo están experimentando un espectacular incremento en cuanto a prestaciones. Entre sus características figuran estructuras propietarias de bus ultrarrápido, y tecnología de disco tolerante a fallos como las matrices de discos redundantes (RAID). La memoria se sitúa entre 128 Mb y 1 Gb. Incluyen facilidades de administración del equipo lógico que permiten la monitorización remota de todos los componentes esenciales (memoria, espacio en disco, etc.). Muchas de ellas incorporan también protección ante cortes de fluido eléctrico y de bajadas de tensión.
Hoy en día la mayoría de las estaciones de trabajo se basan en tecnologías RISC, aunque todavía se encuentran instaladas numerosas estaciones de trabajo basadas en tecnología CISC y existen algunos fabricantes que todavía ofrecen productos basados en esta última arquitectura. No obstante, el futuro parece dirigirse hacia arquitecturas RISC. Esta tecnología es la que en este momento ofrece mejores relaciones rendimiento/precio, planes de diseño más cortos, mayor grado de fiabilidad y mayor potencia de proceso con menores costes.
Las principales líneas de evolución de las estaciones de trabajo son:
El próximo futuro de las estaciones de trabajo y su éxito dependerán del número de aplicaciones que puedan soportar en diferentes entornos: técnicos, científicos, comerciales, comunicaciones, educación, financiero, administración, medicina, .... En este sentido, todos los proveedores de equipos lógicos están preocupados por adaptar desarrollos, concebidos inicialmente para el mercado de los PCs, a plataformas RISC, más propias de las estaciones de trabajo. Este dato permite augurar que las inversiones que se realicen en este tipo de tecnologías quedarán aseguradas durante varios años.
Las estaciones de trabajo también podrían introducirse en el mercado de los PCs conforme vayan ganando la batalla de los costes, ofreciendo facilidades de red que permiten compartir discos, impresoras, etc.
Lo mismo parece suceder en el entorno de los servidores, donde el incremento en la potencia de proceso los convertiría en el ordenador ideal para situarlo como servidor de grupos de trabajo, con una potencia de cálculo próxima a la de los miniordenadores y con unos costes que es posible ajustar mucho más respecto a las necesidades de proceso y de cálculo, precisamente debido a sus características de escalabilidad.
Una importante característica que predice el éxito de las estaciones de trabajo es su diseño conforme a los estándares lo que asegura, por un lado, el aprovechamiento de las inversiones realizadas por los usuarios, y por otro, la interoperabilidad con productos de otros fabricantes.
En este mismo sentido se está trabajando en el desarrollo de plataformas que aseguren la portabilidad de aplicaciones ya compiladas, desde una estación antigua a una más moderna sin necesidad de ninguna modificación sobre el código (compatibilidad a nivel binario).
Dentro de las líneas de actuación destaca la estrategia de Sistemas Abiertos de la Administración del Estado. Las administraciones europeas, tanto las comunitarias como las nacionales, vienen impulsando desde hace años la implantación de Sistemas Abiertos. Las razones fundamentales son:
Las Estaciones de Trabajo (workstations) son computadores pequeños en tamaño y costo que pueden ser utilizados por cierta cantidad de usuarios simultáneamente. Generalmente tienen UNIX como Sistema Operativo y disponen de una buena capacidad gráfica. Aunque la velocidad de cálculo, tamaño y componentes cambian constantemente, las ideas básicas son las mismas.
Los diferentes tipos de Estaciones de Trabajo que se encuentran en el mercado funcionan bajo versiones UNIX que pueden cambiar según el tipo de máquina, podemos mencionar entre las versiones más comunes las siguientes:
Por la naturaleza multi-usuario de los sistemas bajo UNIX, nunca se debe apagar una estación de trabajo, incluyendo el caso en que la máquina sea un P.C. con Linux, ya que al apagarla sin razón se cancelan procesos que pueden tener días ejecutandose, perder los últimos cambios e ir degenerando algunos dispositivos, como por ejemplo, los discos duros.
Ejemplo de las primeras estaciones de trabajo
Tal vez la primera computadora que podría ser calificada como estación de trabajo fue la IBM 1620, una pequeña computadora científica diseñada para ser usada interactivamente por una sola persona sentada en la consola. Fue introducida en 1959. Una característica peculiar de la máquina era que carecía de ningún actual circuito aritmético. Para realizar la adición, requirió una tabla almacenada en la memoria central con reglas decimales de la adición. Esto salvaba del costo de los circuitos lógicos, permitiendo a IBM hacerlo menos costoso. El nombre código de la máquina fue CADET, el cual algunas personas decían que significaba "Can't Add, Doesn't Even Try - No puede adicionar, ni siquiera lo intenta". No obstante, se alquiló inicialmente por más de $1000 por mes.
Lista de estaciones de trabajo y manufacturadores
Nota: muchas de éstas están extintas
Las administraciones, tanto las comunitarias como las nacionales, vienen impulsando desde hace años la implantación de Sistemas Abiertos. Las razones fundamentales son:
http://www.monografias.com/trabajos15/las-redes/las-redes.shtml
http://es.wikipedia.org/wiki/Estaci%C3%B3n_de_trabajo
http://html.rincondelvago.com/estaciones-de-trabajo.html
http://www.cecalc.ula.ve/bioinformatica/UNIX/node41.html
http://www.cecalc.ula.ve/bioinformatica/UNIX/node40.html
Luis Guillermo Gomez Toro
Estudiante en la Universidad de Caldas.
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Sistemas Operativos |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.