c21 cm23 eq4-arquitecturadecomputadoras-primer parcial

19
Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria de Ingeniería, Ciencias Sociales y Administrativas Arquitectura de Computadoras Fuentes Aguilar Hugo Galindo González Adrián García Martínez Marco Antonio Martínez Alonso Jair Israel Coordinador: García Martínez Marco Antonio Lunes 17 Febrero del año 2014 1

Upload: hugo-strks

Post on 26-Jul-2015

62 views

Category:

Career


0 download

TRANSCRIPT

Instituto Politécnico Nacional

Unidad Profesional Interdisciplinaria de Ingeniería, Ciencias Sociales y

Administrativas

Arquitectura de Computadoras

Fuentes Aguilar Hugo Galindo González Adrián

García Martínez Marco Antonio Martínez Alonso Jair Israel

Coordinador: García Martínez Marco Antonio

Lunes 17 Febrero del año 2014

1

Introducción A lo largo del tiempo, el hombre ha creado diferentes prototipos de computadoras especialmente durante los primeros años del auge de sistemas computacionales, con todos ellos también se tuvieron que crear esquemas de estructuras que se deben siempre seguir para que una computadora sea una computadora, estos esquemas hoy en día lo conocemos como la arquitectura de las computadoras, podemos encontrar diferentes tipos de arquitecturas, Harvard y Von Neumann son claros ejemplos de ellas las cuales han prevalecido en el tiempo ya que son la esencia de los equipos de cómputo actuales. Conocer la arquitectura de una computadora es importante ya que nos permite conocer su funcionamiento para así poder adentrarnos en cada uno de sus componentes y ser capaces de poder trabajar con ellos de forma directa, es importante no solamente conocer cuales son las partes que constituyen una computadora, sino también es importante conocer ¿Como? estas están constituidas. Si bien con el paso de los años hemos visto una gran evolución en los dispositivos de cómputo, aumentando sus capacidades de almacenamiento y procesamiento, podemos mirar que detrás de todos estos monstruos informáticos, tienen la misma base, y es que todos están creados bajo una arquitectura Von Neumann o Harvard, por ello la importancia del estudio de ello.

2

Índice Introducción Capitulado Arquitectura Básica de una Computadora

El Microprocesador La ALU La Unidad de Control La Memoria Dispositivos de entrada y salida

Los diferentes niveles de arquitectura Maquinas multinivel actuales Nivel 0: de lógica digital. Nivel 1: de microprogramación. Nivel 2: Nivel de máquina convencional. Nivel 3: Nivel de sistema operativo. Nivel 4: Nivel de lenguaje ensamblador. Nivel 5: Nivel de lenguajes de alto nivel.

Arquitectura Harvard Características Generales Desventajas Ventajas

Arquitectura de Von Neumann Comparativa entre arquitectura Von Neumann y Harvard

Conclusiones Bibliografía

Arquitectura básica de la computadora: Arquitectura Von Neumann Arquitectura Harvard

3

Capitulado A lo largo del siguiente documento encontraremos los principios básicos de la arquitectura de una computadora así como las arquitecturas que han sido importantes desde su creación, pasando por cada elemento que la compone para conocer el impacto que tiene sobre la estructura que conforma a la computadora y el cómo se interrelacionan cada uno de ellos para dar a luz el concepto de computadora tal cual lo conocemos. Iniciaremos por conocer la arquitectura básica de la computadora y los niveles de arquitectura de una computadora, describiendo cada componente importante dentro de dicha arquitectura (CPU, RAM y Dispositivos de Entrada y Salida) y sus interacciones entre sí, para así establecer fundamentos sólidos y poder continuar con arquitecturas más avanzadas. Para así concluir con las arquitecturas más importantes en la historia de la informativa que son la arquitectura Von Neumann y Harvard, explicando su funcionamiento y propósito específico de cada una de ellas.

4

Arquitectura Básica de una Computadora El estudio de la arquitectura de una computadora es importante para reconocer los elementos básicos que hacen que una computadora sea una computadora así como el funcionamiento de cada uno de ellos y el impacto que tiene dicho elemento en el sistema, ya que se encuentran interrelacionados y a su vez son interdependiente, con ello queremos decir que son un conjunto de componentes que trabajan de forma armónica para lograr un fin en común, que en este caso es el procesamiento de datos para obtener información. A lo largo del tiempo han existido diferentes tipos de arquitecturas, todas ellas con especificaciones diferentes y peculiaridades que las diferencian unas de otras, sin embargo es importante conocer la arquitectura más básica de la computadora y así mismo el como funcionan los elementos que la componen, para así poder tomar más adelante el estudio de la arquitectura Von Neumann y Harvard La arquitectura básica de una computadora está constituida por 4 elementos básicos, el CPU, la memoria, dispositivos de entrada y salida para concluir con buses de datos.

