ARQUITECTURA DE LAS COMPUTADORAS La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computadoras. de computadoras. Es decir, es un modelo y una descripción funcional de los requerimientos los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad la unidad central de proceso (CPU) trabaja (CPU) trabaja internamente y accede a las direcciones de memoria. de memoria. La arquitectura de una computadora explica la situación de sus componentes y permite determinar las posibilidades de un sistema informático, con una determinada configuración, pueda realizar las operaciones para las que se va a utilizar. La arquitectura básica de cualquier ordenador completo está formada por solo 5 componentes básicos: Procesador Memoria RAM Disco duro Dispositivos de entrada/salida Software. También suele definirse como la forma de interconectar componentes de hardware, hardware, para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo.
ARQUITECTURA HARVARD
Es una arquitectura de computadora con pistas de almacenamiento y de señal físicamente separadas para las instrucciones y para los datos. Estas primeras máquinas tenían almacenamiento almacenamiento de datos totalmente contenido dentro de la unidad central de proceso, y no proporcionaban acceso al almacenamiento de instrucciones como datos. Los programas necesitaban ser cargados por un operador; el procesador no podría arrancar por si mismo.
Usos modernos de la arquitectura Harvard: -Los procesadores Texas Instruments TMS320 C55x. _Los microcontroladores microcontroladores AVR de AVR de Atmel Atmel Corp y la PIC de Microchip Microchip Technology, Inc..
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
ARQUITECTURA VON NEUMANN
Tradicionalmente Tradicionalmente los sistemas con microprocesadores se basan en esta arquitectura, en la cual la unidad central de proceso (CPU), está conectada a una memoria principal única (casi siempre sólo RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se accede a través de un sistema de buses único (control, direcciones y datos).
En un sistema con arquitectura Von Neumann el tamaño de la unidad de datos o instrucciones está fijado por el ancho del bus que comunica la memoria con la CPU. Así un microprocesador de 8 bits con un bus de 8 bits, tendrá que manejar datos e instrucciones de una o más unidades de 8 bits (bytes) de longitud. Si tiene que acceder a una instrucción o dato de más de un byte de longitud, tendrá que realizar más de un acceso a la memoria. El tener un único bus hace que el microprocesador sea más lento en su respuesta, ya que no puede buscar en memoria una nueva instrucción mientras no finalicen las transferencias de datos de la instrucción anterior.
ARQUITECTURA ARM
ARM es una arquitectura RISC de 32 bits y recientemente con la llegada de su versión V8-A también de 64 Bits desarrollada por ARM Holdings.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
La arquitectura ARM está soportada por un gran número de sistemas operativos integrados y de tiempo real, incluyendo Windows CE, Windows 8 RT, .NET Micro Framework, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker, VxWorks, MQX y OSE. Los sistemas que acreditan la especificación estándar UNIX y que soportan la arquitectura ARM son: -Solaris -Apple OS X (en proyecto) Familias:
ARQUITECTURA SEGMENTADA
Las arquitecturas segmentadas o con segmentación buscan mejorar el desempeño realizado paralelamente varias etapas etapas del ciclo de instrucción al mismo tiempo. ARQUITECTURA ORIENTADA A SERVICIOS (SOA):
La Arquitectura Orientada a Servicios (SOA, siglas del inglés Service Oriented Architecture) es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad y flexibilidad de integración con sistemas legados, alineación directa a los procesos de negocio reduciendo costos de implementación, innovación de servicios a clientes y una adaptación ágil ante cambios incluyendo reacción temprana ante la competitividad. Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
(comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros. SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación. Existen diversos estándares relacionados a los servicios web; incluyendo los siguientes:
XML HTTP SOAP REST WSDL UDDI
Hay que considerar, sin embargo, que un sistema SOA no necesariamente utiliza estos estándares para ser “Orientado a Servicios”
pero es altamente recomendable su uso. ARQUITECTURA EN PIPELINE:
Basada en filtros, consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior. Esta arquitectura es muy común en el desarrollo de programas para el intérprete de comandos, ya que se pueden concatenar comandos fácilmente con tuberías (pipe). También es una arquitectura muy natural en el paradigma de programación funcional, ya que equivale a la composición de funciones matemáticas. ARQUITECTURAS INTEL Y AMD DE 32 Y 64 BITS:
IA-32 (Intel Architecture, 32 bits): es la arquitectura del conjunto de instrucciones de los procesadores de Intel 80×86 y de los primeros microprocesadores de AMD. IA-32 fue una extensión de 32 bits, implementada por primera vez en 1986 en el procesador Intel 80386, sucesor de los antiguos procesadores Intel 8086, 8088, 80186 y 80286 de 16-bit y el denominador común de todos los diseños
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
80×86 subsiguientes (80486, 80586, 80686). Por este motivo, también es conocida de manera genérica como arquitectura i386, x86-32 o x86, aunque bajo esta última denominación (x86), y también como x86-16, se suele incluir a los l os procesadores Intel de 16 bits. La arquitectura IA-64 (Intel Arquitecture, 64 bits) de Intel (perogrullada), fue lanzada en 1999, y no es directamente compatible con el conjunto de instrucciones IA-32 (excepto bajo emulación software) como sí sucede en el caso de las arquitecturas Intel 64 y AMD64. IA-64 es la arquitectura utilizada por la línea de procesadores Itanium e Itanium 2, por lo que inicialmente fue conocida por el nombre de Intel Itanium Architecture. MULTIPROCESAMIENTO
SMP (Multiproceso Simétrico). Se trata de un tipo de arquitectura de ordenadores en que dos o más procesadores comparten una única memoria central. ARQUITECTURA SPARC (DEL INGLÉS SCALABLE PROCESSOR ARCHITECTURE)
Es una arquitectura RISC originalmente diseñada por Sun Microsystems y que podemos encontrar en los procesadores de Sun (ahora Oracle). ARQUITECTURA POWERPC (USUALMENTE ABREVIADA
PPC)
Es el nombre de la arquitectura de computadoras c omputadoras de tipo RISC desarrollada por IBM, Motorola y Apple. Los procesadores de esta familia son utilizados principalmente en ordenadores Macintosh de Apple hasta el año 2006 y en varios modelos IBM. ARQUITECTURA PA-RISC
Es el nombre por el que se conoce una arquitectura de microprocesadores desarrollada por sistemas Hewlett-Packard y VLSI Technology Operation. Esta arquitectura se basa en el modelo RISC y en PA (Precision Architecture). También se suelen referir a ella como la arquitectura HPPA (Hewlett Packard Precision Architecture). Los primeros PA-RISC fueron dispositivos de 32 bits. El diseño fue actualizado en 1996 dando lugar a la versión 2.0 de la arquitectura. Esta nueva versión era una arquitectura de 64 bits. ARQUITECTURA ALPHA
Es una arquitectura de microprocesadores diseñada por DEC e introducida en 1992 bajo el nombre AXP. Cuenta con un juego de instrucciones instruccio nes RISC de 64 bits, pero también puede manejar datos de 32, 16 bits y por último de 8 bits.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
La arquitectura Von Neumann tiene sus orígenes en el trabajo del matemático John Von Neumann desarrollado con John Mauchly y John P. Eckert y divulgado en 1945 en la Moore School de la Universidad de Pensilvania, Estados Unidos, en el que se presentaba e EDVAC ( Electronic Discrete Variable Automatic Computer). De aquí surgió la arquitectura del programa almacena en memoria y búsqueda/ejecución secuencial de instrucciones. En términos generales una computadora tiene que realizar 3 funciones: Procesamiento de Datos Almacenamiento de Datos Transferencia de Datos Tal que un PC (Personal Computer) debe procesar datos, transformando la información recibida, de igual forma tiene que almacenar datos, como resultado final de estas. También debe de realizar transferencia de datos entre su entorno y el mismo. La arquitectura de un computador hace referencia a la organización de sus elementos en módulos con una funcionabilidad definida y a la iteración entre ellos. En el esquema de la Figura 1.1 se muestra la estructura básica de Von Neumann Neumann que debe llevar. una computadora para su correcta operación.
FIGURA 1.1: ESTRUCTURA BÁSICA DE UNA COMPUTADORA.
CPU (por el acrónimo en inglés de central processing unit) : La unidad central de proceso es el corazón del computador. Controla el flujo de datos, los procesa, y gobierna el secuenciamiento de las acciones en todo el sistema. Para ello necesita un oscilador externo o reloj r eloj que sincroniza las operaciones y marca la velocidad de proceso, este va marcando la evolución del CPU y mide su velocidad de funcionamiento; en forma no afortunada la frecuencia del reloj del CPU viene limitada por la tecnología del CPU y del computador completo completo ya dependiendo de los periféricos, sus tarjetas graficas, memorias, etc. Por lo tanto, el uso excesivo de los recursos que tenga la computadora puede resultar un sobrecalentamiento que deteriore parcial o totalmente la CPU.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
Memoria: es la responsable del almacenamiento almacenamiento de datos. Entrada/Salida: transfiere datos entre el entorno exterior y el computador. En él se encuentran los controladores de periféricos que forman la interfaz entre los periféricos, la memoria y el procesador. Sistema de interconexión: Buses; es el mecanismo que permite el flujo de datos entre la CPU, la memoria y los módulos de entrada/salida. Aquí se propagan las señales eléctricas que son interpretadas como unos y ceros lógicos. Periféricos: estos dispositivos son los que permiten la entrada de datos al computador, y la salida de información una vez procesada. Un grupo de periféricos puede entenderse como un conjunto de transductores entre la información física externa y la información binaria interpretable por el computador. Ejemplos de estos dispositivos son el teclado, el monitor, el ratón, el disco duro y las tarjetas de red.
· UNIDAD CENTRAL DE PROCESAMIENTO
Controla el funcionamiento de los elementos de un computador. Desde que el sistema es alimentado por una corriente, este no deja de procesar información hasta que se corta dicha alimentación. La CPU es la parte más importante del procesador, debido a que es utilizado para realizar todas las operaciones y cálculos del computador. La CPU tiene a su s u vez otra estructura interna que se muestra en la Figura 1.2.
FIGURA 1.2: ESTRUCTURA DE LA CPU Y SU CONEXIÓN CON LA MEMORIA. - Unidad de Control (UC): La unidad de control se encarga de leer de la memoria las instrucciones que debe de ejecutar y de secuenciar el acceso a los datos y operaciones a realizar por la unidad de proceso. La UC genera las señales de control que establecen el flujo de datos en todo el computador e interno en la CPU. Una instrucción no es más que una combinación de unos y ceros. Consta de un código de operaciones binarias para ejecutar la instrucción, la UC la almacena en un registro especial, interpreta su código de operación y ejecuta la secuencia de acciones adecuada, en pocas palabras decodifica la instrucción. - Unidad Aritmética Lógica o ALU (por su acrónimo en ingles Arithmetic Logic Unit): Es la parte de la CPU encargada de realizar las transformaciones de los datos. Gobernada por la UC, la ALU consta de una serie de módulos que realizan operaciones aritméticas y lógicas. La UC se encarga de seleccionar la operación a realizar habilitando los caminos de datos entre los diversos operadores de la ALU y entre los registros internos. IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
- Registros Internos: el almacenamiento de los resultados a la ejecución de las instrucciones en la memoria principal podría ser lento y excesivamente tendría muchos datos en el sistema de interconexión con la memoria, con lo que el rendimiento bajaría. De la misma manera también se almacenan en registros internos la configuración interna del CPU o la información durante la última operación de la ALU. Los principales registros de un CPU son: 1. Contador de programa. - Se encarga de almacenar la dirección de la siguiente instrucción a ejecutar. 2. Registro de Instrucción. - Se almacena la instrucción capturado en memoria y la que se está ejecutando. 3. Registro de Estado. - Compuesto por una serie de bits que informan el resultado obtenido en la última operación de la ALU. 4. Registro Acumulador. - Algunos CPU’s realizan operaciones aritméticas en un registro llamado acumulador, su función es la de almacenar los resultados de las operaciones aritméticas y lógicas. El ciclo para ejecutar cualquier instrucción se divide en ciclo de búsqueda y ciclo de instrucción como es ilustrado en el esquema de la Figura 1.3. El primero hace que el CPU genere señales adecuadas para acceder a la memoria y leer la instrucción; el segundo es similar; la diferencia entre los dos es el código de operación de cada instrucción.
FIGURA 1.3: CICLOS DE LA MAQUINA VON NEUMANN
MEMORIA
En la memoria se almacena el programa y los datos que va a ejecutar el CPU. Las instrucciones instr ucciones son códigos binarios interpretados por la unidad de control, los datos de igual manera se almacenan de forma binaria. Las diversas tecnologías de almacenamiento, dependen del tiempo de acceso a los datos; por lo tanto se realiza un diseño jerárquico de la memoria del sistema para p ara que esta pueda acceder rápidamente
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
a los datos. El principio de que sea más rápida la memoria haciendo que tenga velocidades similares al CPU, sirve para diseñar el sistema de memoria. La memoria principal de los computadores tiene una estructura similar a la mostrada en el esquema de la Figura 1.4. Se considera como una matriz de celdas en la que la memoria puede acceder a los datos aleatoriamente.
FIGURA 1.4: ESQUEMA DE UNA MEMORIA DE ACCESO ALEATORIO. Dicha matriz está organizada en palabras, cada una de las cuales tiene asignada una dirección que indica su posición. Cada palabra está formada por una serie de celdas a las que se accede en paralelo; en cada una se almacena un bit y estos son los que definen las instrucciones.
ENTRADA/SALIDA Como sabemos una computadora tiene dispositivos de entrada y salida como son los que contiene el gabinete, disco duro, placa madre, unidades de CD o DVD, etc. El problema principal que existe entre ellos es su tecnología y que tienen características diferentes a los del CPU, estos también necesitan una interfaz de cómo se van a entender con el CPU, al igual que el procesador y el controlador periférico para intercambiar datos entre la computadora. computadora.
En la Figura 1.5 se muestra como cada control de periférico tiene una dirección única en el sistema. La interfaz de E/S decodifica el bus de direcciones para detectar que el CPU se dirige a él. El direccionamiento es muy similar a la de las memorias. El bus de datos se utiliza para el paso de datos entre el periférico y la memoria. Las líneas especiales de control sirven para coordinar y sincronizar s incronizar la transferencia.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
FIGURA 1.5: ESQUEMA DE UNA INTERFAZ DE ENTRADA/SALIDA. SISTEMA DE INTERCONEXIÓN: BUSES.
La conexión de los diversos componentes de una computadora, tales como discos duros, tarjetas madres, unidades de CD, teclados, ratones, etc. se efectúan a través de los buses. Un bus se define como un enlace de comunicación compartido que usa múltiples cables para conectar subsistemas. Cada línea es capaz de trans mitir una tensión eléctrica que representa un ‘1’ o un ‘0’. Cuando hay varios dispositivos en el mismo bus, habrá uno que podrá enviar una señal que será procesada por los demás módulos. Si se mandan los datos al mismo tiempo marcará un error o una contención del bus, por lo que el acceso estará denegado. Según si criterio de funcionabilidad los buses se dividen en:
Buses de datos: es el que se utiliza para transmitir datos entre los diferentes dispositivos del computador. Buses de Direcciones: sirve para indicar i ndicar la posición del dato que se requiere acceder. Bus de Control: sirven para seleccionar al emisor y al receptor en una transacción del bus. Bus de alimentación: sirve para proporcionar a los dispositivos voltajes distintos.
PERIFÉRICOS. Se entenderán todos aquellos dispositivos que son necesarios para suministrar datos a la computadora o visualizar los resultados. Los periféricos se conectan mediante un bus especial a su controlador o al módulo de E/S.
Entre los periféricos de entrada tenemos al teclado, ratones, pantallas, digitalizadoras y más. Otros dispositivos periféricos fundamentales para la interacción del hombre con la computadora son las terminales de video y las tarjetas gráficas.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
GENERACIONES DE LA COMPUTADORA PRIMERA GENERACIÓN (1951-1958) En esta generación había un gran desconocimiento de las capacidades de las computadoras, puesto que se realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de procesamiento de datos. Esta generación abarco la década de los cincuenta. Y se conoce como la primera generación. Estas máquinas tenían las siguientes características:
Usaban tubos al vacío para procesar información. Usaban tarjetas perforadas para entrar los datos y los programas. Usaban cilindros magnéticos para almacenar información e instrucciones internas. Eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas. Se comenzó a utilizar el sistema binario para representar los datos.
En esta generación las máquinas son grandes y costosas (de un costo aproximado de 10,000 dólares). La computadora más exitosa de la primera generación fue la IBM 650, de la cual se produjeron varios cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magnético, que es el antecesor de los discos actuales. SEGUNDA GENERACIÓN (1958-1964) En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas computadoras se programaban con cinta perforadas y otras por medio de cableado en un tablero.
Características de está generación:
Usaban transistores para procesar información. Los transistores eran más rápidos, pequeños y más confiables que los tubos al vacío. 200 transistores podían acomodarse en la misma cantidad de espacio que un tubo al vacío. Usaban pequeños anillos magnéticos para almacenar información e instrucciones. cantidad de calor y eran sumamente lentas. Se mejoraron los programas de computadoras que fueron desarrollados durante la primera generación. Se desarrollaron nuevos lenguajes de programación como COBOL y FORTRAN, los cuales eran comercialmente accsesibles. Se usaban en aplicaciones de sistemas de reservaciones de líneas aéreas, control del tráfico aéreo y simulaciones de propósito general. La marina de los Estados Unidos desarrolla el primer simulador de vuelo, "Whirlwind I". Surgieron las minicomputadoras y los terminales a distancia. Se comenzó a disminuir el tamaño de las computadoras.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
TERCERA GENERACIÓN (1964-1971) La tercera generación de computadoras emergió con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrónicos en una integración en miniatura. Las computadoras nuevamente nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energéticamente energéticamente más eficientes. efic ientes. El ordenador IBM-360 dominó las ventas de la tercera generación de ordenadores desde su presentación en 1965. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador.
Características de está generación:
Se desarrollaron circuitos integrados para procesar información. Se desarrollaron los "chips" para almacenar y procesar la información. Un "chip" es una pieza de silicio que contiene los componentes electrónicos en miniatura llamados semiconductores. Los circuitos integrados recuerdan los datos, ya que almacenan la información como cargas eléctricas. Surge la multiprogramación. Las computadoras pueden llevar a cabo ambas tareas de procesamiento o análisis matemáticos. Emerge la industria del "software". Se desarrollan las minicomputadoras IBM 360 y DEC PDP-1. Otra vez las computadoras se tornan más pequeñas, más ligeras y más eficientes. Consumían menos electricidad, por lo tanto, generaban menos calor.
CUARTA GENERACIÓN (1971-1988) Aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Aquí nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolución de informática”.
Características de está generación:
Se desarrolló el microprocesador. Se colocan más circuitos dentro de un "chip". "LSI - Large Scale Integration circuit". "VLSI - Very Large Scale Integration circuit". Cada "chip" puede hacer diferentes tareas. Un "chip" sencillo actualmente contiene la unidad de control y la unidad de aritmética/lógica. El tercer componente, la memoria primaria, es operado por otros "chips". Se reemplaza la memoria de anillos magnéticos por la memoria de "chips" de silicio. Se desarrollan las microcomputadoras, o sea, computadoras personales personales o PC. Se desarrollan las supercomputadoras. supercomputadoras.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018
QUINTA GENERACIÓN (1983 AL PRESENTE)
En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados. Japón lanzó en 1983 el llamado "programa de la quinta generación de computadoras", con los objetivos explícitos de producir máquinas con innovaciones reales en los criterios mencionados. Y en los Estados Unidos ya está en actividad un programa en desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente manera:
Se desarrollan las microcomputadoras, o sea, computadoras personales personales o PC. Se desarrollan las supercomputadoras. supercomputadoras.
Inteligencia artíficial:
La inteligencia artificial es el campo de estudio que trata de aplicar los procesos del pensamiento humano usados en la solución de problemas a la computadora. Robótica:
La robótica es el arte y ciencia de la creación y empleo de robots. Un robot es un sistema de computación híbrido independiente que realiza actividades físicas y de cálculo. Están siendo diseñados con inteligencia artificial, para que puedan responder de manera más efectiva a situaciones si tuaciones no estructuradas. Sistemas expertos:
Un sistema experto es una aplicación de inteligencia artificial que usa una base de conocimiento de la experiencia humana para ayudar a la resolución de problemas. Redes de comunicaciones:
Los canales de comunicaciones que interconectan terminales y computadoras se conocen como redes de comunicaciones; todo el "hardware" que soporta las interconexiones y todo el "software" que administra la transmisión.
IVAN ISRAEL GOMEZ VAZQUEZ
28/09/2018