Arquitectura de Computadoras

download Arquitectura de Computadoras

of 9

description

Arquitecctura de computaadorasconceptos basicossoftware hardware

Transcript of Arquitectura de Computadoras

EL PROCESADORUna unidad procesadora es aquelra parte de un sistema digital o un computador digital que configura las operaciones en el sistema. "Est "o,,'p"".lu por un nmero de registros y de funciones digitales que conforman micro- operaciones aritmticas, lgicas, de desplamiento y trasferencia. La unidad de proceso se llama una unidad, centrar de proceso o cpu, se combina con una unidad de control que supervisa de micro- operaciones. Este captulo versa sobre ia orgnizacin y diseo de la uni_ dad del procesador._El siguiente captulo trata de ia l;ic; de diseo de la unidad de control. En el captulo 11 se demostrara ta orlani zacin y diseo de un computador CPU.LA ALULa funcin digital que configura las microoperaciones con la informacin almacenada "tt lo" iegistros del procesador se llama comnmente un' dad. basca aritmtica o ,LU. Para realizar una microoperacin, el control canaliza la fuente de informacin de los registros hasta las entradas del ALU. El ALU recibe la informacin de los registros y realiza una operacin dada de la manera especificada por el control. El resultado de la operacin se trasfiere al registro de destino. Por definicin, el ALU es un circuito combinacional; de manera que toda la operacin de trasferencia entre registros pueden realizarse duiante el intervalo de un pulso de reloj. Todas l"as operaciones de trasferencias entre registros, incluyendo la trasferencia entre registros de una unidad procesadora tpica, se realizan en un ALU comn: de lo contrario, sera necesario duplicar las funciones digitales para cada registro. Las microoperaciones de desplazamiento se realizan a menudo en una unidad separada. Una unidad de desplazamiento se muestra por lo general separada, pero alggnas veces est incluida como parte de la unidad enteramente aritmtica y lgica. un computador cPU debe manipular no solamente datos sino tambin cdigos de instruccin y direcciones que vienen de la memoria. El registro que almacena y manipula el cdigo de operacin de instrucciones se considut, .o-o parte de la unidad de control. Los registros que almacenan direcciones son lncluidos algnas veces como parte de la unidad de proceso y la informacin de direcciones se procesa por un ALU comn. En algunos computadores, los registros que almacenan direcciones son conectados a un bus separado y la iniormacin de direccin se manipula con funciones digitales separadasLA LOGICA COMBINACIONALLos circuitos lgicos para los sistemas digitales pueden ser combinacionales o secuenciales. Un circuito combinacional consiste en compuertas lgicas cuyas salidas se determinan directamente en cualquier momento de la combinacin presente de entradas sin tener en cuenta las entradas anteriores. Un circuito combinacional realiza una operacin de procesamiento de informacin especfica completamente lgica por medio de un conjunto de funciones de Boole. Los circuitos secuenciales usan elementos de memoria (celdas binarias), Adems de compuertas lgicas. Sus salidas son una funcin de las entradas y del estado de los elementos de la memoria. El estado de Ios elementos de Ia memoria, a su vez es una funcin de las entradas previas. Como consecuencia, Ias salidas de un circuito secuencial dependen no solamente de las entradas presentes, sino tambin de las entradas pasadas, y el comportamiento del circuito debe especificarse por una secuencia de tiempos de las entradas y estados internos. Los circuitos secuenciales se discuten en el Captulo 6. En el Captulo 1 se aprendi a reconocer los nmeros y cdigos binarios que representan las cantidades discretas de informacin. Estas variablei binarias se representan por medio de voltajes elctricos o por cualquier otra seal. Las seales pueden ser manipuladas por compuertas Igics digitales con el f,rn de ejecutar las funciones deseadas. En el Cap- tulo 2 se lntrodujo el lgebra de Boole como vehculo para expresar algebraicamente funciones lgicas. En el Captulo 3 se aprendi a simplificar las funciones de Boole para lograr ejecuciones con compuertas de tipo econmico. El propsito de este captulo es el de usar los conocimientos adquiridos en los Captulos anteriores y el de formular varios diseos sisfemticos y procedimientos de anlisis de los circuitos combinacionales. La solucin de algunos ejemplos tpicos dar una recopilacin til de funciones elementales importantes para Ia comprensin de computadores digitales y sistemasARQUITECURA PARALELALa arquitectura paralela o de lneas paralelas (pipe-line), es una tcnica en la que se descomponen unprocesosecuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una lnea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye informacin binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido delclculoen cada segmento se transfiere al siguiente segmento en la lnea. El resultado final se obtiene despus de que los datos han recorrido todos los segmentos. El nombre "lnea" implica un flujo reinformacin similar a una lnea de ensamblado industrial. Es caracterstico de las lneas que varios clculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los clculos es posible al asociar unregistrocon cada segmento en la lnea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultnea.