5

El Microprocesador El microprocesador es la unidad encargada de ejecutar los programas que son cargados a la memoria, leyendo cada una de sus instrucciones y dándoles un orden por medio de la unidad de control; El microprocesador se encuentra dividido en 3 secciones fundamentales, la ALU (Unidad Aritmetico Logica), Registros y Unidad de Control, cada una de ellas juega un papel fundamental para la ejecución de programas.

La ALU En primer lugar la ALU se encarga de realizar todas las operaciones aritméticas, con ello nos referimos a la suma, resta, multiplicación y división, así también es capaz de evaluar las diferentes proposiciones lógicas como lo es AND, OR y la negación.

La Unidad de Control La Unidad de Control, es la encargada de llevar el control de flujo de datos e instrucciones que brindan los dispositivos de la computadora para darles un orden de ejecución, ocasionando que cualquiera de ellas siga el orden correcto y no ejecutar por ejemplo una operación sin haber obtenido datos para que la operación tome el valor correspondiente Por último se encuentran los registros del microprocesador, que son pequeños espacios de memoria donde se encuentran instrucciones específicas que realizan diferentes tareas que ayudan a la unidad de control a llevar el orden y a la ALU a almacenar datos para efectuar operaciones.

La Memoria La memoria se encuentra dividida en 3, RAM (Random Access Memory), ROM (Read Only Memory) y CACHÉ cada una de ellas con sus respectivas características, sin

6

embargo todas ellas comparten la característica de estar constituidas por 8 celdas que almacenan datos este conjunto es llamado byte y cada byte tiene a su vez una dirección que lo identifica y pueda ser localizado por algún programa. La memoria RAM es una memoria volátil lo que nos indica que una vez el flujo de corriente sea retirado de esta, todos los datos en ella se borraran, esta es de lectura y también de escritura. La memoria ROM a diferencia de la RAM es una memoria en la cual solamente se puede leer y dentro de ella generalmente se encuentran instrucciones para el arranque del sistema como lo es la verificación de memoria y la conexión con los diferentes dispositivos de entrada y salida, no es una memoria volátil. La memoria CACHÉ es una memoria muy similar a la RAM sin embargo esta la utiliza el microprocesador para almacenar datos cargados por primera vez de un programa y tener un acceso rápido a él, para así reducir los tiempos de ejecución de estos programas.

Dispositivos de entrada y salida También en la arquitectura de la computadora se encuentran los dispositivos que se encargan de brindar un puente para que los usuarios y otros componentes electrónicos sean capaces de comunicarse con la computadora y estos son los dispositivos de entrada, a su vez contamos con dispositivos de salida que son aquellos que la computadora utiliza para dar salida a los resultados de todos los procesos realizados. Para finalizar los buses son una parte importante dentro de la computadora, ya que son quienes se encargan de llevar el flujo de datos dentro de sí y comunicar los diferentes dispositivos en una computadora, existen 3 tipos de bus, de datos, expansión y de direcciones. El bus de datos es el encargado de llevar los bytes cargados de datos hacia los diferentes dispositivos en la computadora, el bus de direcciones lleva dentro de sí todas aquellas direcciones de memoria, este solamente está conectado de la memoria hacia el CPU y por último el bus de expansión los cuales son aquellos que permiten el ingreso de nuevos dispositivos de entrada y salida hacia el sistema de la computadora.

7

