Está en la página 1de 12

Unidad 4

1 //Escenario
Escenario28
Lectura fundamental
Fundamental

Etapas de un plan de comunicación


estratégica y otras arquitecturas
Tendencias

Contenido

1 Introducción a las nuevas tendencias en la arquitectura del computador

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

El concepto RISC se originó en los programas de investigación de procesadores de las universidades


de Stanford y Berkeley, alrededor de 1980. El único ejemplo de arquitectura RISC fue el de
Berkeley, RISC I y II, y Stanford, MIPS (Microprocessor without Interlocking Pipeline Stages). El primer
procesador ARM fue desarrollado entre 1983 y 1985, por Acorn Computers Limited of Cambridge,
Inglaterra. Las posteriores arquitecturas RISC tuvieron diferencias significativas con este primer
diseño.

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 GRANCOLOMBIANO 2
2.1. Características originales.
Las características originales de ARM que aún se mantienen son:

• Arquitectura de carga y almacenamiento (load-store). Las instrucciones que acceden a


memoria están separadas de las instrucciones que procesan los datos, ya que en este último caso
los datos que se operan en la ALU, necesariamente están en registros.

• Instrucciones de longitud fija de 32 o 64 bits. Campos de instrucciones uniforme y de longitud


fija, para simplificar la decodificación de las instrucciones.

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

En general, el término “arquitectura de 3 direcciones” se refiere a un conjunto de instrucciones


donde los dos operandos fuente y el destino, se pueden identificar independientemente uno del otro,
pero frecuentemente solo dentro de un restringido conjunto de valores posibles.

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”).

POLITÉCNICO GRANCOLOMBIANO 3
2.2. Nuevas características. Posteriormente, se definieron las siguientes
características para ARM:

• Todas las instrucciones se ejecutan en un ciclo de reloj

• Modos de direccionamiento simples: El procesamiento de datos solo opera con contenidos de


registros, no directamente en memoria.

• 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”.

• Modos de direccionamiento con incremento y decremento automático de punteros, para


optimizar los lazos de los programas.

• Carga y almacenamiento de múltiples instrucciones, para maximizar el rendimiento de los datos.

• Ejecución condicional de todas las instrucciones, para maximizar el rendimiento de la ejecución

• Conjunto de instrucciones ortogonal, regular o simétrico: No hay restricciones en los


registros usados en las instrucciones, son todos registros de propósito general, con muy pocas
excepciones (por ejemplo, el contador de programa, PC).

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

POLITÉCNICO GRANCOLOMBIANO 4
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.

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.

Si bien, en principio, el núcleo de un sistema de procesamiento digital puede ser un microcontrolador


o procesador de propósito general, en sistemas en los que la carga computacional es extremadamente
intensa, la solución óptima pasa a escoger un DSP. En la actualidad, los cuatro grandes fabricantes de
DSP son Texas Instruments, con la serie TMS320; Motorola, con las series DSP56000, DSP56100,
DSP56300, DSP56600 y DSP96000; Lucent Technologies (anteriormente AT&T), con las series
DSP1600 y DSP3200; y Analog Devices, con las series ADSP2100 y ADSP21000.

3.1. Arquitecturas de altas prestaciones:

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.

POLITÉCNICO GRANCOLOMBIANO 5
El número de instrucciones por ciclo aumenta y también lo hace el número de interdependencias
entre instrucciones a comprobar para determinar qué instrucciones pueden ejecutarse de forma
simultánea. La lógica compleja requerida para la correcta planificación de instrucciones ocupa
una gran parte del silicio del procesador y empieza a no tener sentido dedicar una gran parte de los
recursos del procesador a la planificación de instrucciones.

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

El tamaño de la instrucción depende de dos factores: el número de unidades de ejecución disponibles


y la longitud de código requerida para cada una de ellas. Una consecuencia de ello es que los buses
internos de datos y de instrucciones son de mayor tamaño.

POLITÉCNICO GRANCOLOMBIANO 6
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.

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

POLITÉCNICO GRANCOLOMBIANO 7
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.

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.

4.1. Software como servicio (SaaS):

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.

POLITÉCNICO GRANCOLOMBIANO 8
4.2. Plataforma como servicio (PaaS):

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.

4.3. Infraestructura como servicio (IaaS):

Podría definirse como un modelo de servicios de computación “sin límites de escalabilidad” de


nuestros despliegues. Solo pagaríamos por lo que usamos y solo cuando lo necesitemos. Se
encuentran disponibles, por ejemplo, Amazon Web Services o Rackspace hosting.

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 GRANCOLOMBIANO 9
El campo de aplicación de la Transformada de Fourier cuántica es invalorable desde el punto de vista
teórico como también económico. El problema del logaritmo discreto junto con el problema de
determinación del orden de un grupo multiplicativo como el que se presenta en el exponenciación
modular. Ambas técnicas permiten resolver el importante problema de la factorización, base
de muchos cripto-sistemas de clave pública como el algoritmo RSA (Rivest-Shamir-Adleman)
fundamento de la seguridad en el protocolo SSL de redes TCP/IP (Internet), las redes privadas
virtuales (VPN), la firma digital, los certificados digitales del e-commerce y muchos otros campos de
enorme interés concreto en el campo de la seguridad informática.

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

¿Cuán poderosas son las computadoras cuánticas?


¿Qué es lo que les brinda su potencia?
Nadie conoce aún la respuesta a esas preguntas, a pesar de las sospechas alimentadas por ejemplos como
el de la factorización, que les presentan como computadoras más potentes que las clásicas. Aún es posible
que las computadoras cuánticas no sean más poderosas que las clásicas en el sentido de que cualquier
problema que puede ser eficientemente resuelto por una computadora cuántica también lo sea a través de
computadoras clásicas.

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 GRANCOLOMBIANO 10
Referencias
Aalbers, H. (2013). Una introducción a Cloud Computing. Mexico.

Arévalo Navarro, J. M. (2011). Cloud Computing: fundamentos, diseño y arquitectura aplicados a un


caso de estudio. Madrid.

Canel, S. M. (19 de Noviembre de 2007). TD II - Microcontroladores ARM de 32 bits. Ciudad


Autonoma de Buenos Aires, Buenos Aires, Argentina.

Hecht, J. P. (2005). Fundamento de computación cuántica. Ciudad Autonoma de Buenos Aires.

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.

Salazar, J. (2000). Procesadores Digitales de Señal (DSP). Arquitecturas y criterios de selección.


Mundo electrónico, 46-57.

POLITÉCNICO GRANCOLOMBIANO 11
INFORMACIÓN TÉCNICA

Módulo: Arquitectura del Computador


Unidad 4: Computación Paralela
Escenario 8: Tendencias y otras arquitecturas

Autor: Laura Juliana Cortés Rico

Asesor Pedagógico: Edwin Alcides Mojica Quintero


Diseñador Gráfico: Carlos Montoya
Asistente: Ginna Quiroga

Este material pertenece al Politécnico Grancolombiano. Por


ende, es de uso exclusivo de las Instituciones adscritas a la Red
Ilumno. Prohibida su reproducción total o parcial.

POLITÉCNICO GRANCOLOMBIANO 12

También podría gustarte