ESCALABILIDADLaescalabilidades la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para reaccionar y adaptarse sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse ms grande sin perder calidad en los servicios ofrecidos.En general, tambin se podra definir como la capacidad delsistema informticode cambiar su tamao o configuracin para adaptarse a las circunstancias cambiantes.1Por ejemplo, una Universidad que establece una red de usuarios porInternetpara un edificio de docentes y no solamente quiere que su sistema informtico tenga capacidad para acoger a los actuales clientes que son todos profesores, sino tambin a los clientes que pueda tener en el futuro dado que hay profesores visitantes que requieren de la red por algunas aplicaciones acadmicas, para esto es necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de su uso y reutilizacin disminuya o que pueda cambiar su configuracin si es necesario.BALANCEO DE CARGA Alternativa a SMP Alto rendimiento Beneficios del cluster Escalabilidad incremental Alta disponibilidad Mejor relacin precio / rendimiento

MIDDLEWARE Imagen unificada al usuario (Single system image) nico punto de entrada nica jerarqua de archivos Espacio de memoria nico Gestin de jobs unificada Interfaz de usuario nica Espacio de E/S nico Espacio de procesos nico Checkpointing (recuperacin ante fallas) Migracin de Procesos (balance de carga)AMBIENTES DE PROGRAMACION PARALELALa programacin paralela define la divisin de una labor de procesamiento entre mltiples procesadores que operan simultneamente. El resultado esperado es realizar tal procesamiento en forma ms eficiente comparada con su ejecucin en un sistema uniprocesador. Su principal ventaja es su habilidad de llevar a cabo tareas de una escala que no sera realista o costo-efectivo para otros sistemas. Sin embargo, en general la programacin paralela representa una labor sumamente compleja.El inters de las Ciencias de la Computacin en programacin paralela inicia en el rea de sistemas operativos, donde los segmentos de programa se ejecutan independientemente en paralelismo real o simulado. Conforme evoluciona la tecnologa paralela, se han desarrollado nuevos esfuerzos para estudiar los efectos de la concurrencia en sistemas de cmputo paralelo. Mucho de la investigacin actual en programacin paralela se refiere a tcnicas para especificar y controlar la concurrencia. Desde el modelado de redes de conexin hasta el desarrollo de algoritmos paralelos, la concurrencia representa una caracterstica integral al desarrollo de programas, y se considera desde los primeros pasos de diseo.Por otro lado, es de notarse la diferente aproximacin a la programacin paralela que ha tomado gran parte de los usuarios del paralelismo. Aun cuando el mundo real que se modela es inherentemente paralelo, los programadores se han acostumbrado a usar tcnicas de programacin secuencial para su estudio. Su inters en paralelismo evoluciona del deseo de mejorar el desempeo de los algoritmos secuenciales, en general aplicados al cmputo numrico a gran escala. Desean tomar ventaja del poder computacional que proveen mltiples procesadores, y no de los efectos de la concurrencia. De hecho, los usuarios del paralelismo en realidad desean alto desempeo, no paralelismo. Es por esto que, en lugar de integrar paralelismo a su diseo de programas, tienden a incorporarlo despus de probar y revisar sus aplicaciones de alto rendimiento en un ambiente secuencial.En teora, la programacin paralela es simplemente aplicar mltiples procesadores a un solo problema. En la prctica, la programacin paralela tiene un alto costo, no solo por el valor de la plataforma dehardwareque involucra, sino que adems requiere un mayor esfuerzo por parte del programador y diseador, quien debe programar y entender el problema y su solucin en forma paralela para la creacin delsoftwarenecesario. Las tcnicas tradicionales utilizadas para revisar y corregir defectos de la programacin y mejorar el desempeo en sistemas secuenciales (de un solo procesador) no son directamente portables o aplicables a la programacin paralela. Ms aun, es necesario considerar que el ambiente de ejecucin paralelo es inherentemente inestable e impredecible. Tal ambiente de ejecucin puede tratarse de un grupo de computadoras personales, estaciones de trabajo, o un sofisticado sistema de cmputo de alto rendimiento. Resulta comn que, tras meses de labor para programar una aplicacin paralela, se encuentre que sta arroja resultados incorrectos, o se ejecuta en forma mas lenta que su contraparte secuencial. Se hace necesario, entonces, el estudio y el anlisis ms profundo de las tcnicas y experiencias en programacin paralela, as como de su enseanza.ALTO RENDIMIENTO HPC: High Performance Computing (Computacin de Alto Rendimiento) Busca obtener tiempos de ejecucin razonables para estas grandes aplicaciones, permitiendo de este modo realizar experimentos que de otro modo seran inviables, por tamao, complejidad y/o precisin. Usa mquinas diseadas especficamente para este propsito (Centros de Supercomputacin: CeSViMa) La programacin de estas mquinas tiene sus peculiaridades, tanto por el hardware, de cierta complejidad y diversidad, como por las aplicaciones, programadas por cientficos e ingenierosALTA DISPONIBILIDADLa computacin de alta disponibilidad, (High Throughput Computing - HTC), es un modelo de computacin distribuida que bsicamente busca crear un entorno enfocado a completar el mayor nmero de trabajos en un amplio periodo de tiempo, lo cual tiene como ventaja el uso eficiente de los recursos disponibles. La HTC es ideal para negocios con modelos orientados a prestar servicios competitivos, su uso tambin es seguro contra daos como prdida de ingresos y oportunidades, e insatisfaccin de consumidores. La alta disponibilidad como tal provee opciones de negocio por cuanto a menudo surge una creciente demanda por servicios computarizados disponibles las 24 horas del da en diversas reas, entre ellas bancarias, financieras, de telecomunicaciones y de manejo de recursos. Cndor es un software gestor de trabajos diseado para aplicar HTC en diversos entornos utilizando adecuadamente los recursos disponibles. A lo largo de la investigacin se muestra cmo Cndor aplica alta disponibilidad factor que resulta ser muy importante en las organizaciones, no como un lujo sino como una necesidad. Igualmente se habla sobre su arquitectura, implementacin y despliegue de nodos y trabajos.