Los diferentes niveles de arquitectura En la arquitectura del computador se tienen diferentes niveles que se pueden clasificar. Uno de ellos es el computador digital, que suele seguir una serie de instrucciones a las cuales se les denomina “programa”, el cual opera con datos dados. El programa y los datos pueden cambiar de acuerdo a las necesidades específicas del usuario; a esto le llamamos flexibilidad. Ésta nos permite desarrollar una serie de procesos paralelos con información de variedad amplia. Comúnmente estos computadores suelen manejar elementos discretos de información. Entre ellos se encuentran los impulsos eléctricos, los dígitos decimales, letras de un alfabeto, las operaciones aritméticas, los símbolos de puntuación o cualquier conjunto de símbolos relevantes. La cantidad de información es fácil determinarla dada la yuxtaposición de lo elementos. Otro componente de los diferentes niveles de arquitectura es el programa, que es un conjunto de instrucciones. Para que el programa pueda ser efectuado por el equipo requerimos de un lenguaje de programación, que serviría de traductor para el lenguaje de alto o mediano nivel que el usuario requeriría introducir para indicar las instrucciones, iteraciones, cálculos, etc. Los programas resultantes se deberán traducir a lenguaje máquina mediante un compilador. Se le denomina archivo fuente al programa, y en él se encuentran líneas de programa denominadas código fuente. El trabajo del compilador consiste en transformar el código fuente a código objeto y lo almacena como archivo objeto, a continuación él compilador cita un editor de vínculos, el cual se encarga de insertar funciones o bibliotecas. A partir de eso se crea el archivo ejecutable que contiene los requerimientos para poder desempeñarse de manera independiente. Ejemplo del desarrollo del programa.

8

A éstos se les suman los circuitos eléctricos, son muy limitados en cuanto a instrucciones y pueden ser resistencias, inductancias, condensadores y fuentes.

Maquinas multinivel actuales En general la mayoría de las máquinas están constituidas por 6 niveles,los cuales son:

1. Nivel 0 2. Nivel 1 3. Nivel 2 4. Nivel 3 5. Nivel 4 6. Nivel 5

Cada nivel es soportado por un programa, es autónomo y no requiere ayuda o provisión de la misma. Por ejemplo el nivel 5 tiene como programa el compilador. A continuación veremos de forma más específica cada nivel

Nivel 0: de lógica digital. En este nivel es primordialmente el hardware, a pesar de ser el nivel “0” existe un nivel inferior que sería el nivel dispositivo. En él podemos encontrar:

Compuertas lógicas Circuitos integrados Circuitos combinacionales Circuitos aritméticos Relojes Memorias Microprocesadores y Buses

9

Además de Algebra booleana, Implementación de funciones booleanas, Equivalencia de Circuitos, Circuitos Biestables, flip flops, organización y propiedades, buses sincrónicos y asincrónicos, arbitrajes de buses y administración de interrupciones.

Nivel 1: de microprogramación. Este nivel sirve de intérprete para las instrucciones de nivel 2, esto es; convirtiendo las instrucciones de lenguaje máquina a microinstrucciones y estas a su vez ejecutan líneas de código y operaciones. Su nivel es muy bajo sin llegar al binario. Existen máquinas que carecen de éste nivel.

Nivel 2: Nivel de máquina convencional. Las instrucciones nivel de máquina son interpretadas por el microprograma. En dado caso de que no existiese el nivel de microprogramación, las instrucciones nivel de máquina recaen en los circuitos electrónicos (nivel 0).

Nivel 3: Nivel de sistema operativo. En este nivel se añaden un conjunto de instrucciones, y tiene una estructuración diferente en la memoria, cabida para ejecutar dos o más programas, etc. El sistema operativo es en quien recae la tarea de interpretar las instrucciones, aunque si llegasen a ser idénticas a las de nivel 2, las interpreta el microprograma.

Nivel 4: Nivel de lenguaje ensamblador. Este nivel y los superiores a él son implementados por los programadores de aplicaciones. El ensamblador es un lenguaje de nivel 3, éste traduce programas de nivel 4 al nivel 3.

Nivel 5: Nivel de lenguajes de alto nivel. Son los más fáciles de usar y son los empleados por programadores de aplicaciones. Los compiladores o intérpretes son los traductores de programas de lenguaje de alto nivel.

10

Arquitectura Harvard Las funciones básicas de un computador se realizan a través de una Unidad Central de Procesamiento (CPU) y dos memorias que almacenan por separado instrucciones y datos de entrada y salida (a esta separación se le conoce como Memoria segregada). A esta configuración se le conoce como “Arquitectura Harvard”, este término procede del primer computador digital automatico “Harvard Mark I” que fue diseñada en conjunto por IBM y la universidad de harvard. Para un procesador de set de instrucciones o RISC (Reduced Instruction Set Computer), el set de instrucciones y el bus de memoria de programa pueden diseñarse de tal manera que todas las instrucciones tengan una sola posición de memoria de programa de longitud.

