108
Lic. Diego Fabian Gómez

Arquitectura de computadores

Embed Size (px)

Citation preview

Page 1: Arquitectura de computadores

Lic. Diego Fabian Gómez

Page 2: Arquitectura de computadores

Arquitectura de ComputadorasLIC. DIEGO FABIAN GÓMEZUNIMINUTO - 2016

Page 3: Arquitectura de computadores
Page 4: Arquitectura de computadores

FUNDAMENTOS DE LA ARQUITECTURA COMPUTACIONAL

• OBJETIVO: El estudiante reconocerá las nociones básicas de la arquitectura computacional. Así mismo, identificará los dispositivos que conforman a la computadora.

Page 5: Arquitectura de computadores
Page 6: Arquitectura de computadores

INTRODUCCIÓN• En la actualidad, el término computadora es

habitual y se encuentra presente directa o indirectamente en todas las actividades del ser humano. Es por ello que para aprovechar el potencial de la computadora se requiere conocer los fundamentos que le rigen, así como las partes que la integran. En la presente unidad se explica el concepto de computadora, se describen los elementos que la conforman, tanto el software como el hardware.

Page 7: Arquitectura de computadores

INTRODUCCIÓN

Page 8: Arquitectura de computadores

CONCEPTO DE ARQUITECTURA EN EL ENTORNO INFORMÁTICO

• Lo que se denomina hardware de computadores consiste en circuitos electrónicos, visualizadores, medios de almacenamiento magnéticos y ópticos, equipos electromecánicos y dispositivos de comunicación. Por lo que la arquitectura de computadoras abarca la especificación del repertorio de instrucciones y las unidades hardware que implementan las instrucciones.

Page 9: Arquitectura de computadores

DEFINICIÓN DE COMPUTADORA

• Un computador o computadora es una máquina calculadora electrónica rápida que acepta como entrada información digitalizada, la procesa de acuerdo con una lista de instrucciones almacenada internamente y produce la información de salida resultante. A la lista de instrucciones se le conoce como programa y el medio de almacenamiento interno memoria del computador.

Page 10: Arquitectura de computadores

ORGANIZACIÓN FÍSICA DE UNA COMPUTADORA

• Dispositivos de entrada:– Norton Peter en su libro Introducción a la

computación señala que “a principios de la década de 1980, cuando las computadoras personales comenzaron a ganar popularidad, muchos futuristas y analistas hicieron predicciones audaces acerca de la importancia de la computadora para la sociedad. Algunas personas incluso predijeron que, para el año 2000, en ningún hogar faltaría una computadora”.

Page 11: Arquitectura de computadores

ORGANIZACIÓN FÍSICA DE UNA COMPUTADORA

• Dispositivos de salida.• Memoria interna y memoria externa

Page 12: Arquitectura de computadores

ACTIVIDADES DE APRENDIZAJE

• Realizar un mapa conceptual donde se ilustre el concepto de arquitectura de computadoras.

• Realizar un mapa mental de la computadora.• Realizar un cuadro sinóptico de los elementos

que integran una computadora: dispositivos de entrada, salida, y memoria.

• Considerar ortografía. • Especificar la bibliografía consultada.

Page 13: Arquitectura de computadores
Page 14: Arquitectura de computadores

14

• La historia de la computación al igual que muchas otras, está llena de grandes esfuerzos y notables ejemplos.

Se sabe que las técnicas y mecanismos utilizados por el hombre para facilitar el manejo de los números datan desde la antigüedad. Al principio el hombre tuvo muchas necesidades y se vio en la necesidad de utilizar sus dedos para contar sus pertenencias y muchas otras cosas que le rodeaba en su entorno.

1. PRE-HISTORIA

Page 15: Arquitectura de computadores

2. Primeras Calculadoras Manuales

15

2.1 Ábaco (500 AC) El primer instrumento diseñado para facilitar el manejo de los

números fue el ábaco. El ábaco fue el primer dispositivo manual

que se usaba para contar. Aunque ha sufrido algunas variantes, el

ábaco moderno consta de una estructura rectangular que soporta

alambres paralelos donde están ensartadas algunas cuentas. Las

cuentas representan valores y mediante desplazamiento se

realizan las operaciones matemáticas. Mientras no se muevan las

cuentas, los resultados se mantienen en la memoria indicada por

la posición de las cuentas. Durante muchos años fue el

mecanismo más utilizado para desarrollar cálculos numéricos.

Page 16: Arquitectura de computadores

16

A principios del segundo siglo DC, los chinos perfeccionaron un sencillo sistema egipcio usado para calcular, al cual le agregaron un soporte tipo bandeja, poniéndole por nombre Suan-pan. El Ábaco permite realizar todas las operaciones aritméticas: sumar, restar, multiplicar y dividir, es decir fue la primera calculadora manual de la historia.

Page 17: Arquitectura de computadores

17