ESTRUCTURA BASICA DE SANLas SAN proveen conectividad de E/S a travs de las computadoras host y los dispositivos de almacenamiento combinando los beneficios de tecnologas Fibre Channel y de las arquitecturas de redes brindando as una aproximacin ms robusta, flexible y sofisticada que supera las limitaciones de DAS empleando la misma interfaz lgica SCSI para acceder al almacenamiento.Las SAN se componen de tres capas:1. CapaHost: esta capa consiste principalmente en servidores, dispositivos o componentes (HBA, GBIC, GLM) ysoftware(sistemas operativos).2. Capa Fibra: esta capa la conforman los cables (fibra ptica) as como los SANhubsy los SANswitchescomo punto central de conexin para la SAN.3. Capa Almacenamiento: esta capa la componen las formaciones de discos (Disk Arrays, memoriacach, RAID) y cintas empleados para almacenar datos.La red de almacenamiento puede ser de dos tipos: RedFibre Channel: la redfibre channeles la red fsica de dispositivosFibre Channelque empleaFibre Channel Switchesy directores y el protocoloFibre Channel Protocol(FCP) para transporte (SCSI-3 serial sobre canal de fibra). Red IP: emplea la infraestructura del estndarLANconhubsy/oswitchesEthernet interconectados. Una SAN IP emplea iSCSI para transporte (SCSI-3 serial sobre IP).ESTRUCTURA BASICA NASUna arquitectura de almacenamiento NAS est formada por uno o varios sistemas NAS conectados por medio de una infraestructura de red de rea local -LAN- que permite el acceso a ficheros de datos a un amplio conjunto de clientes, desde ordenadores de sobremesa a contenedores de bases de datos o aplicaciones empresariales. Sencillez de instalacin, menor coste de implementacin y ptimo nivel de escalabilidad hacen de este tipo de soluciones una alternativa muy interesante para todo tipo de empresas. La alternativa NAS: Qu es y cmo funciona Access NAS data remotely