Características Generales

Su unidad de control es un sistema síncrono secuencial, puede ser cableada o programable según el circuito combinacional que posea. Este suele ser una memoria de instrucciones no volátil EPROM o FLASH que contiene las direcciones de la RAM.

Poseen dos buses de direcciones diferentes complicando el sistema físico, sobre todo si el procesador no se coloca en un solo CI

El circuito combinacional de la unidad de control debe ser programable para que el procesador también lo sea

Se les nombre procesadores de un nivel porque realizan una operación y toman una decisión en función de su resultado.

11

Desventajas El hecho de que en la arquitectura harvard tenga en sus componentes dos buses de datos independientes mejora el ancho de banda en comparación con la arquitectura tradicional de Von­Neumann. Si bien este hecho es un punto a favor a esta arquitectura, usarla también conlleva algunos obstaculos. Tenemos que duplicar los sistemas de comunicación entre la CPU y la memoria, esto hace muy complejo el diseño. Otro obstáculo aún más importante es que las memorias de hoy en día no son demasiado rápidas si comparamos su funcionamiento con la CPU, debido a esto se debe poner mucha atención en el número de veces que se accede a la obstáculos tanto en su construcción como en su rendimiento. memoria para mantener su rendimiento, el no hacerlo genera un fenómeno conocido como limitación de memoria que se genera al aumentar la velocidad de la CPU. Una solución a este problema es usar la memoria caché, si los datos están en la memoria caché rendirá mucho más tiempo, pero si la memoria caché tiene que obtener los datos de la memoria principal estos no perduran mucho. Debido a la creciente capacidad de integración, estas memorias caché suelen ubicarse en la misma pastilla en donde se encuentra la CPU, con esto la arquitectura tipo harvard es común encontrarla con un único juego de buses externos y memoria principal, memoria que internamente es segregada usando memorias caché separadas para datos e instrucciones.

Ventajas El tamaño de las instrucciones no esta relacionado con el de los datos, por esto puede ser optimizado para que las instrucciones ocupen una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa. También el tiempo de acceso a las instrucciones puede superponerse al de los datos, logrando ser más veloz en cada operación.

12

En la arquitectura de von Neumann se producen en la CPU una cierta ralentización debido a que instrucciones desde la memoria junto con los datos deben pasar por un único canal (el bus de memoria). A este efecto se le conoce como "el cuello de botella de Von Neumann". La arquitectura Harvard puede evitarlo en cierto modo, pero su mayor complejidad sólo compensa cuando el flujo de instrucciones y de datos es más o menos el mismo.

13

Arquitectura de Von Neumann 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 tendrá que manejan 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. Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son: La limitación de la longitud de las instrucciones por el bus de datos. Que hace que el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas. La limitación de la velocidad de operación a causa del bus único para datos e instrucciones que no deja acceder simultáneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso.

Los ordenadores con arquitectura Von Neumann constan de las siguientes partes: La arquitectura Von Neumann realiza o emula los siguientes pasos:

1. Obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.

2. Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

3. Decodifica la instrucción mediante la unidad de control. Esta se encarga de coordinar el resto de los componentes del ordenador para realizar una función determinada.

4. Se ejecuta la instrucción, Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas.

5. Regresa al paso N°1.

14

En este diagrama podemos denotar la arquitectura Harvard, tenemos ambas memorias (RAM y ROM) separadas, estas están unidas a la Unidad de Control de Proceso (CPU) por medio de buses de datos, la memoria RAM es la memoria de los datos, mientras que la memoria ROM da las instrucciones.

Comparativa entre arquitectura Von Neumann y Harvard Aquí están las diferencias y similitudes que tienen estas arquitecturas tanto en su estructura como en su funcionalidad.

15

Conclusiones Como hemos observado a lo largo de esta investigación es importante retomar las bases de la organización y también de la arquitectura de las computadoras ya que si bien sus fundamentos se basan en investigaciones de ya más de 30 años, estas siguen vigentes en cada equipo de cómputo en el mundo.siendo así un tema que no quedará obsoleto en el tiempo como lo sucede en la mayor parte de la tecnologia comercial en el mundo. Siendo alumnos de la Licenciatura en Ciencias de la Informática es importante conocer la infraestructura de como una computadora se encuentra constituida, ya que a lo largo de nuestro desarrollo académico nos encontraremos constantemente interactuando con estos elementos y tendremos que hacer uso de ellos para diferentes casos como lo es el análisis e incluso trabajar directamente con ellos en su lenguaje nativo comprendiendo los esquemas de funcionamiento de cada uno de estos elementos. En la arquitectura de Von Neumann se produce en la CPU una especie de ralentización debido a que sus instrucciones desde la memoria junto con los datos deben pasar por un solo canal (el bus de memoria) a esto se le conoce como “cuello de botella de Von Neumann”, usar la arquitectura Harvard puede evitarlo, pero su mayor complejidad sólo compensa cuando el flujo de instrucciones y de datos es más o menos el mismo