Distintos tipos de ábacos (Suan Pan, Ban Tien y un ábaco escolar.

Page 18: Arquitectura de computadores

18

3.1 Los Logaritmos

Los logaritmos permiten una notable simplificación de las principales operaciones aritméticas ( para multiplicar sólo se necesita hacer una suma y para dividir se efectúa una resta. Los logaritmos y sus principios han facilitado los cálculos matemáticos aun en este siglo.

El fundamento de los logaritmos fue descubierto por el matemático inglés John Neper o Napier (1550-1617), quien en 1614 publicó las primeras tablas de logaritmos. Se utilizada para resolver problemas de multiplicación usando funciones logarítmicas. Ibíd. VASCONCELOS SANTILLÁN, Jorge. Página: 36

3. Primeras Calculadoras Mecánicas

Matemático inglés John Neper o Napier (1550-1617), publicó las primeras Tablas De Logaritmos.

Page 19: Arquitectura de computadores

19

Logaritmo, en matemáticas, es el exponente o potencia a la que un número fijo, llamado base, se ha de elevar para dar un número dado. Por ejemplo, en la expresión 102 = 100, el logaritmo de 100 en base 10 es 2. Esto se escribe como log10 100 = 2. Los logaritmos fueron originalmente inventados para simplificar los procedimientos aritméticos de multiplicación, división, potencias y extracción de raíces, pero actualmente tienen muchas aplicaciones tanto en las matemáticas puras como en las aplicadas. Fuente: Los Logaritmos. Disponible en:<http://mx.encarta.msn.com/encyclopedia_761559618/Logaritmo.html>.

Page 20: Arquitectura de computadores

20

3.2. La Regla de CálculoEsta fue fruto de los logaritmos.

Apareció en el primer tercio del siglo XVII. Diseñada en 1622 por el matemático inglés William Oughtred (1574-1660.Regla de cálculo online http://www.pcsapiens.com/regladecalculo/

Page 21: Arquitectura de computadores

21

Matemático inglés William Oughtred (1574-1660.

Unos pocos años más tarde, entre 1620 y 1630, aparece la regla de cálculo, invento que se atribuye a William Oughtred (1574-1660), reconocido matemático de la época y amigo de John Napier.

La regla de cálculo permite realizar operaciones aritméticas mediante escalas basadas en los logaritmos: se emplean líneas superpuestas de números que se desplazan, permitiendo realizar los cálculos.

Page 22: Arquitectura de computadores

22

REGLA DE CÁLCULO ANTIGUA FABER-CASTEL 1/87. Regla de cálculo de madera y pasta de la época, con abundante información de cálculos técnicos en la parte posterior.

Page 23: Arquitectura de computadores

23

En los siguientes paneles se muestran distintas reglas de cálculo. Instrumentos que se utilizaban sobre todo para realizar productos, divisiones y operaciones trigonométricas y logarítmicas.

Page 24: Arquitectura de computadores

24

Page 25: Arquitectura de computadores

25

Page 26: Arquitectura de computadores

26

Panel en el que se muestran libros y tablas con cuentas hechas.

Page 27: Arquitectura de computadores

27

Panel en el que se muestran libros y tablas con cuentas hechas.

Page 28: Arquitectura de computadores

28

REGLA DE CÁLCULO DE HOY

Page 29: Arquitectura de computadores

29

3.1 Los Logaritmos

Los logaritmos permiten una notable simplificación de las principales operaciones aritméticas (para multiplicar sólo se necesita hacer una suma y para dividir se efectúa una resta. Los logaritmos y sus principios han facilitado los cálculos matemáticos aun en este siglo. En 1614 el escocés John Napier

(1550-1617) .

Page 30: Arquitectura de computadores

30

El fundamento de los logaritmos fue descubierto por el matemático inglés John Neper o Napier (1550-1617), quien en 1614 publicó las primeras tablas de logaritmos. Se utilizada para resolver problemas de multiplicación usando funciones logarítmicas. Ibíd. VASCONCELOS SANTILLÁN, Jorge. Página: 36

Page 31: Arquitectura de computadores

31

El científico y filósofo francés Blaise Pascal (1623-1662), motivado por el afán de ayudar a su padre en las labores contables, diseñó un mecanismo especializado en sumar.

La Pascalina es una de las primeras calculadoras mecánicas, que funcionaba a base de ruedas y engranes. Fue inventada por Blaise Pascal en 1645, tras tres años de trabajo sobre la misma.

Científico Y Filósofo Francés Blaise Pascal (1623-1662).

3.3 La Pascalina. (1642)

Page 32: Arquitectura de computadores

32

En 1642 Pascal elaboró la primera máquina mecánica capaz de sumar y restar cuyo funcionamiento estaba basado en el uso de ruedas dentadas; sumaba y restaba largas columnas de números sin equivocarse. Fuente: VASCONCELOS SANTILLÁN, Jorge. Introducción a la Computación. Tercera reimpresión. México, 1999.

Pascalina firmada por Pascal en 1652.

Page 33: Arquitectura de computadores

33

Fue inventada por Blaise Pascal en 1645, tras tres años de trabajo sobre la misma. Se fabricaron varias versiones y Pascal en persona construyó al menos cincuenta ejemplares.Fuente: Invención de la Pascalina. Disponible en:<http://informaticevolution.blogspot.com/2009_05_01_archive.html.

La Pascalina es una de las primeras calculadoras mecánicas, que funcionaba a base de ruedas y engranes.

Page 34: Arquitectura de computadores

Desarrollada por Matemático y filósofo alemán, Gottfried Wilhelm Von Leibniz, quien inventó el mecanismo que superaba al de Pascal,

pues podía multiplicar y dividir.

La calculadora que presentó en 1673 tuvo un fundamento mecánico que aún se aplicó en las últimas calculadoras mecánicas fabricadas

en el siglo XX. Es preciso mencionar que Leibniz desarrolló la teoría del sistema binario y efectuó las primeras investigaciones para

desarrollar la lógica formal (o la lógica matemática), elementos teóricos fundamentales para las computadoras actuales.

Fuente: Máquina calculadora de Leibniz

34

3.4 La Calculadora de Leibniz (1673)

Page 35: Arquitectura de computadores

35

Matemático y filósofo alemán,

Gottfried Wilhelm von Leibniz

Descubrió el cálculo diferencial (1648), independientemente de Newton. Desarrollo la primera máquina de calcular para multiplicación y división (1673), como una modificación de la Pascalina. En teoría podía realizar incluso las cuatro operaciones aritméticas, y de hecho construyó dos de estas máquinas, sin embargo, la tecnología disponible le imposibilitaba la realización de las operaciones con exactitud, y por eso nunca llegaron a ser más que diseños teóricos. En 1679 anticipó la conveniencia de usar el sistema binario para el cálculo mecánico.

Page 36: Arquitectura de computadores

36

Con la Revolución Industrial (Inglaterra, siglo XVII) la

industria textil se vio muy favorecida, pues la

elaboración de telas ya no se requirió del trabajo

manual, sino de telares mecánicos automáticos. No

obstante, los avances de Joseph Jacquard (1752-

1834) consistieron en el que diseña y construye un

telar cuyos patrones de tejido se encontraban

almacenados en tarjetas perforadas, pudiendo

cambiar de estilo al intercambiar una tarjeta.

4. Revolución Industrial 4.1 El Telar de Jacquard (1801)

Joseph Marie Jacquard, tejedor francés quería encontrar un método más fácil para hacer sus telares.

Page 37: Arquitectura de computadores

• El hizo un aditamento para la máquina de tejer que era controlado por tarjetas perforadas.

• Esta máquina fue considerada el primer paso significativo para la automatización binaria. Esta máquina se encuentra actualmente en el "Smithsonian Institute".

37

El Telar de J. M. Jacquard (1801) basaba su funcionamiento y automatismo en la lectura de tarjetas perforadas.

Page 38: Arquitectura de computadores

38

De 1812 a 1834, el inventor británico Charles Babbage

(1791-1871) diseñó y trabajó en la construcción de dos

proyectos: la máquina diferencial y la máquina analítica.

Desarrollada por Charles Babbage. Un dispositivo complejo

de cálculo que usaba dos pares de tarjetas perforadas. Un

par daba las instrucciones a la máquina mientras que el otro

par grababa los números a ser usados en los cálculos. La

máquina analítica de Babbage, habría sido una auténtica

computadora programable si hubiera contado con la

financiación adecuada.

4.2 Máquina Analítica (1833)

Charles Babbage (1791-1871)

Page 39: Arquitectura de computadores

39

Esto es similar a las computadoras desarrolladas en 1940. A Charles Babbage se le conoce como el padre de las computadoras. La Ideas de Babbage nunca cristalizaron debido al elevado costo que representaban ya que en su época no había los materiales ni las herramientas para fabricar las piezas que sus máquinas requerían.

Esta máquina podía recibir instrucciones, procesar y guardar información e imprimir los resultados.

Page 40: Arquitectura de computadores

40

Nació el 10 de diciembre de 1815 en Inglaterra. Murió el 23 de noviembre de 1852 en Inglaterra.

5. Primera Mujer Programadora de la historia: Ada Byron

Trabajó con Babbage. Escribió un programa

de demostración para el uso de la máquina

analítica. Por esta razón ella es considerada la

Primera mujer Programadora. Muchos

historiadores consideran a Babbage y a la

matemática británica Augusta Ada Byron

(1815-1852), hija del poeta inglés Lord Byron,

como a los verdaderos inventores de la

Computadora Digital Moderna

Page 41: Arquitectura de computadores

41

6. Máquina Tabuladora (1890)

Desarrollada por Dr. Herman Hollerith que trabajó para la oficina del Censo de los E.U. durante el censo

de 1880. El diseñó un sistema mediante el cual las tarjetas eran perforadas para representar la

información del censo. Las tarjetas eran insertadas en la máquina tabuladora y ésta calculaba la

información recibida.

Page 42: Arquitectura de computadores

42

Dr. Herman Hollerith inventor de Máquina Tabuladora, considerada el primer computador.

6. Máquina Tabuladora (1890)

Hollerith alquilaba sus máquinas al gobierno.

En 1896 fundó la "Tabulating Machine

Company", la cual en 1923 paso a ser la

"International Business Machines Corporation

(IBM)".

Page 43: Arquitectura de computadores

43

Desarrollada por Howard Aiken. Primera computadora electromecánica que utiliza

principios magnéticos. Utilizaba ceros y unos (encendido y apagado) para

representar números.

7. Primera Computadora Electromecánica. MARK I (1944)

Page 44: Arquitectura de computadores

44

Desarrollada por Dr. John W. Mauchly y John Presper Eckert, Jr. Primera Computadora Electrónica

Digital a Gran Escala en ser completada. Esta computadora fue construida en la Universidad de

Pensylvania y financiada con fondos del ejército de los Estados Unidos para ser usada en la Segunda

Guerra Mundial, tabulando nuevas armas.

8. Primera Computadora Electrónica Digital a Gran Escala. ENIAC (1946)---

Page 45: Arquitectura de computadores

45

Page 46: Arquitectura de computadores

46

9. Primera Computadora en utilizar concepto

de Almacenar Información. EDVAC (1947) • Desarrollada por Dr. John W. Mauchly, John Presper Eckert, Jr. y John Von Neumann.

Primera computadora en utilizar el concepto de almacenar información. Podía almacenar

datos e instrucciones usando un código especial llamado notación binaria.

10. Primera Computadora Capaz de almacenar Programas Electrónicamente. EDSAC

(1949)

Desarrollada por Maurice Wilkes. Primera computadora capaz de almacenar programas

electrónicamente. Primera computadora programable. También fue un prototipo de

laboratorio, pero ya incluía en sí diseño las ideas centrales que conforman a las

computadoras actuales. Incorporaba las ideas del doctor John Von Neumann.

Page 47: Arquitectura de computadores

47

11. Primera Computadora Comercial --- (UNIVAC I (1951) ---

La primera computadora electrónica comercial, la UNIVAC I, fue también la primera capaz de

procesar información numérica y textual. Desarrollada por Mauchly y Eckert para la Remington-

Rand Corporation. Primera computadora comercial utilizada en las oficinas del Censo de los

Estados Unidos.

Page 48: Arquitectura de computadores

HISTORIA

• Describe que se inicia cuando la oficina de censos de Estados Unidos utilizó la UNIVAC 1 en 1951. Estas primeras computadoras estaban fabricadas con bulbos (tubos de vidrio del tamaño de un foco, que contienen circuitos eléctricos)

Page 49: Arquitectura de computadores
Page 50: Arquitectura de computadores
Page 51: Arquitectura de computadores
Page 52: Arquitectura de computadores

HISTORIA - TRANSISTOR

• El siguiente cambio en las computadoras —señala Villareal—, se caracterizan por estar constituidas con transistores en lugar de bulbos. Asimismo, los transistores se emplearon por primera vez en una computadora en 1956, y podían desempeñar la misma función que un bulbo, pero ocupaban mucho menor espacio y eran más confiables. No utilizaban tanta energía ni producían mucho calor; además, eran rápidas y poderosas. Pero los transistores tenían que ser alambrados manualmente y soldados unos a otros para formar circuitos.

Page 53: Arquitectura de computadores

HISTORIA - TRANSISTOR

Page 54: Arquitectura de computadores

CIRCUITOS INTEGRADOS• Un circuito integrado (CI), también conocido como

chip, microchip, es una estructura de pequeñas dimensiones de material semiconductor, normalmente silicio, de algunos milímetros cuadrados de área, sobre la que se fabrican circuitos electrónicos generalmente mediante fotolitografía y que está protegida dentro de un encapsulado de plástico o de cerámica. El encapsulado posee conductores metálicos apropiados para hacer conexión entre el Circuito Integrado y un circuito impreso.

Page 55: Arquitectura de computadores

HISTORIA – CIRCUITOS INTEGRADOS

Page 56: Arquitectura de computadores

HISTORIA - MICROPROCESADOR• El microprocesador (o simplemente procesador) es

el circuito integrado central más complejo de un sistema informático; a modo de ilustración, se le suele llamar por analogía el «cerebro» de un computador.

• Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

Page 57: Arquitectura de computadores

HISTORIA – MICROPROCESADORES

Page 58: Arquitectura de computadores

ACTIVIDADES DE APRENDIZAJE

• Realizar una línea de tiempo de los procesadores. AMD e INTEL.

Page 59: Arquitectura de computadores

LÍNEA DE TIEMPO• http://www.timetoast.com/timelines/linea-

de-tiempo-procesadores-intel

Page 60: Arquitectura de computadores
Page 61: Arquitectura de computadores

Arquitectura Harvard

Características Cuenta con la memoria de programa y la memoria de datos separadas y solo accesibles a través de buses distintos.

Consta de dos partes la CPU que procesa los datos y la memoria que los guarda.

Las Instrucciones y los datos se almacenan en caches Separadas para mejorar el rendimiento.

Originalmente, el término Arquitectura Harvard hacía referenciaa las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos. El término proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.

Page 62: Arquitectura de computadores
Page 63: Arquitectura de computadores

Ventajas Al almacenar las instrucciones y datos en caches diferentes se mejora el rendimiento.

Desventajas Solo funciona mejor cuando la frecuencia de lectura de instruccionesy de datos es aproximadamente la misma

El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.

El tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.

Deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas.

Hay que duplicar los sistemas de comunicación entre la CPU y la memoria, lo cual hace más complejo su diseño.

Page 64: Arquitectura de computadores
Page 65: Arquitectura de computadores

Arquitectura Von Neumann

La arquitectura de Von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos. La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales.

Caracteristicas La CPU, está conectada a una memoria única donde se guardan las instrucciones del programa y los datos.

El tamaño de la unidad de datos o instrucciones está fijado por el ancho del bus que comunica la memoria con la CPU.

Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos

Page 66: Arquitectura de computadores

Ventajas No hace falta ningún dispositivo de medio externo para la ejecución de las instrucciones.

DesventajasLa 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.

Una sola forma de acceso a datos e instrucciones.

Una CPU con menos operaciones.

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.

Crea cierta ralentización debido a que instrucciones desde la memoria junto con los datos deben pasar por un único canal.

Page 67: Arquitectura de computadores
Page 68: Arquitectura de computadores

Arquitectura Harvard vs Von Neumann

En cuanto a funcionamiento la Arquitectura Von Neumann es mas eficiente que la Harvard ya que llevar o traer cosas desde y hacia la memoria es bastante más lento que realizar una operación de la CPU.

La arquitectura Harvard puede evitar el “Cuello de botella Von Neumann” 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.

La arquitectura Von Neumann es la ideal para ser utilizada en ordenadores y la Arquitectura Harvard la mejor para construir Procesadores de Señal.

La arquitectura Von Neumann al no tener que dividir el cache hace un mejor uso de la memoria lo contrario que ocurre con la arquitectura Harvard.

Page 69: Arquitectura de computadores

PAQUETE DE INSTRUCCIONES

Page 70: Arquitectura de computadores

• La familia x86 reagrupa los microprocesadores compatibles con el juego de instrucciones Intel 8086. Por tanto, x86 representa a ese conjunto de instrucciones, siendo también una denominación genérica dada a los correspondientes microprocesadores.

Page 71: Arquitectura de computadores

• MMX es un Conjunto de instrucciones SIMD diseñado por Intel e introducido en 1997 en sus microprocesadores Pentium MMX. Fue desarrollado a partir de un set introducido en el Intel i860. Ha sido soportado por la mayoría de fabricantes de microprocesadores x86 desde entonces.

Page 72: Arquitectura de computadores

• 3DNow! es el nombre comercial que recibe una extensión multimedia al conjunto de instrucciones x86 diseñada por AMD para sus microprocesadores como una mejora del conjunto de instrucciones MMX de Intel, haciendo que pudiera manejar datos en coma flotante además de enteros. El primer microprocesador en incorporarlas fue el AMD K6-2 lanzado en febrero de 1998. Cuando se aplica apropiadamente se incrementa al velocidad de 2 a 4 veces.1

• En términos más técnicos, es un añadido de instrucciones SIMD al tradicional conjunto de instrucciones x86, para obtener más rendimiento en el procesamiento de vectores, es decir, operaciones que son realizadas sobre un vector de datos al mismo tiempo (y no sobre un único dato). Este tipo de operaciones son empleadas frecuentemente por muchas aplicaciones multimedia.

Page 73: Arquitectura de computadores

• SSE (Streaming SIMD Extensions) es una extensión al grupo de instrucciones MMX para procesadores Pentium III, introducida por Intel en febrero de 1999. Las instrucciones SSE son especialmente adecuadas para decodificación de MPEG2, que es el códec utilizado normalmente en los DVD, procesamiento de gráficos tridimensionales y software de reconocimiento de voz. Estas fueron inicialmente conocidas como "KNI" por Katmai New Instructions (Katmai fue el nombre código de la primera revisión del núcleo del Pentium III, Intel estaba interesada en distinguir su nueva línea de procesadores de la generación anterior, el Pentium II. En febrero de 2001, AMD agregó esta tecnología en su procesador Athlon XP.

Page 74: Arquitectura de computadores

• Estas instrucciones operan con paquetes de operandos en coma flotante de precisión simple (FP).

• Hay varios tipos de instrucciones SSE

• Instrucciones SSE de Transferencia de datos.• Instrucciones SSE de Conversión.• Instrucciones SSE Aritméticas.• Instrucciones SSE lógicas.• Con la tecnología SSE, los microprocesadores x86 fueron dotados de setenta

nuevas instrucciones y de ocho registros nuevos: del xmm0 al xmm7. Estos registros tienen una extensión de 128 bits (es decir que pueden almacenar hasta 16 bytes de información cada uno). A diferencia de su antecesor, MMX, la utilización de SSE no implicaba la inhabilitación de la unidad de coma flotante (FPU en inglés) por lo que no era necesario habilitarla nuevamente, lo que significaba para MMX una significativa pérdida de velocidad.

Page 75: Arquitectura de computadores

• SSE2 es el acrónimo de Streaming "Single Instruction Multiple Data" Extensions 2 es uno de los conjuntos de instrucciones de la arquitectura IA-32 SIMD. Fue utilizada por primera vez en la primera versión del Pentium 4 en 2001. Estas extensiones están diseñadas para el trabajo avanzado con gráficos 3D, codificación y decodificación de vídeo, reconocimiento de voz, comercio electrónico, Internet, aplicaciones de ingeniería y científicas, etc.

• Las extensiones SSE2 siguen el mismo modelo que las utilizadas en los predecesores SSE y MMX manteniendo compatibilidad con esas extensiones, pero amplía su modelo con soporte para paquetes de valores flotantes de precisión doble y para paquetes de enteros de 128 bits.

• Se diferencian entre los tipos de datos:

• Paquetes de números dobles en coma flotante de 128 bits.• Paquetes de byte de 128 bits• Paquetes de palabra de 128 bits• Paquetes de doble palabra de 128 bits• Paquetes de cuádruple palabra de 128 bits• Las nuevas instrucciones se pueden dividir según operaciones de paquetes y escalares de precisión

doble, conversiones, extensión a 128 bits de instrucciones MMX, y mejoras de las instrucciones de almacenamiento en la memoria intermedia.

Page 76: Arquitectura de computadores

• SSE3 Conocido por el nombre en código que le puso Intel, Prescott New Instructions (PNI) es la tercera generación de las instrucciones SSE para la arquitectura IA-32. Intel mostró las SSE3 a principios de 2004 con la revisión de su CPU Pentium 4 llamada Prescott. En abril de 2005 AMD sacó una parte del SSE3 en la revisión E (llamadas Venice y San Diego) de su CPU Athlon 64.

• SSE3 añade 13 nuevas instrucciones a SSE2.• El cambio más notable es la capacidad de trabajar horizontalmente en un

registro (en oposición a las operaciones más o menos estrictas de operar en vertical de las anteriores instrucciones SSE). Concretamente se añadieron ciertas instrucciones para sumar y restar múltiples valores almacenados en un mismo registro. Estas instrucciones simplifican enormemente las implementaciones de operaciones con Procesamiento digital de señales y Gráficos 3D por computadora. También hay nuevas instrucciones para convertir números en punto flotante a enteros sin tener que cambiar el modo global de redondeo.

Page 77: Arquitectura de computadores

• SSE4 es un conjunto de instrucciones implementadas en el microprocesador K10 de AMD (K8L) de manera parcial (solo dispone de SSE4a) y en la familia Intel Core2 de 45nm y posteriores. Se anunció el 27 de septiembre de 2006 en el Foro de desarrolladores de Intel, mostrando sólo vagos detalles de lo que finalmente sería el nuevo conjunto de instrucciones. Durante la siguiente edición del foro de desarrolladores del 2007, se especificó que finalmente serían 47 instrucciones las que conformarían el set SSE4.

Page 78: Arquitectura de computadores

• SSE4.1• Estas instrucciones fueron incluidas con el núcleo Penryn de la rama de procesadores Intel

Core 2, consiste en 47 instrucciones orientadas a mejorar el rendimiento en la manipulación de datos multimedia, juegos, criptografía y otras aplicaciones.

• SSE4.2• Fueron implementadas en la microarqutectura Intel Nehalem, consisten en 7 instrucciones

adicionales orientadas a mejorar el rendimiento al trabajar con procesadores de texto y acelerar algunas operaciones en aplicaciones específicas como las científicas, con estas son completadas las 54 instrucciones SSE4.

• SSE4a• Una implementación parcial de las SSE4.1 usada solo por AMD en las que están

implementadas un total de 4 instrucciones.

• Nótese además que SSE4a no es compatible con los juegos de instrucciones SSE4.1 y SSE4.2 al ser una implementación distinta, además solo los procesadores de AMD de la serie FX implementan SSE4.1 y SSE4.2. i más adelante tambiem lo implementa Intel I3 ,I5, I7

Page 79: Arquitectura de computadores

• Extensiones Vectoriales Avanzadas• Las extensiones vectoriales avanzadas, del

inglés advanced vector extensions y abreviado AVX, es un conjunto de instrucciones de 256 bits desarrollado por Intel Corporation como una extensión al conjunto de instrucciones x86 utilizado en procesadores de Intel y AMD. Provee nuevas características, instrucciones y un nuevo esquema de codificación.

Page 80: Arquitectura de computadores

• Historia• Fue propuesto por Intel en marzo del año 20081 pero no fue soportado hasta el primer trimestre del año 2011 con el lanzamiento de su

nueva generación de procesadores iX denominada Sandy Bridge y después por AMD con el procesador "Bulldozer" a partir del tercer trimestre del mismo año.

• Características• Es un vector de extensión SIMD de 256 bits para operaciones de punto flotante intensivo. Mejora el rendimiento en las nuevas

aplicaciones, y algunas existentes, mediante el manejo de paquetes de datos vectoriales más grandes, y el uso de más hilos y núcleos del procesador.

• El ancho del registro SIMD es incrementado de 128-bits a 256-bits, y renombrado de XMM0-XMM15 a YMM0-YMM15. En los procesadores que soportan AVX, el conjunto de instrucciones SSE (que anteriormente operaba en los registros XMM) pasa a operar en los primeros 128-bits de los registros YMM. Además, se espera la inclusión de vectores de 512 e incluso 1024 bits.

• Son instrucciones no destructivas. AVX introduce un formato SIMD de 3 y 4 operandos, donde el operando de destino es diferente de los operandos fuente. Por ejemplo, una instrucción SSE convencional de 2 operandos a:=a+b puede usar un formato no destructivo de 3 operandos c:=a+b, preservando los operandos fuente. Este formato está limitado al conjunto de instrucciones con operandos SIMD (YMM) y no incluye los registros con propósitos generales (p.e. EAX), sin embargo, se espera el soporte en el futuro.

• Debido al mayor poder de procesamiento, las aplicaciones que usen intesivamente estas instrucciones pueden realizar el trabajo más eficientemente, dando un rendimiento por watt más alto que con otro conjunto de instrucciones.

• Flexibilidad en el entorno de programación, debido a que el requisito de alineación de los operandos de memoria SIMD es relajado.

• Nuevo manejo de operaciones aritméticas y primitivas, incluyendo difusión, permutación, suma y multiplicación fusinado, entre otras.

Page 81: Arquitectura de computadores

CÓDIGOS DE TEXTO

• Al principio de la historia de la computación, los programadores se dieron cuenta de que necesitaban un código estándar, un sistema en el que todos pudieran estar de acuerdo con respecto a qué números representarían las letras del alfabeto, los signos de puntuación y otros símbolos. EBCDIC, ASCII y Unicode son tres de los sistemas más populares que fueron inventados.

Page 82: Arquitectura de computadores

EBCDIC

• El sistema BCD (Código Decimal Binario: Binary Coded Decimal), definido por IBM, para una de sus primeras computadoras fue uno de los primeros sistemas completos para representar símbolos con bits. Los códigos BCD constan de códigos de seis bits, los cuales permiten un máximo de 64 símbolos posibles. Las computadoras BCD sólo podían trabajar con letras mayúsculas y con muy pocos otros símbolos. Por estas situaciones este sistema tuvo una vida corta.

Page 83: Arquitectura de computadores

EBCDIC

• La necesidad de representar más caracteres condujo a la IBM a desarrollar el sistema EBCDIC; el cual se pronuncia “EB-si-dic”, significa Código de Intercambio de Decimales Codificados en Binarios Extendidos (Extented Binary Coded Decimal Interchange Code).

• El código EBCDIC es un código de ocho bits que define 256 símbolos. EBCDIC todavía se emplea en mainframes y sistema de rango medio de IBM, pero rara vez se encuentra en computadoras personales. Para cuando se estaban desarrollando las computadoras pequeñas, el Instituto Nacional Estadounidense de Normas (American Nacional Standars Institute:ANSI) había entrado en acción para definir normas para computadoras.

Page 84: Arquitectura de computadores

Fuente: www.pubblinet.com

Page 85: Arquitectura de computadores

ASCII.• La solución de ANSI para representar símbolos con bits de

datos fue el juego de caracteres ASCII. • ASCII significa Código Estándar Estadounidense para el

Intercambio de Información (American Standard Code for Information Interchange). Actualmente, el juego de caracteres ASCII es el más común.

• Los caracteres del 0 al 31 son caracteres de control; • del 32 al 64 son caracteres especiales y números; • del 65 al 96 son letras mayúsculas y unos cuantos símbolos; • del 97 al 127, son letras minúsculas, y unos pocos símbolos

comunes.

Page 86: Arquitectura de computadores

ASCII.

• Ya que el ASCII, un código de siete bits, especifica caracteres sólo hasta 127, hay muchas variaciones que especifican diferentes juegos de caracteres para los códigos del 128 al 255.

• La norma ISO (Organización Internacional de Normas: International Standards Organization) expandió el juego de caracteres ASCII para ofrecer diferentes juegos de caracteres para diferentes grupos de idiomas. ISO 8859-1, por ejemplo, cubre los idiomas de Europa occidental. Sin embargo, hay muchos otros juegos de caracteres para otros idiomas que usan un alfabeto diferente.

Page 87: Arquitectura de computadores

ASCII.

Page 88: Arquitectura de computadores

UNICODE• Unicode. Una norma para representación de datos que está en evolución,

llamada Norma de Código Único para Caracteres Mundiales (Unicode WorldWide Character Set), proporciona dos bytes, 16 bits, para representar cada símbolo.

• Con dos bytes, un carácter Unicode podría ser cualquiera de más de 65536 caracteres o símbolos diferentes, suficiente para cada carácter y símbolo en el mundo, incluyendo los vastos juegos de caracteres chinos, coreanos y japoneses y aquellos que se encuentran en textos clásicos e históricos conocidos.

• Si un juego de caracteres único estuviera disponible para cubrir todos los idiomas en el mundo entero, los programas y datos de computadora serían intercambiables. Debido a que esto es ciertamente una meta que vale la pena, posiblemente un día se dé el esfuerzo conjunto para reemplazar ASCII por Unicode.

• Muchos editores de software, incluyendo Microsoft, animan a sus desarrolladores a usar Unicode en sus programas

Page 89: Arquitectura de computadores

TAXONOMÍA DE ARQUITECTURA DE COMPUTADORAS

• OBJETIVO • El estudiante identificará la teoría que

permite el cálculo matemático de la computadora. Además interpretará la forma de manipulación de los datos.

Page 90: Arquitectura de computadores
Page 91: Arquitectura de computadores

SISTEMAS DE NUMERACIÓN • La tecnología digital emplea sistemas de

numeración, los más comunes son: sistemas decimal, binario, octal y hexadecimal

Page 92: Arquitectura de computadores

Sistema decimal• Es el sistema más común, ya que es

una herramienta habitual. Se compone de 10 elementos o símbolos, los cuales son: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9; los cuales, en combinación, se emplean para expresar cualquier cantidad.

Page 93: Arquitectura de computadores

Sistema decimal• Es conocido también como sistema de base

10 por los 10 dígitos. Se considera como un sistema de valor posicional en el cual el valor de un dígito depende de la posición en que se encuentre.

• Por ejemplo, en el número 1983, el 1 tiene más peso de entre los cuatro dígitos y se le refiere como el dígito más significativo, el 3 tiene el menor peso de los cuatro y se llama dígito menos significativo

Page 94: Arquitectura de computadores

Sistema Binario• Diseñar un equipo electrónico que

pueda operar con 10 diferentes valores de voltaje, es algo que conlleva una gran dificultad; es por esto que en los sistemas digitales se emplea el sistema de numeración binario como sistema numérico básico de sus operaciones, aunque se usan otros sistemas en conjunto con el binario.

Page 95: Arquitectura de computadores

Sistema Binario• El sistema binario se integra por dos

valores de dígitos el 0 y el 1, en algunos casos el 0 equivale al apagado en un circuito y el 1 al encendido.

Page 96: Arquitectura de computadores

Sistema BinarioBASE 10 BASE 20 0

1 1

2 10

3 11

4 100

5 101

6 110

7 111

8 1000

9 1010

Page 97: Arquitectura de computadores

TAXONOMÍA DE FLYNN• La forma más común de clasificar a los

sistemas según sus capacidades de procesamiento paralelo es a través de la taxonomía introducida primeramente por Flynn, el cual propone las siguientes categorías o clases de computadores:

Page 98: Arquitectura de computadores

TAXONOMÍA DE FLYNN• Una secuencia de instrucciones y una

secuencia de datos (SISD, Single Instruction, Single Data). Se define un único procesador, el cual interpreta una sola secuencia de instrucciones para procesar los datos almacenados en una única memoria. Dentro de esta categoría se encuentran los computadores monoprocesador

Page 99: Arquitectura de computadores
Page 100: Arquitectura de computadores

Secuencia de instrucciones y múltiples secuencias de datos (SIMD, Single

Instruction Multiple Data).• Una instrucción máquina controla paso a

paso el proceso de ejecución simultánea y sincronizada de un cierto número de elementos de proceso. Cada uno de estos tiene una memoria asociada, por lo que cada instrucción es ejecutada por cada procesador, con un conjunto de datos diferentes. Los procesadores vectoriales y los matriciales pertenecen a esta categoría.

Page 101: Arquitectura de computadores

Múltiples secuencias de instrucciones y una secuencia de datos (MISD).

• Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente.

Page 102: Arquitectura de computadores

Múltiples secuencias de instrucciones y múltiples secuencias de datos (MIMD).

• Un conjunto de procesadores ejecutan de forma simultánea secuencias de instrucciones diferentes con conjuntos de datos distintos. Los SMP (Multiprocesador simétrico), los clusters, son ejemplos de esta categoría.

Page 103: Arquitectura de computadores

TAXONOMÍA DE SHORE

• Existen 3 métodos para considerar la estructura de memoria de un multiprocesador:

• Memoria físicamente compartida, • Memoria lógicamente compartida Y

Físicamente distribuida, • Memoria distribuida.

Page 104: Arquitectura de computadores

TAXONOMÍA DE SHORE

• En un multiprocesador con memoria físicamente compartida, todos los procesadores comparten una memoria común.

• Los procesos que se ejecutan en procesadores diferentes pueden comunicarse leyendo y escribiendo valores en la memoria compartida.

Page 105: Arquitectura de computadores

TAXONOMÍA DE SHORE • Los multiprocesadores con memoria lógicamente

compartida, y físicamente distribuida representan un compromiso entre las otras dos estrategias.

• En estas máquinas cada procesador tiene una memoria local, es decir, la memoria se encuentra físicamente distribuida, a la que otros procesadores pueden tener acceso directo, es decir, se encuentra lógicamente compartida.

Page 106: Arquitectura de computadores

TAXONOMÍA DE SHORE • En un multiprocesador de memoria

distribuida, cada procesador tiene su propia memoria. Los procesadores no tienen acceso directo a la memoria de los otros, por lo que los procesos que se ejecutan en otros procesadores deben intercambiar mensajes para comunicarse entre sí.

Page 107: Arquitectura de computadores

ACTIVIDAD• Realizar una síntesis del Modelo de Vonn

Neumann enfatizando la importancia en la tecnología actual de las computadoras.

• Enunciar 5 equipos que usen la arquitectura de Harvard y 5 que usen la de Von Neumann.

• Realizar un cuadro sinóptico de la taxonomía de Flynn.

• Especificar la bibliografía consultada.

Page 108: Arquitectura de computadores

Bruegge, B., Dutoit, A.H., Ingeniería del Software Orientado a Objetos, cap. 1

Jacobson, I., Booch, G., Rumbaugh, J., El Proceso Unificado de Desarrollo de Software, cap. 1

Pressman, R.S., Ingeniería del Software. Un enfoque práctico, cap. 1 y 2

Sommerville, I., Ingeniería de Software, cap. 1, 2 y 3

Referencias