Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Arquitectura Von Neumann y Harvard Ivan Alejandro Gallegos Martinez Instituto Tecnológico de Estudios Superiores de Zamora alexgalle125242@outlook.com RESUMEN: En este documento podremos observar un poco acerca de la estructura de lo que es un procesador, aprender las diferentes estructuras de este, tambien aprenderemos el funcionamiento de los buses para que sirve, cuantos tipos de estos existen entre otros aspectos importantes sobre lo que es una arquitectura completa de computadora I. INTRODUCCIÓN Durante el desarrollo de esta investigacion podremos observar en que consiste la arquitectura de los CPU o unidad de procesamiento central, cuantas existen y cómo funcionan estas, y observar lo importante que es la memoria, los buses, el manejo de los dispositivos externos entre otros aspectos importantes que complementan toda la arquitectura de una computadora. Ademas que de estos elementos existe una gran variedad de ellos, diferenciando en sus arquitecturas, funcionamientos, ventajas y limitaciones entre otros aspectos. Pero al mismo tiempo comprendiendo que para ciertas acciones, unas arquitecturas son mejores que otras. Tambien que unas funcionan en combinación mejor que otras. II. DESARROLLO CPU La CPU es uno de los elementos físicos que más importancia tiene en nuestra computadora, ya que este define la capacidad de trabajo de esta. Al final de cuentas un CPU no es otra cosa más que un circuito integrado, un circuito integrado bastante complejo. Se tiene que un CPU solamente se encuentra integrado de una computadora, lo cual es ciertamente falso, pues estos se encuentran en la mayoria de electrónica, por ejemplo, la televisión necesita un CPU, para procesar las imágenes, una lavadora para procesar las señales de los botones, calcular el tiempo entre otros aspectos, y asi podriamos mencionar diferentes lugares donde se podria observar esto, basicamente y en pocas palabras la CPU está diseñado para controlar al resto de los componentes. En el ámbito de las computadoras que es el que nos interesa, el CPU puede ejecutar una cantidad inmensa de instrucciones posibles. Pero para poder comprender tenemos que observar más a fondo como es su arquitectura. La CPU tiene 4 bloques funcionales, que trabajan juntas, la una junto a la otra. Los bloques son: • Unidad aritmética logica (ALU): Esta unidad como lo dice su nombre, su trabajo es realizar los cálculos aritméticos y lógicos. Esta se comunica por medio de un bus interno. • Unidad de control: Esta unidad es la que genera todas las señales que lo controlan, basicamente contiene las instrucciones a realizar. • Buses internos: Estos se utilizan para comunicar a todos los bloques de nuestra CPU, y estos mismos, podrán enviarle las órdenes a el resto de los componentes. • Registros internos: Estos registros guardan toda la informacion de datos necesarios para las operaciones y tambien las direcciones de memoria en los que estos se encuentran Por ejemplo, si quisiéramos sumar dos números, pongamos 2 y 3. A alto nivel, una posible secuencia lógica sería: 1. Previamente se han cargado los dos operandos en los registros de datos. 2. La unidad de control va al registro adecuado y pone el primer operando en el bus interno 3. La unidad de control se comunica con la ALU: le dice que tiene un operando en el bus interno. 4. Hace lo mismo con el otro dato. 5. Luego indica a la ALU la operación que quiere que realice, en este caso la suma. 6. Le indica también en que registro quiere que deje el resultado. Memoria La memoria presenta talvez la más amplia diversidad de tipos, tecnología, estructura, prestaciones y coste, de mailto:alexgalle125242@outlook.com entre todos los componentes de un computador. Ninguna tecnología es óptima para satisfacer las necesidades de memoria de un computador. En consecuencia, un computador convencional está equipado con una jerarquía de subsistemas de memoria, algunos internos (directamente accesibles por el procesador), y otros externos (accesibles por el procesador mediante módulos de entrada/salida). Los sistemas de memoria tienen características claves. • Ubicación: Indica si la memoria es interna o externa al computador. Una característica obvia de las memorias es su capacidad. Para memorias internas se expresa normalmente en términos de bytes (1 byte=8 bits) o de palabras. • Procesador El procesador necesita su propia memoria local en forma de registros • Interna (Principal) La memoria interna suele identificarse con la memoria principal. • Externa (Secundaria) La memoria externa consta de dispositivos periféricos de almacenamiento • Capacidad • Tamaño de la palabra Longitudes de palabra comunes son 8, 16, y 32 bits. El tamaño de la palabra suele coincidir con el número de bits utilizados para representar números y con la longitud de las instrucciones. • Números de palabras CRAY C90 =64 bits VAX = 32 bits • Unidad de transferencia la unidad de transferencia es igual al número de líneas de entrada/salida de datos del módulo de memoria • Palabra Es la unidad natural de organización de la memoria • Bloque Es el número de bits que se leen o escriben en memoria a la vez • Método de acceso • Acceso secuencial El acceso debe realizarse con una secuencia lineal específica. Utiliza un mecanismo de lectura/escritura compartida que debe ir trasladándose desde su posición actual a la deseada, pasando y obviando cada registro intermedio. • Acceso directo El acceso directo tiene asociado un mecanismo de lectura/escritura. Sin embargo, los bloques individuales o registros tienen una dirección única basada en su dirección física. El acceso se lleva a cabo mediante un acceso directo a una vecindad dada, seguido de una búsqueda secuencial, bien contando, o bien esperando hasta alcanzar la posición final • Acceso aleatorio cada posición direccionable de memoria tiene un único mecanismo de acceso cableado físicamente. El tiempo para acceder a una posición dada es constante e independiente de la secuencia de accesos previos. Por tanto, cualquier posición puede seleccionar aleatoriamente y ser direccionada y accedida directamente. • Acceso asociativo es una memoria del tipo de acceso aleatorio que permite hacer una comparación de ciertas posiciones de bits dentro de una palabra buscando que coincidan con unos valores dados, y hacer esto para todas las palabras simultáneamente • Prestaciones • Tiempo de acceso Es el tiempo que tarda en realizarse una operación de escritura o de lectura, es decir, el tiempo que transcurre desde el instante en el que se presenta una dirección a la memoria hasta que el dato • Tiempo de ciclo consiste en el tiempo de acceso y algún tiempo más que se requiere antes de que puede iniciarse un segundo acceso a memoria. • Velocidad de transferencia Es la velocidad a la que se pueden transferir datos a, o desde, una unidad de memoria. • Dispositivo físico • Semiconductor • Soporte magnético • Soporte óptico • Magneto-óptico • Características Físicas • Volátil/no volátil Las memorias semiconductoras pueden ser volátiles o no volátiles • Borrable/no borrable No pueden modificarse, salvo que se destruya la unidad de almacenamiento • Organización Memoria caché El objetivo de la memoria caché es lograr que la velocidad de la memoria sea lo más rápida posible, consiguiendo al mismo tiempo un tamaño grande al precio de memorias semiconductoras menos costosas. La caché contiene una copia de partes de la memoria principal. Cuando el procesador intenta leer una palabra de memoria, se hace una comprobación para determinar si la palabra está en la caché. Si es así, se entrega dicha palabra al procesador. Cuando ocurre un acierto decaché, los buffers de datos y de direcciones se inhabilitan, y la comunicación tiene lugar solo entre procesador y caché, sin tráfico en el bus. Cuando ocurre un fallo de caché, la dirección deseada se carga en el bus del sistema y el dato es llevado, a través del buffer de datos, tanto a la caché como al procesador. • La caché puede almacenar 64 KB. • Los datos se transfieren entre la memoria principal y la caché en bloques de 4 bytes. Esto significa que la caché está organizada en 16K= 214 líneas de 4 bytes cada una. • La memoria principal es de 16MB, con cada byte directamente direccionable mediante una dirección de 24 bits (224 = 16M). Así pues, al objeto de realizar la correspondencia, podemos considerar que la memoria principal consta de 4M bloques de 4 bytes cada uno. Manejo de entrada y salida El medio más comun para realizar la introducción de datos a una computadora es un teclado. Que permite a las personas introducir datos alfanuméricos. Cada vez que el usuario oprime una tecla, se envía un carácter codificado en binario a la computadora. La velocidad de introducción de estos datos depende el usuario ya que será tan rapido como el usuario teclee. A los dispositivos de entrada y salida tambien se les llama comúnmente periféricos. Otro de los periféricos más comunes es el monitor, es algo indispensable ya que en él se proyectan las imágenes. Y se podrían comentar asi varios periféricos, desde el mouse, impresoras, cintas magnéticas, etc. Pero ahora nos concentraremos más en las interfaces de estos. La interface basicamente proporciona un método para transferir informacion entre los dispositivos y de E/S. Un módulo E/S permite que el procesador gestione una amplia gama de dispositivos periféricos de una forma similar, ocultando los detalles concretos de temporización, formatos de datos y principios físicos de funcionamiento. El módulo de E/S se conecta con el procesador a través de un conjunto de líneas de datos, dirección y control (un bus). Un módulo de E/S dispone de la lógica específica para su conexión con uno o más dispositivos periféricos. En la siguiente figura se muestra la estructura general de un módulo de E/S: El codigo de función se denomina un comando de E/S y es, en esencia, una instrucción que se ejecuta en la interface y está conectada en la unidad periférica. Una interface puede recibir 4 tipos de comandos, y estos se clasifican en: • Control Se emite un comando de control que activa el periférico y le dice que hacer. Cada periférico tiene un comando de control especifico y cada uno recibe distintos comandos de control • Estado Se utiliza para probar diversas condiciones de la interfaz y un periférico. Por ejemplo, un pc puede que primero consulte el estado de un periférico antes de iniciar una transferencia • Salida de datos Este comando hace que una interface responda transfiriendo datos del canal a uno de sus registros • Entrada de datos Este comando realiza basicamente lo mismo que el de salida, guardando todos los datos en registros por medio de canales La estructura de un controlador de dispositivo tendrá que adaptarse en cada caso a las peculiaridades específicas del periférico. Unos tendrán que actuar sobre elementos electromecánicos otros sobre elementos ópticos. Presentan una estructura general como la representada en la siguiente figura: Analizaremos en este apartado el dialogo de señales que de forma general tiene lugar entre el módulo de E/S y el controlador de dispositivo en una transmisión de datos. • Salida En el caso de un dispositivo de salida (o de e/s en operación de salida) las líneas básicas que intervienen son las del bus de datos y dos de control: dato válido y dato aceptado. La primera indica al dispositivo la validez del dato presente en el bus de datos, y es activada por el módulo de E/S cuando ha estabilizado el bus de datos con el valor del dato a transmitir. La segunda la activa el dispositivo periférico en respuesta a la lectura y procesamiento del dato, y como respuesta a la disponibilidad para aceptar un nuevo dato. • Entrada En el caso de un dispositivo de entrada (o de e/s en operación de entrada) las líneas básicas que intervienen son las del bus de datos y dos de control: petición de dato y dato aceptado. La primera solicita al dispositivo un dato de entrada, y es activada por el módulo de E/S. La segunda la activa el dispositivo periférico cuando ha generado el dato y su valor es estable en el bus de datos. Con la activación de esta señal el módulo de E/S conoce la validez del dato en el bus y puede proceder a su carga en el registro de datos Buses A través de la investigacion de este documento hemos hablado sin parar de los buses, pues estos transportan datos, etc. Pero ¿Qué es un bus?, Un bus es un mecanismo comun para la comunicación entre los diferentes componentes del pc. En la parte física, estos buses son conductores por el cual viajan señales eléctricas. Los buses son los “caminos” que podemos observar en los dispositivos electrónicos, por ejemplo, en una motherboard. Estos buses son dispositivos comunes entre dos o más componentes, si dos componentes transmiten señales al mismo tiempo, puede causar una distorsión en las mismas y por consecuente perder informacion. Obviamente los buses transmiten 0 y 1, si se desea transmitir 1 byte, se deberán mandar 0 señales, una detrás de otra. Existen diferentes tipos de buses: • Bus del sistema Es el bus que comunica al procesador, memoria y E/S se lo denomina bus del sistema. • Bus de datos Por estas líneas se transfieren los datos, pueden ser de 8, 16, 32 o más líneas, lo cual nos indica cuantos datos podemos transferir al mismo tiempo, y es muy influyente en el rendimiento del sistema. Por ejemplo, si el bus es de 8 líneas y las instrucciones son de 16 bits, el sistema va a tener que acceder 2 veces a memoria para poder leer la instrucción • Bus de direcciones Por estas líneas se envía la dirección a la cual se requiere hacer referencia para una lectura o escritura, si el bus es de 8 líneas, por ejemplo, las combinaciones posibles para identificar una dirección irían del 00000000 al 11111111, son 256 combinaciones posibles, en consecuencia, el ancho del bus de datos nos indica la cantidad de direcciones de memoria a la que podemos hacer referencia • Bus de control Estas líneas son utilizadas para controlar el uso del bus de control y del bus de datos. Se transmiten órdenes y señales de temporización. Las órdenes son muy diversas, por ejemplo: o Escritura en memoria. o Lectura de memoria. o Escritura de E/S. Lectura de E/S. o Transferencia reconocida. o Petición del bus. Sesión del bus. o Petición de interrupción. o Interrupción reconocida. o Señal de reloj. o Inicio Todo elemento que esté conectado al bus tiene que saber reconocer si la dirección que está en el bus de datos le corresponde, tiene que reconocer algunas órdenes transmitidas por el bus de control, y puede emitir algún tipo de señal por el bus de control. Jerarquía de buses Para mejorar el rendimiento del bus, las jerarquías de buses fueron implementadas cada vez más, una primera aproximación a una jerarquía de bus básica seria como la que se muestra: Primero tenemos un bus local, de alta velocidad que conecta el procesador a la cache, el controlador de la cache también puede acceder al bus del sistema, con esta implementación, la mayor parte de los datos a los que va a acceder el procesador, que están en la cache, serán entregados a una alta velocidad, otro punto a destacar de esta parte es que los accesos a memoria por parte de la cache no van a interrumpir el flujo de datos entre procesador y cache. También se ve la posibilidad de conectar un dispositivo de entrada salida al bus local.Luego tenemos el bus del sistema, al cual está conectada la memoria y por debajo el bus de expansión, al cual se pueden conectar una amplia diversidad de dispositivos, entre el bus del sistema y el bus de expansión se encuentra una interface, que entre las principales tareas está la de adaptar las velocidades de transmisión, por ejemplo para un dispositivo muy lento conectado al bus de expansión la interface podría acumular una cierta cantidad de datos y luego transmitirla a través del bus del sistema. Interrupciones Las interrupciones se pueden definir como un evento asíncrono (es decir que ocurre junto a otros procesos al mismo tiempo) al programa que se está ejecutando. Hay dos tipos de interrupciones: • Interrupciones de hardware Es iniciada por un periférico que demanda atencion debido a un evento asociada a este periférico, pues demanda algun procedimiento de parte del CPU. Estas interrupciones tienen otras interrupciones más pertenecientes: o Interrupción división por cero Se da cuando en una división el divisor es cero o cuando el cociente en una división es mayor que el valor maximo que permite el destino o Interrupción ejecución paso a paso Ocurre despues de ejecutar una instrucción si la bandera vale 1. Esto permite la ejecución de un programa paso a paso, lo que es muy útil para la depuración de programas o Interrupción no enmascarable Esta interrupción causa que la CPU deje lo que esta haciendo, cambie el puntero de instrucción para que apunte a una dirección particular y continue ejecutando el codigo desde esa dirección o Interrupción punto de ruptura Es una detención intencional o lugar de pausa en un programa, que tiene propósitos de depuración paso a paso. De manera mas general, un punto de ruptura es un medio de adquirir conocimiento de un programa durante su ejecución o Interrupción desbordamiento Ocurre cuando una cantidad excede la capacidad que se tiene. Por ejemplo, cuando un número es excesivamente grande o Interrupción doble falta En la arquitectura x86, una excepción doble falta ocurre si el procesador encuentra un problema mientras trata de servir una interrupción o excepción pendiente. Un ejemplo de una situación donde una doble falta ocurriría es cuando una interrupción es activada pero el segmento en el que el manejador de interrupciones reside es invalido o Interrupción dispositivo no disponible Esta ocurre si ejecutamos una instrucción cuando el dispositivo aun no se encuentra disponible para esa instrucción. • Interrupciones para interactuar con un periférico o Interrupciones de la BIOS Las funciones de BIOS se invocan, desde los programas de usuario, ejecutando una interrupción de software con un cierto valor inicial en los registros. La BIOS emplea un cierto rango de interrupciones, cada una encargada de una tarea especifica. Funciones de la BIOS: INT 10h: Servicios de Vídeo (texto y gráficos). INT 11h: Informe sobre la configuración del equipo. INT 12h: Informe sobre el tamaño de la memoria convencional. INT 13h: Servicios de disco (muy elementales: pistas, sectores, etc.). INT 14h: Comunicaciones en serie. INT 15h: Funciones casette (PC) y servicios especiales del sistema (AT). INT 16h: Servicios de teclado. INT 17h: Servicios de impresora. INT 18h: Llamar a la ROM del BASIC (sólo máquinas IBM). INT 19h: Re inicialización del sistema. INT 1Ah: Servicios horarios. INT 1Fh: Apunta a la tabla de los caracteres ASCII 128-255 (8x8 puntos). o Interrupción de DOS El Dos emplea varias interrupciones, al igual que la BIOS; sin embargo, cuando se habla de funciones del DOS, todo el mundo sobreentiende que trata de llamar a la INT 21h, la interrupción más importante con diferencia. Funciones del DOS: INT 20h: Terminar programa (tal vez en desuso). INT 21h: Servicios del DOS. INT 22h: Control de finalización de programas. INT 23h: Tratamiento de Ctrl-C. INT 24h: Tratamiento de errores críticos. INT 25h: Lectura absoluta de disco (sectores lógicos). INT 26h: Escritura absoluta en disco (sectores lógicos). INT 27h: Terminar dejando residente el programa (en desuso). INT 28h: Idle (ejecutada cuando el ordenador está inactivo). INT 29h: Impresión rápida en pantalla (no tanto). INT 2Ah: Red local MS NET. INT 2Bh-2Dh: Uso interno del DOS. INT 2Eh: Procesos Batch. INT 2Fh: Interrupción Multiplex. INT 30h-31h: Compatibilidad CP/M-80. INT 32h: Reservada. o Interrupción de dato exterior Un programa que se venia ejecutando luego de su instrucción I5, llama al sistema operativo, por ejemplo, para leer un archivo de disco (Cuando un programa necesita un dato exterior, se detiene y pasa a cumplir la tarea de recoger este dato) III. CONCLUSIONES Durante el desarrollo de esta investigación aprendimos sobre la arquitectura de como trabajan por dentro los CPU ’s, y los tipos que hay de estos, entre diferentes cosas que van junto al apoyo de elementos que acompañan a la CPU, como por ejemplo son los buses para la transmisión de datos, y estos ayudan a los dispositivos de entrada y salida a transmitir los datos que son necesarios, asi como en una interrupción de software donde se detiene un programa esperando que el usuario por medio de un teclado o un mouse, introduzca un dato, y alli entran en juego, los buses, el cpu y su arquitectura, la memoria principal, la cache, pues cada uno lleva su función cuando un usuario manda un dato a la computadora, y tambien cuando la computadora, manda un dato al usuario a través del monitor. REFERENCIAS [1] Quiroga, P. (2010). Arquitectura de computadoras (Vol. 1). Alfaomega. [2] Mano, M. M. (1994). Arquitectura de computadoras. Pearson Educación. [3] Stallings, W. (2006). Organizacion Y Arquitectura De computadores (7.a ed.). Pearson Educación. [4]http://www.fdi.ucm.es/profesor/jjruz/web2/temas/ec8 .pdf [5]https://sites.google.com/site/computadorasarquitectur a/unidad-4-los-sistemas-de-bus [6] https://sistemasitseldorado.files.wordpress.com/2010/09/ lenguaje-ensamblador-tercera-parte-unidad-i.pdf [7] http://www.ciens.ucv.ve:8080/genasig/sites/organizacio n-del-comp-II/archivos/Interrupciones.pdf http://www.fdi.ucm.es/profesor/jjruz/web2/temas/ec8.pdf http://www.fdi.ucm.es/profesor/jjruz/web2/temas/ec8.pdf https://sites.google.com/site/computadorasarquitectura/unidad-4-los-sistemas-de-bus https://sites.google.com/site/computadorasarquitectura/unidad-4-los-sistemas-de-bus https://sistemasitseldorado.files.wordpress.com/2010/09/lenguaje-ensamblador-tercera-parte-unidad-i.pdf https://sistemasitseldorado.files.wordpress.com/2010/09/lenguaje-ensamblador-tercera-parte-unidad-i.pdf http://www.ciens.ucv.ve:8080/genasig/sites/organizacion-del-comp-II/archivos/Interrupciones.pdf http://www.ciens.ucv.ve:8080/genasig/sites/organizacion-del-comp-II/archivos/Interrupciones.pdf ACLARACIONES ADICIONALES 1. Los valores de los márgenes del documento son los siguientes: • Superior: 1.9 cm • Inferior: 2.5 cm • Izquierdo-derecho: 1.7 cm 2. El formato es a dos columnas con un espacio entre ellas de: • Espacio entre columnas: 0.5 cm 3. Todos los párrafos deben estar justificados. 4. Para el tamaño de la letra del documento: • Título: 24 puntos • Nombres de los autores: 11 puntos • Nombre del Tecnológico y Correos electrónicos: 9 puntos • Documento: 11 puntos 5. La bibliografía debe incluir la siguirnte información: autor(es), título del libro o artículo, edición, nombre de la revista (para artículos). Editorial, año de publicación. Si es una dirección en internet, debe ir el URL completo. 6. Es importante que las figuras, tablas y referencias se mencionen en el texto entre corchetes,k de lo contrario la referencia no tendrá validez. 7. Todos los valores deben incluir su respectiva incertidumbre. MauricioSilva
Compartir