16

Bibliografía

Arquitectura básica de la computadora: Sin autor. (Año No especificado). Arquitectura de una computadora. Febrero 17, 2014, de Universidad Tecnológica Nacional de Rosario Sitio web: http://www.frro.utn.edu.ar/repositorio/catedras/electrica/2_anio/fundamentos_informatica/apuntes/arquitectura/Tema1.pdf RODRÍGUEZ C. CARLOS. (Año no especificado). Arquitectura Básica de una Computadora. Febrero 17, 2014, de CERVANTESTIC Sitio web: http://cervantestic.wikispaces.com/file/view/Introduccion­Arquitectura%20b%25E1sica.pdf/97984551/Introduccion­Arquitectura%20b%25E1sica.pdf Sin autor. (2013). Caché (Informática). Febrero 17, 2014, de Fundación Wikimedia, Inc. Sitio web: http://es.wikipedia.org/wiki/Cach%C3%A9_(inform%C3%A1tica) Melissa Alonzo. (2011). Arquitectura básica de una computadora. Febrero 17, 2014, de La info, Sitio web: http://lainf0.wordpress.com/2011/03/07/existe­la­arquitectura­de­las­computadoras/

Arquitectura Von Neumann No especificado. (Febrero 8 de 2011). Arquitectura Von Neumann. No especificado, de No especificado Sitio web: http://www.slideshare.net/fjruiziesalixar/arquitectura­von­neumann

Arquitectura Harvard Hassan H., Lemus L., Molero j.. (1997). Introducción a las computadoras. En Introducción a los computadores(464). España, Valencia : Servicio de publicaciones . Mandado E., Menéndez L., Fernández L.. (2007). Fundamentos de los microcontroladores. En Microcontroladores PIC (345). Barcelona, España: Marcombo . Zuloaga A., Astarloa A.. (2008). Arquitecturas de sistemas procesadores. En Sistemas de procesamiento digital (273). Madrid, España: Delta publicaciones.

17

Diferentes niveles de arquitectura Perez Joel. (año no especificado). Diferentes niveles en la arquitectura de un computador. Febrero 17, 2014 de Universidad del Valle de México, Sitio Web. http://uvm.midrupal.com/sites/uvm.midrupal.com/files/joel_perez/00005386.pdf Morris, Mano M. (1994) Arquitectura de computadoras. EN arquitectura de computadoras. (563) Pearson education.. Sin autor (2014), Programa informático. Febrero 17, 2014 de Kioskea.net, Sitio web: http://es.kioskea.net/contents/305­programa­informatico

18

Conclusiones Como hemos observado a lo largo de esta investigación es importante retomar las bases de la organización y también de la arquitectura de las computadoras ya que si bien sus fundamentos se basan en investigaciones de ya más de 30 años, estas siguen vigentes en cada equipo de cómputo en el mundo.siendo así un tema que no quedará obsoleto en el tiempo como lo sucede en la mayor parte de la tecnologia comercial en el mundo. Siendo alumnos de la Licenciatura en Ciencias de la Informática es importante conocer la infraestructura de como una computadora se encuentra constituida, ya que a lo largo de nuestro desarrollo académico nos encontraremos constantemente interactuando con estos elementos y tendremos que hacer uso de ellos para diferentes casos como lo es el análisis e incluso trabajar directamente con ellos en su lenguaje nativo comprendiendo los esquemas de funcionamiento de cada uno de estos elementos. En la arquitectura de Von Neumann se produce en la CPU una especie de ralentización debido a que sus instrucciones desde la memoria junto con los datos deben pasar por un solo canal (el bus de memoria) a esto se le conoce como “cuello de botella de Von Neumann”, usar la arquitectura Harvard puede evitarlo, pero su mayor complejidad sólo compensa cuando el flujo de instrucciones y de datos es más o menos el mismo

19