Documentos de Académico
Documentos de Profesional
Documentos de Cultura
8yh8mghoaRCclREl - dY8lA2QvhZVaTW2E Lectura 20 Fundamental 208 PDF
8yh8mghoaRCclREl - dY8lA2QvhZVaTW2E Lectura 20 Fundamental 208 PDF
1 //Escenario
Escenario28
Lectura fundamental
Fundamental
Contenido
2 Arquitecturas móviles
3 Arquitecturas embebidas
4 Computación en la nube
5 Computación cuántica
Palabras clave: computación en la nube, computación cuántica, sistemas embebidos, ARM, DSP, GPU
1. Introducción a las nuevas tendencias en la arquitectura del
computador
Luego del recorrido que se ha llevado a cabo durante este curso, es muy importante no perder de
vista que se ha presentado y discutido tan solo los lineamientos estructurales de la arquitectura de los
computadores. Sin embargo, existen múltiples áreas de investigación y desarrollo que han marcado
diferentes paradigmas en la historia de la computación; el futuro es prometedor y los temas desarrollados
durante el curso son solo el punto de partida para poder ingresar y ser parte activa de ese futuro.
Se han seleccionado varias tendencias, que en general son las que impactan en mayor medida nuestro
día a día, y en cada caso se presentarán sus definiciones, ventajas, problemas y escenarios de aplicación.
2. Arquitecturas móviles
La arquitectura ARM se diseñó para permitir implementaciones de tamaño muy reducido y de alto
rendimiento. Estas arquitecturas son simples y permiten su implementación sobre dispositivos con muy
bajo consumo de energía. Se caracterizan fundamentalmente por estar compuestas por un conjunto de
instrucciones reducido (Reduced Instruction Set Computer, RISC).
Acorn tuvo una posición fuerte en el mercado de las computadoras personales del Reino Unido debido al
suceso de la microcomputadora BBC (British Broadcasting Corporation). El micro BBC fue una máquina
potenciada por un microprocesador de 8 bits: el 6502 (Patterson, 1998).
En 1990, ARM Limited se estableció como una compañía separada específicamente dedicada a la
explotación de la tecnología ARM. El criterio de la empresa fue otorgar la licencia de esta tecnología a
varios fabricantes de semiconductores en todo el mundo.
Comenzó a establecerse como líder del mercado para aplicaciones embebidas de bajo consumo y costo.
La arquitectura ARM incorporó algunas características del diseño RISC de Berkeley, aunque no todas.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 2
2.1. Características originales
Las características originales de ARM que aún se mantienen son:
• Formatos de instrucción de 3 direcciones. Consta de “f” bits para el código de operación, “n”
bits para especificar la dirección del 1er. operando, “n” bits para especificar la dirección del 2do.
operando y “n” bits para especificar la dirección del resultado (el destino). El formato de esta
instrucción en Assembler, por ejemplo, para la instrucción de sumar dos números para producir
un resultado, es:
»» ADD d, s1, s2 ; d := s1 + s2
En el formato de 3 direcciones de ARM las direcciones se especifican por registros, que se han
cargado previamente con el contenido de las direcciones de memoria correspondientes.
Esta arquitectura no destructiva (el resultado de la operación no se escribe sobre alguno de los
operandos) permite a los compiladores organizar las instrucciones de manera de optimizar el
“pipeline” (técnica de procesamiento de varias instrucciones en “paralelo”).
• Control sobre la unidad aritmética lógica (ALU, Arithmetic Logic Unit) y el “shifter”, en cada
instrucción de procesamiento de datos para maximizar el uso de la ALU y del “shifter”.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 3
• Carga y almacenamiento de múltiples instrucciones, para maximizar el rendimiento de los datos.
• Facilidad de uso e interpretación. A los programadores Assembler les resulta más fácil aprender
un conjunto con estas características. Y también, a los compiladores les resulta más fácil
manejarlo. Mientras que la implementación del hardware será generalmente más eficiente.
• Técnica “pipeline”: Esta técnica consiste en comenzar la próxima instrucción antes de que la
actual haya finalizado. El objetivo es economizar tiempo y maximizar el rendimiento en cuanto al
uso de recursos.
• Excepciones vectorizadas: Las excepciones son condiciones inusuales o inválidas asociadas con
la ejecución de una instrucción particular.
• Arquitectura “Thumb”: Algunos procesadores ARM tienen esta arquitectura para aplicaciones que
necesiten mejorar la densidad de código. Consiste en usar un conjunto de instrucciones de 16 bits
que es una forma comprimida del conjunto de instrucciones ARM de 32 bits. Estas mejoras sobre
la arquitectura RISC básica permiten a los procesadores ARM adquirir un buen equilibrio entre
alto rendimiento, escaso tamaño de código, bajo consumo y poca área de silicio. (Canel, 2007)
En síntesis...
Todas las características y mejoras sobre la arquitectura RISC básica,
permiten a los procesadores ARM adquirir un buen equilibrio entre alto
rendimiento, escaso tamaño de código, bajo consumo y poca área de
silicio.
3. Arquitecturas embebidas
El ejemplo clásico de un sistema embebido es aquel que utiliza DSP o procesadores digitales de señal,
que son microprocesadores específicamente diseñados para el procesamiento de señales que han sido
digitalizadas. Algunas de sus características más básicas como el formato aritmético, la velocidad,
la organización de la memoria o la arquitectura interna hacen que sean o no adecuados para una
aplicación en particular.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 4
Un sistema de procesamiento digital de señal puede definirse como cualquier sistema electrónico que
aplique operaciones matemáticas y lógicas a señales representadas de forma digital, es decir, aquellas
que han sido muestreadas en secuencia. A menudo, estas muestras se obtienen de señales físicas
(por ejemplo, señales de audio) utilizando transductores (un micrófono en este caso) y convertidores
analógico-digitales. Después del procesamiento matemático, las señales digitales pueden volver a
convertirse en señales físicas mediante convertidores digital-analógicos.
Hablar de DSP obliga a hacer referencia a las nuevas arquitecturas VLIW (Very Long Instruction
Word) que están siendo adoptadas por los DSP de muy altas prestaciones. Las Tecnologías
de la Información y las Comunicaciones (TIC) demandan cada vez más recursos para poder
procesar grandes volúmenes de datos. Hasta ahora, los avances en la capacidad de cómputo de
los procesadores se han basado en el aumento de la velocidad del reloj y en innovaciones en la
planificación, por parte del hardware, de la ejecución de instrucciones.
Este modelo actual presupone que cada nueva generación de procesadores es capaz de ejecutar más
instrucciones y será difícil que las arquitecturas tradicionales continúen doblando prestaciones cada
12-18 meses sin que se emigre a una nueva tecnología.
En su lugar, parece tener más sentido utilizar ese silicio para poder ejecutar más instrucciones por
ciclo, incorporando más unidades funcionales y aumentando así el paralelismo de ejecución, mientras
que la planificación de instrucciones se realiza por el compilador.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 5
Este es el principio en el que se basa la arquitectura VLIW. Esta reducción de complejidad, hardware
más sencillo y menor número de transistores, permite incrementar la velocidad del reloj y al mismo
tiempo reducir el consumo.
El concepto de arquitectura VLIW no es nuevo ya que desde 1975 han ido apareciendo procesadores
VLIW pero siempre más a un nivel de prototipo que a nivel comercial. Sin embargo, no ha sido
hasta hace relativamente poco, aproximadamente en 1997, que los esfuerzos en la mejora del
compilador, en aspectos de paralelismo, han hecho que estos procesadores sean realmente eficientes.
Tradicionalmente, las ventajas asociadas con la arquitectura VLIW eran difíciles de conseguir y su
futuro era cuestionable. La falta de compiladores eficientes a menudo significaba que el programador
tuviera que pasar muchas horas tratando de optimizar su extenso código, la mayoría de las veces sin
éxito, para mejorar las prestaciones de la aplicación.
Las arquitecturas VLIW están estrechamente relacionadas con los procesadores superescalares.
Ambos tratan de aumentar la velocidad computacional mediante paralelismo a nivel de instrucciones
en el que se utilizan múltiples copias de algunas etapas del pipeline o unidades de ejecución trabajando
en paralelo. Las dos diferencias principales recaen en cómo se formulan las instrucciones y en cómo
se realiza su planificación o secuenciamiento: en una arquitectura VLIW, las instrucciones poseen
un formato grande de palabra compuesto por múltiples instrucciones independientes que incluye un
campo de control para cada una de las unidades de ejecución.
Por otro lado, a diferencia de los procesadores superescalares en los que la planificación de las
instrucciones para buscar el máximo paralelismo la realiza el propio procesador, en las arquitecturas
VLIW esta tarea la realiza el compilador. Esta planificación es conocida como estática (“static
scheduling”). Una ventaja inmediata de este tipo de planificación es que permite dedicar más tiempo a
encontrar la mejor optimización, aunque esto hace que el compilador sea más complejo ya que sobre
él recae la responsabilidad de agrupar de la mejor forma posible las instrucciones.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 6
En síntesis...
La reciente aparición de compiladores realmente eficaces en extraer
el paralelismo de un programa, ha propiciado la recuperación de
las arquitecturas VLIW y con ello la obtención de DSP de elevadas
prestaciones. La gran ventaja de la arquitectura VLIW radica en que la
extracción del paralelismo se realiza por el compilador y ello permite
dedicar más tiempo para obtener la mejor optimización.
En consecuencia, el procesador resulta ser mucho más simple y con
un número mucho menor de transistores, lo que permite trabajar con
velocidades de reloj más elevadas y con un menor consumo.
4. Computación en la nube
El desarrollo de las redes de datos nacionales e internacionales, que empezó a explotar en los años
90, permitió la explosión de usuarios de Internet, pero también la aparición de nuevos centros de
datos extremadamente eficientes que permiten operar miles de computadoras en un solo lugar, a un
costo muy reducido. A la computación de estos centros de datos se le llama computación en la nube
o cloud computing.
Sin embargo, a pesar de las mejoras en eficiencia que aporta el cloud computing, la demanda por
esta tecnología no hubiera explotado si al mismo tiempo no se hubiera producido un crecimiento
muy fuerte de la demanda de poder de cómputo a nivel global. Esa demanda provino inicialmente
por el crecimiento exponencial que se observa a partir de mediados de los años 90 de Internet y
continúa actualmente debido a las necesidades de análisis de la información recabada en Internet, lo
que se conoce como Big Data. Ambos fenómenos garantizan que, al menos por los próximos diez a
veinte años, la demanda de poder de cómputo seguirá creciendo de forma explosiva y por tanto irán
impulsando más la industria de la computación en la nube (Aalbers, 2013).
Cloud Computing es un nuevo modelo de prestación de servicios; no una nueva tecnología per se.
Este nuevo modelo está claramente orientado a la escalabilidad, es decir, poder atender una demanda
muy fuerte en la prestación de un servicio, pero de manera muy directa, casi inmediata en el tiempo,
con un impacto en la gestión y en el coste que es casi plano.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 7
Esta orientación a la escalabilidad provocará que el usuario final perciba que todo funciona, todo va
rápido, todo es fácil y por lo tanto su experiencia es mucho más gratificante. A pesar de que no es
una nueva tecnología, es conveniente explicar los fundamentos tecnológicos que los proveedores de
Cloud están tomando comúnmente. Como principios tecnológicos es necesaria una fuerte capa de
virtualización de infraestructura (servidores, almacenamiento, comunicaciones, etc.).
Una capacidad muy avanzada en cuanto a aprovisionamiento de recursos IT, orquestación de esos
recursos y una orientación a servicios (SOA). Se podría decir que SOA es el alma de la computación
en la nube y nos permitirá dar esa escalabilidad, por ello se implementará también una elasticidad,
tanto en el modelo como en la infraestructura. Por último, es muy importante destacar la necesidad
de una estandarización de los servicios y la infraestructura: cuanto más estandarizada sea la
infraestructura, más sencilla será la escalabilidad y más difundido el uso.
La manera más común de desglosar la computación en la nube es mediante capas sobre las cuales
podrían desplegarse y construirse aplicaciones distribuidas. Estas capas son, principalmente:
infraestructura, plataforma y software, con una gran capa de virtualización y protocolos de
comunicación.
Se puede describir como software que está desplegado en un servicio de hosting y puede ser accedido
globalmente a través de internet mediante navegador, móvil, tablet, etc., y donde todos los aspectos
que no sean la propia interacción con la aplicación son transparentes al usuario. En el modelo SaaS,
los usuarios alquilan el software, pagando por el servicio en cuotas de suscripción cada cierto periodo
de tiempo (Arévalo Navarro, 2011). Ejemplos de estos servicios son Doodle o Google Docs.
Este modelo propone un entorno software en el cual un desarrollador puede crear y personalizar
soluciones dentro de un contexto de herramientas de desarrollo que la plataforma proporciona.
La plataforma puede estar basada en un lenguaje específico, varios o frameworks de desarrollo. Se
encuentran por ejemplo Microsoft Azure o Google Apps Engine.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 8
4.3. Infraestructura como servicio (IaaS):
5. Computación cuántica
La computación cuántica, también llamada QC por sus siglas en inglés: Quantum Computing, se
fundamenta en el uso de los principios cuánticos para la computación de información de forma
distinta a la que se computa actualmente con compuertas lógicas.
Prácticamente hablando, muchos problemas de las ciencias exactas y naturales son imposibles de
resolver en computadoras tradicionales; no porque sean esencialmente irresolubles, sino por los
recursos srequeridos para resolverlos. La promesa espectacular de las computadoras cuánticas
consiste en el desarrollo de un conjunto de nuevos algoritmos que vuelven realizables problemas
que requieren recursos exorbitantes para su resolución en computadoras tradicionales. Hoy día se
conocen dos clases de algoritmos cuánticos que cumplen esta promesa.
La primera está basada en la transformada de Fourier cuántica de Shor, y abarca notables algoritmos
para factorizar y para hallar logaritmos discretos que son exponencialmente más rápidos que los
mejores conocidos para computadoras tradicionales.
La segunda clase está basada en el algoritmo de búsqueda cuántica de Grover. Estos proveen una
aceleración notable de orden cuadrático sobre los mejores algoritmos tradicionales. Este último
método posee una importancia particular por el amplio empleo de métodos de búsqueda en una
amplia gama de problemas.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 9
El problema del logaritmo discreto permite quebrar cripto-sistemas vinculados a grupos
multiplicativos algebraicos como el de curvas elípticas y campos de Galois. A su vez, el algoritmo de
búsqueda cuántica permite resolver problemas estadísticos en vastas bases de datos y quebrar cripto-
sistemas simétricos por exploración exhaustiva del espacio de claves. El paralelismo cuántico es uno
de los atributos fundamentales de los algoritmos cuánticos y el principal responsable de su enorme
potencial de cómputo comparado con su contraparte clásica. Heurísticamente y a riesgo de sobre-
simplificar, el paralelismo cuántico permite a las computadoras cuánticas evaluar una función f(x) para
múltiples valores de x en forma simultánea (Hecht, 2005).
La creación de dispositivos computacionales cuánticos representa un gran desafío para los científicos e
ingenieros del tercer milenio. Lo que cabe preguntarse es si seremos capaces de afrontar ese desafío, si
es una realidad posible o una fantasía y de ser posible cómo llevarlo a cabo. Todas estas preguntas son
importantes y merecen su consideración. Sin embargo, la incógnita fundamental es si existe alguna clase
de principio que nos prohíba efectuar el procesamiento cuántico de la información. Hay dos posibles
interferencias que se nos presentan espontáneamente: que el ruido genere una barrera infranqueable o que
la mecánica cuántica demuestre ser incorrecta.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 10
Referencias
Aalbers, H. (2013). Una introducción a Cloud Computing. Mexico.
Patterson, D. A. & Hennessy, J.L. (1998) Computer Organization & Design.2nd ed. Morgan
Kaufmann Publishers: San Francisco.
Beraldi, R. (n.d.) Introduction to PaaS and IaaS Cloud Computing. Recuperado de http://www.dis.
uniroma1.it/~beraldi/MACC_16/slides/10.pdf Agosto de 2017.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 11
INFORMACIÓN TÉCNICA
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO 12