SOLUCIONES DE ALMACENAMIENTOReto de informticaSolucin en nube

Presupuestos fijos o reducidosHacer ms con el presupuesto disponible sin dejar de respaldar el crecimiento

Demanda de nueva funcionalidadAgilidad lograda por una rpida utilizacin

Crecimiento respaldado con estabilidadElasticidad que respalda el crecimiento con capacidad de recuperacin

Privacidad y seguridad de la informacinArrendamiento mltiple para una coexistencia segura

Proteccin de datosContinuidad flexible del negocio (BC) y recuperacin de desastres (DR)

Mejorar el servicio al clienteReducir el tiempo de comercializacin y ofrecer nuevas oportunidades

Falta de movilidad o flexibilidadPermitir el acceso en cualquier parte desde diferentes dispositivos

HIPERVISORUnhipervisor(eninglshypervisor) omonitor de mquina virtual(virtual machine monitor) es una plataforma que permite aplicar diversas tcnicas de control devirtualizacinpara utilizar, al mismo tiempo, diferentessistemas operativos(sin modificar o modificados, en el caso deparavirtualizacin) en una misma computadora. Es una extensin de un trmino anterior, supervisor, que se aplicaba a loskernelsde los sistemas operativos.Los hipervisores pueden clasificarse en dos tipos:1 Hipervisor tipo 1: Tambin denominadonativo,unhostedobare metal(sobre el metal desnudo), es software que se ejecuta directamente sobre el hardware, para ofrecer la funcionalidad descrita.

Algunos de los hipervisores tipo 1 ms conocidos son los siguientes: VMware ESXi Free (gratis),VMware ESX(de pago),Xen(libre), Citrix XenServer (gratis), MicrosoftHyper-VServer (gratis). Hipervisor tipo 2: Tambin denominadohosted, es software que se ejecuta sobre un sistema operativo para ofrecer la funcionalidad descrita.

Algunos de los hipervisores tipo 2 ms utilizados son los siguientes: Oracle:VirtualBox(gratis), VirtualBox OSE (desde la v4.0 fusionado enVirtualBox), VMware: Workstation (de pago), Server (gratis), Player (gratis),QEMU(libre), Microsoft:Virtual PC, Virtual Server,Oracle VM(gratis).SIMULACIONSPIM es un simulador autnomo para programas en lenguaje ensamblador escritos para los procesadores R2000/R3000, los cuales son procesadores de 32 bits de la corporacin MIPS. SPIM lee e inmediatamente ejecuta el cdigo en lenguaje ensamblador, proporciona un depurador simple y un juego simple de servicios del sistema operativo.SPIM soporta casi el conjunto completo de instrucciones del ensamblador-extendido para el R2000/R3000 (omite algunas comparaciones de punto flotante complejas y detalles del sistema de paginacin de memoria.).

MAQUINA VIRTUALEninformticaunamquina virtuales unsoftwareque simula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una mquina fsica". La acepcin del trmino actualmente incluye a mquinas virtuales que no tienen ninguna equivalencia directa con ningn hardware real.Una caracterstica esencial de las mquinas virtuales es que los procesos que ejecutan estnlimitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".Uno de los usos domsticos ms extendidos de las mquinas virtuales esejecutar sistemas operativospara "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario.VIRTUALIZACCIONEsta tcnica consiste en dividir una computadora en varios compartimentos independientes de manera que en cada compartimento podamos instalar un servidor. A estos compartimentos se los llama "entornos virtuales". Desde el punto de vista del usuario, el sistema en su conjunto acta como si realmente existiesen varios servidores ejecutndose en varias mquinas distintas. Dos ejemplos son las zonas de Solaris (SolarisZones) y la tcnica de Micro Partioning deAIX.