martes, 27 de septiembre de 2016

ARQUITECURA RISC


RISC es el acrónimo de Reduced Instruction Set Computer lo que en castellano viene a ser conjunto reducido de instrucciones de computadora. Se entiende por procesador RISC aquel que tiene un conjunto de instrucciones con unas características determinadas.
Una instrucción no es más que una indicación de lo que debe de hacer el micro con los datos. Gracias a las instrucciones se crean los programas. Existen muchos tipos entre ellas aunque destacan las aritméticas, las lógicas y las de control de flujo.
El término "reducido" puede llevar a engaño cuando nos referimos a RISC. No se trata de que sean pocas instrucciones, ya que ningún procesador actual tiene pocas, si no de que estas sean sencillas. Se acepta que un procesador sea RISC cuando la misma instrucción que carga datos de memoria no realiza operaciones sobre ellos. Es necesario esperar a que otra realice el tratamiento de esos datos.
Las instrucciones por tanto son más sencillas de implementar en la propia CPU, ocupan menos espacio los bloques lógicos que las tienen que traducir haciendo que el sistema pueda tener frecuencias de funcionamiento mayores.
Gracias a esto la unidad de control, que es la encargada de gestionar que los bloques funcionales como la unidad aritmética lógica o la de punto flotante realicen su función, puede ser más sencilla que con otras arquitecturas. Esto permite obtener más espacio dentro del propio chip para otros elementos. Se suelen añadir así una mayor cantidad de registros que permiten tener más datos de forma interna en la CPU lo cual lleva a trabajar en ciertas ocasiones de forma más eficiente.

CARACTERÍSTICAS
En pocas palabras esto significa que para cualquier nivel de desempeño dado, un chip RISC típicamente tendrá menos transistores dedicados a la lógica principal. Esto permite a los diseñadores una flexibilidad considerable; así pueden, por ejemplo:

ü  Incrementar el tamaño del conjunto de registros.
ü  Mayor velocidad en la ejecución de instrucciones.
ü  Implementar medidas para aumentar el paralelismo interno.
ü  Añadir cachés enormes.
ü  Añadir otras funcionalidades, como E/S y relojes para minicontroladores.
ü  Construir los chips en líneas de producción antiguas que de otra manera no serían utilizables.
ü  No ampliar las funcionalidades, y por lo tanto ofrecer el chip para aplicaciones de bajo consumo de energía o de tamaño limitado.
Las características que generalmente son encontradas en los diseños RISC son:

Codificación uniforme de instrucciones (ejemplo: el código de operación se encuentra siempre en la misma posición en cada instrucción, la cual es siempre una palabra), lo que permite una decodificación más rápida.
Un conjunto de registros homogéneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y así simplificar el diseño del compilador (aunque existen muchas formas de separar los ficheros de registro de entero y coma flotante).
Modos de direccionamiento simple con modos más complejos reemplazados por secuencias de instrucciones aritméticas simples.
Los tipos de datos soportados en el hardware (por ejemplo, algunas máquinas CISC tiene instrucciones para tratar con tipos byte, cadena) no se encuentran en una máquina RISC.
Los diseños RISC también prefieren utilizar como característica un modelo de memoria Harvard, donde los conjuntos de instrucciones y los conjuntos de datos están conceptualmente separados; esto significa que el modificar las direcciones donde el código se encuentra pudiera no tener efecto alguno en las instrucciones ejecutadas por el procesador (porque la CPU tiene separada la instrucción y el caché de datos, al menos mientras una instrucción especial de sincronización es utilizada). Por otra parte, esto permite que ambos cachés sean accedidos separadamente, lo que puede en algunas ocasiones mejorar el rendimiento.

Muchos de esos diseños RISC anteriores también compartían una característica no muy amable, el slot de salto retardado (Delay Slot). Un slot de salto retardado es un espacio de instrucción siguiendo inmediatamente un salto. La instrucción en este espacio es ejecutada independientemente de si el salto se produce o no (en otras palabra el salto es retardado). Esta instrucción mantiene la ALU de la CPU ocupada por el tiempo extra normalmente necesario para ejecutar una brecha. Para utilizarlo, recae en el compilador la responsabilidad de reordenar las instrucciones de manera que el código sea coherente para ejecutar con esta característica. En nuestros días el slot de salto retardado se considera un desafortunado efecto colateral de la estrategia particular por implementar algunos diseños RISC. Es por esto que los diseños modernos de RISC, tales como ARM, PowerPC, y versiones más recientes de SPARC y de MIPS, generalmente eliminan esta característica.

PRINCIPIOS
Los procesadores RISC sólo usan instrucciones sencillas que se puedan ejecutar rápidamente. Por este motivo suelen ser arquitecturas basadas en registros de propósito general que operan siempre sobre operandos que se encuentran almacenados en el procesador, cerca de la unidad de ejcución.
De esta forma, el comando MULT podría ser dividido en tres comandos por separado: LOAD, que mueve datos del banco de memoria a un registro; PROD, que halla el producto de dos operandos situados en los registros; y STORE, que mueve datos de un registro al banco de memoria.
Para realizar la serie de pasos descritos en la filosofía CISC, un programador debería codificar la instrucción en 4 líneas de código ensamblador:
LOAD A, (2:3)
LOAD B, (5:2)
PROD A, B
STORE (2:3), A
El tiempo de diseño de estos productos se reduce sensiblemente, lo que disminuye su costo final, y por tanto, se incrementan sus expectativas, al poder llegar al mercado en un tiempo más adecuado, y con menos posibilidades de errores, son más eficaces, de menores dimensiones y más bajo consumo, las estaciones de trabajo RISC multiprocesadoras de mayor éxito, se basan en diferentes versiones de la tecnología SPARCsuperSPARC e HyperSPARC.

MULTIPROCESO-MEMORIA CACHE
La industria informática, ha tenido siempre un objetivo primordial, repetido a lo largo de toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios): la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes cantidades de recursos, hasta alcanzar los límites físicos del silicio.

Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy evidente que parezca, y dados los límites físicos de los semiconductores, las prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible construir sistemas, que aún teniendo procesadores más "lentos" que otros, ofrezcan unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que como su denominación indica, incorporan varios procesadores para llevar a cabo las mismas funciones.

No es un concepto nuevo, ya que los "minicomputadores" construidos por compañías como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como alternativas económicas a otros productos de otras compañías. Sin embargo, aquellos sistemas aún duplicaban recursos caros del sistema, como memoria y dispositivos de entrada/salida, y por tanto, confinaban a los sistemas multiprocesador al mundo de los sistemas de alto nivel.

Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte multiprocesador es una solución integrada y fácilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a través de hardware VLSI, los complejos problemas de compartición de recursos (memoria compartida) de aquellas primeras máquinas.

Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten extensiones multiproceso (Match, SCO, Solaris, System V, etc.), que proporcionan paralelismo "en bruto" (asignando múltiples tareas a múltiples procesadores) a nivel del sistema operativo.

Las aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan significativamente las prestaciones globales del sistema; esto es lo que se denomina multi-enhebrado (multithreading), que implica dividir una sola aplicación entre varios procesadores. Sin embargo, los desarrolladores de software y programadores de aplicaciones sólo han comenzado a explorar las vastas posibilidades de incremento de prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo.

El multiproceso no es algo difícil de entender: más procesadores significa mas potencia computacional. Un conjunto de tareas puede ser completado más rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra historia es la práctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. Es necesario conocer ampliamente como están interconectados dichos procesadores, y la forma en que el código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al máximo sus prestaciones.

Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organización del código de las propias aplicaciones, así como los lenguajes de programación.

Es difícil dar una definición exacta de un sistema multiprocesador, aunque podemos establecer una clasificación de los sistemas de procesadores en:

            SISD o secuencia única de instrucciones y datos (Single Instruction, Single Data): una sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso típico de los ordenadores personales).
            SIMD o secuencia única de instrucciones y múltiple de datos (Single Instruction, Multiple Data): una sola secuencia de instrucciones opera, simultáneamente, sobre múltiples secuencias de datos (array processors).
            MISD o múltiples secuencias de instrucciones y única de datos (Multiple Instruction, Single Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre una sola secuencia de datos (sin implementaciones útiles actualmente).
            MIMD o múltiples secuencias de instrucciones y datos (Multiple Instruction, Multiple Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples secuencias de datos.
Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD. Ello implica que son máquinas con múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea o porción de la misma.

El sistema en que la memoria está conectada a los nodos de proceso establece el primer nivel de distinción entre diferentes sistemas multiprocesador:

Multiprocesadores de memoria distribuida (distributed-memory multiprocessors), también denominados multiprocesadores vagamente acoplados (loosely coupled multiprocessors). Se caracterizan porque cada procesador sólo puede acceder a su propia memoria. Se requiere la comunicación entre los nodos de proceso para coordinar las operaciones y mover los datos. Los datos pueden ser intercambiados, pero no compartidos. Dado que los procesadores no comparten un espacio de direcciones común, no hay problemas asociados con tener múltiples copias de los datos, y por tanto los procesadores no tienen que competir entre ellos para obtener sus datos. Ya que cada nodo es un sistema completo, por si mismo (incluso sus propios dispositivos de entrada/salida si son necesarios), el único límite práctico para incrementar las prestaciones añadiendo nuevos nodos, esta dictado por la topología empleado para su interconexión. De hecho, el esquema de interconexión (anillos, matrices, cubos, ...), tiene un fuerte impacto en las prestaciones de estos sistemas. Además de la complejidad de las interconexiones, una de las principales desventajas de estos sistemas, como es evidente, es la duplicación de recursos caros como memoria, dispositivos de entrada/salida, que además están desocupados en gran parte del tiempo.
Multiprocesadores de memoria compartida (shared-memory multiprocessors), también llamados multiprocesadores estrechamente acoplados (tightly coupled multiprocessors). Son sistemas con múltiples procesadores que comparten un único espacio de direcciones de memoria. Cualquier procesador puede acceder a los mismos datos, al igual que puede acceder a ellos cualquier dispositivo de entrada/salida. El sistema de interconexión más empleado para estos casos, es el de bus compartido (shared-bus). Tener muchos procesadores en un único bus tiene el inconveniente de limitar las prestaciones del sistema a medida que se añaden nuevos procesadores. La razón es la saturación del bus, es decir, su sobre utilización; en un sistema de bus compartido, se deriva por la contienda entre los diferentes dispositivos y procesadores para obtener el control del bus, para obtener su utilización.
Arquitecturas de Multiproceso

Es evidente, que los sistemas actuales tienden al uso de arquitecturas de memoria compartida, fundamentalmente por razones de costes, a pesar del problema de la contienda por el bus. Los tres fuentes fundamentalmente responsables de dicha disputa son la memoria (cada CPU debe usar el bus para acceder a la memoria principal), la comunicación (el bus es usado por los "bus masters" para la comunicación y coordinación), y la latencia de la memoria (el subsistema de memoria mantiene al bus durante las transferencias de datos, y en función de la velocidad a la que la memoria puede responder a las peticiones, puede llegar a ser un factor muy significativo).

VENTAJAS
ü  La estrategia RISC también tiene grandes ventajas. Debido a que cada instrucción realiza una operación muy simple, el código se ejecutará en aproximadamente el mismo tiempo que el comando MULT de la arquitectura CISC. Estas instrucciones reducidas RISC requieren menos hardware y es más sencillo que las instrucciones complejas, dejando más espacio para registros de propósito general. Además, las optimizaciones sobre un hardware más sencillo son mucho más fáciles de realizar.
ü  RISC ha alcanzado a todos los fabricantes de semiconductores:AMD, Intel, MIPS, Motorota, ROSS, y todos ellos son productos usados por fabricantes de ordenadores y estaciones de trabajo: Apple, DEC, HP, IBM, SUN, entre otros y sus correspondientes clónicos.
ü  La CPU trabaja más rápido al utilizar menos ciclos de reloj para ejecutar instrucciones.
ü  Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que, a diferencia de CISC, RISC conserva después de realizar sus operaciones en memoria los dos operandos y su resultado, reduciendo la ejecución de nuevas operaciones. Cada instrucción puede ser ejecutada en un solo ciclo del CPU.
La definición de RISC es el futuro de la computación. Dentro de los próximos cinco años, surgirá un Standard de computación completamente nuevo basado en las arquitecturas RISC. Los computadores RISC redefinirán completamente la curva de precio - rendimiento que actualmente existe en la industria de la computación basada en computadores CISC, y se volverá el Standard de la industria de la computación que nos llevará al siglo XIX.

RESUMEN
RISC es el acrónimo de Reduced Instruction Set Computer lo que en castellano viene a ser conjunto reducido de instrucciones de computadora. Se entiende por procesador RISC aquel que tiene un conjunto de instrucciones con unas características determinadas.
Una instrucción no es más que una indicación de lo que debe de hacer el micro con los datos. Gracias a las instrucciones se crean los programas. Existen muchos tipos entre ellas aunque destacan las aritméticas, las lógicas y las de control de flujo.
El término "reducido" puede llevar a engaño cuando nos referimos a RISC. No se trata de que sean pocas instrucciones, ya que ningún procesador actual tiene pocas, si no de que estas sean sencillas. Se acepta que un procesador sea RISC cuando la misma instrucción que carga datos de memoria no realiza operaciones sobre ellos. Es necesario esperar a que otra realice el tratamiento de esos datos.
Las instrucciones por tanto son más sencillas de implementar en la propia CPU, ocupan menos espacio los bloques lógicos que las tienen que traducir haciendo que el sistema pueda tener frecuencias de funcionamiento mayores.

SUMMARY
RISC stands for Reduced Instruction Set Computer which in Castilian becomes reduced instruction set computer. by that processor having a RISC instruction set with specific characteristics it is understood.
An instruction is no more than an indication of what to do with the micro data. Thanks to the program instructions are created. There are many types including even include arithmetic, logic and flow control.
The term "reduced" can be misleading when referring to RISC. It is not that they are few instructions, since no current processor has few, if not that these are simple. It is accepted that a processor RISC when the same instruction that loads data memory does not perform operations on them. It is necessary to wait for another perform the processing of such data.
The instructions are therefore easier to implement in the CPU itself, occupying the logic blocks that have to translate causing the system may have higher operating frequencies less space.

RECOMENDACIONES
El término "reducido" puede llevar a engaño cuando nos referimos a RISC. No se trata de que sean pocas instrucciones, ya que ningún procesador actual tiene pocas, y gracias a la tecnología de procesadores RISC, las instrucciones son más sencillas.
CONCLUSIONES

los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento de información, lo que implica la búsqueda de microprocesadores más rápidos y eficientes.

BIBLIOGRAFÍA
http://www.consulintel.es/html/Tutoriales/Articulos/risc.html
https://www.ecured.cu/RISC

https://es.wikipedia.org/wiki/Reduced_instruction_set_computing





lunes, 19 de septiembre de 2016

ARQUITECTURA CISC

                              

Complex Instruction Set Computer - Computadora con Conjunto de Instrucciones Complejas).
CISC es un tipo de arquitectura de computadoras que promueve el uso de gran número de instrucciones, permitiendo operaciones complejas entre operandos situados en memoria o en registros internos. Es contrapuesta a la arquitectura RISC.
La arquitectura CISC dificulta el paralelismo, para subsanar este inconveniente actualmente los microprocesadores implementan un sistema para convertir instrucciones complejas en varias instrucciones simples (del tipo RISC).
La familia Intel x86 (los microprocesadores más usados en PC) utilizan arquitectura CISC como así también el Motorola 68000, Zilog Z80, etc.
Arquitectura de microprocesador caracterizada por ejecutar un conjunto de instrucciones complejas, estas instrucciones pueden realizar funciones muy específicas, en contraposición a la arquitectura RISC.

Arquitecturas CISC :

ü  Computador con repertorio de instrucciones complejo.
ü  Gran número de instrucciones complejas.
ü  Gran variedad de tipos de datos y de modos de direccionamiento.
ü  Permite implementar instrucciones de alto nivel directamente o con un número pequeño de instrucciones ensamblador.
ü  Además se pueden añadir nuevas instrucciones al repertorio manteniendo las antiguas.
PROCESOS DE INSTRUCCIONES
La idea fue inspirada por el hecho de que muchas de las características que eran incluidas en los diseños tradicionales de CPU para aumentar la velocidad estaban siendo ignoradas por los programas que eran ejecutados en ellas. Además, la velocidad del procesador en relación con la memoria de la computadora que accedía era cada vez más alta. Esto conllevó la aparición de numerosas técnicas para reducir el procesamiento dentro del CPU, así como de reducir el número total de accesos a memoria.

Una computadora ejecuta una instrucción en cinco pasos.

1.- La unidad de control recupera la instrucción desde la memoria; por ejemplo, la instrucción de sumar dos números.

2.- La unidad de control descodifica la instrucción y la convierte en señales electrónicas que controlan la computadora.

3.- La unidad de control recupera los datos necesarios para ejecutar la instrucción (en este caso, los dos números).

4.- La unidad aritmético-lógica ejecuta la operación (la adición de ambos números).

5.- La unidad de control almacena el resultado (en este caso, el número resultante de la suma).

Las primeras computadoras sólo empleaban instrucciones sencillas, porque el coste de los dispositivos electrónicos capaces de ejecutar instrucciones complejas era muy elevado. A medida que este coste fue disminuyendo, a lo largo de la década de 1960, fueron posibles instrucciones más complicadas. Las instrucciones complejas (instrucciones únicas que especifican operaciones múltiples) pueden ahorrar tiempo al evitar que la computadora tenga que recuperar instrucciones adicionales. Por ejemplo, si se combinan siete operaciones en una instrucción, se eliminan seis de los pasos de recuperación de instrucciones, y la computadora tarda menos tiempo en procesar la operación correspondiente.

Las computadoras que combinan varias operaciones en una sola instrucción se denominan CISC.

Sin embargo, la mayoría de los programas no utilizan instrucciones complejas, sino que constan esencialmente de instrucciones simples. Cuando estas instrucciones simples se ejecutan en una arquitectura CISC, el proceso es más lento, porque en un diseño CISC todas las instrucciones, simples o complejas, tardan más en ser descodificadas. Una estrategia alternativa es volver a diseños que utilizan sólo juegos de instrucciones sencillas y hacer que las operaciones más usadas se ejecuten más rápidamente para aumentar el rendimiento global. Las computadoras que emplean este diseño se llaman RISC.

Los diseños RISC son especialmente rápidos para realizar los cómputos numéricos necesarios en aplicaciones científicas, de gráficos y de ingeniería. Los llamados procesadores de señales digitales son arquitecturas CISC especializadas para acelerar el procesado de señales digitalizadas de audio y vídeo.

CARÁCTERISTICAS
La microprogramación es una característica importante y esencial de casi todas las arquítecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, 80386, 80486, Motorola 68000, 68010, 620, 8030, 684.

La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. En la década de los sesentas la micropramación, por sus características, era la técnica más apropiada para las tecnologías de memorias existentes en esa época y permitía desarrollar también procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones.

Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstrucción). La meta fundamental de la arquitectura de CISC es terminar una tarea adentro como pocas líneas de la asamblea como sea posible. Esto es alcanzado construyendo el hardware del procesador que es capaz de entender y de ejecutar una serie de operaciones.

Para esta tarea particular, un procesador de CISC vendría preparado con una instrucción específica a la que se le nombrara MULT. Cuando está instrucción esta ejecutada, carga los dos valores en los registros separados, multiplica los operandos en la unidad de la ejecución, y después almacena el producto en el registro apropiado. Así, la tarea entera de multiplicar dos números se puede terminar con una instrucción.

MULT 2:3, 5:2
MULT es la qué se conoce como “instrucción compleja.



VENTAJAS Y DESVENTAJAS
Las ventajas son varias:
Programas más pequeños. Los programas al almacenarse en el disco duro contienen todas sus instrucciones. Si una de estas es capaz de hacer el trabajo de tres en un entorno RISC los archivos tendrán menos instrucciones y por lo tanto pesarán menos. Esto que parece en la actualidad una tontería debido al tamaño de los discos en los comienzos de la informática era vital. No se podía desperdiciar ni un solo byte.
Aceleración de ciertas utilidades. Existen muchos algoritmos que por su naturaleza funcionan mejor con operaciones más complejas. En algunos casos los micros incorporan bloques funcionales completos para acelerar con solo unas cuantas instrucciones operaciones que antes necesitaban de cientos. Quicksync y su capacidad para codificar o decodificar videos es un gran ejemplo de esto.
¿Qué desventajas tenemos?
Las desventajas superan a las ventajas:
Unidad de control más compleja. Este tipo de instrucciones hace que la unidad de control tenga que tener más lógica lo cual lleva a un mayor tamaño y menos espacio para otros componentes.

Más bloqueos. En caso de que ejecutes las instrucciones una tras otra, lo cual no se hace en casi ningún procesador moderno que intenta hacerlo en el orden más adecuado, te puede ocurrir que la instrucción se quede esperando a que ciertos datos estén disponibles o a cualquier otro tipo de señal.

Todo esto se diluye en los micros modernos capaces de realizar varias operaciones al mismo tiempo. Lo que se hace, en estos, es dividir las instrucciones CISC en pequeñas RISC que el programador no ve, consiguiendo las ventajas de poder realizar varias al mismo tiempo.

Dentro de un procesador existen diferentes bloques los cuales necesitan ser alimentados con datos e instrucciones para funcionar. Estos bloques pueden funcionar todos al mismo tiempo por eso es tan importante que las instrucciones sean sencillas y se puedan procesar a la vez.

Su mayor inconveniente es su eficiencia energética ya que necesitan más potencia, mas Watios en definitiva, para conseguir el mismo rendimiento que los RISC.


RESUMEN
Complex Instruction Set Computer - Computadora con Conjunto de Instrucciones Complejas).
CISC es un tipo dearquitectura decomputadoras que promueve el uso de gran número de instrucciones, permitiendo operaciones complejas entre operandos situados en memoria o en registros internos. Es contrapuesta a la arquitectura RISC.
La arquitectura CISC dificulta el paralelismo, para subsanar este inconveniente actualmente los microprocesadores implementan un sistema para convertir instrucciones complejas en varias instrucciones simples (del tipo RISC).
La familia Intel x86 (los microprocesadores más usados en PC) utilizan arquitectura CISC como así también el Motorola 68000, Zilog Z80, etc.
Arquitectura de microprocesador caracterizada por ejecutar un conjunto de instrucciones complejas, estas instrucciones pueden realizar funciones muy específicas, en contraposición a la arquitectura RISC.

SUMMARY
Complex Instruction Set Computer - Computer with Complex Instruction Set).
CISC is a type dearquitectura decomputadoras that promotes the use of a large number of instructions, allowing complex operations between operand located in memory or internal registers. It is opposed to the RISC architecture.
CISC architecture parallelism difficult to overcome this disadvantage currently microprocessors implement a system to convert complex instructions into several simple instructions (RISC type).
The Intel x86 family (more microprocessors used in PCs) use CISC architecture as well as the Motorola 68000, Zilog Z80, etc.
Microprocessor architecture characterized by executing a complex instruction set, these instructions can perform very specific functions, as opposed to RISC architecture.
RECOMENDACIONES
·         Se debe tener en cuenta que cuando se ejecuta instrucciones simples en una arquitectura CISC, el proceso es más lento, porque en un diseño CISC todas las instrucciones, simples o complejas, tardan más en ser descodificadas.

·          Las computadoras que combinan varias operaciones en una sola instrucción se denominan CISC.


CONCLUSIONES
·         Los microprocesadores CISC tienen un mercado de software muy difundido.
·         En la década de los sesentas, la microprogramación era la técnica más apropiada para la tecnología de memorias existentes. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones, dando surgimiento a la arquitectura CISC.
·         Cada usuario debe decidirse a favor o en contra de determinada arquitectura de procesador en función de la aplicación concreta que quiera realizar.

GLOSARIO
Instrucciones: Acción elemental que se da a una computadora a fin de que efectúe una determinada operación.
Microprograma: Un microcódigo o microprograma es el nombre de una serie de instrucciones o estructuras de datos implicados en la implementación de lenguaje máquina de nivel más alto en muchos procesadores , especialmente los microprogramados . El Microcódigo está almacenado en una memoria que es de acceso muy rápido.
Instrucciones compuestas:  Una instrucción compuesta consta de cero o más instrucciones entre llaves ({ }).Una instrucción compuesta se puede utilizar en cualquier lugar donde se espere una instrucción.Las instrucciones compuestas normalmente se denominan "bloques".

BLIBLIOGRFÍA O LINKOGRAFÍA



jueves, 8 de septiembre de 2016

ARQUITECTURA DE UN MICROPROCESADOR

Un microprocesador está compuesto por varios bloques interconectados entre sí pero cada uno de ellos tiene una función específica que cumplir, al diseño e interconexión de estos bloques se le denomina Arquitectura.

La velocidad a la que una computadora pueda leer instrucciones y realizar los cálculos pertinentes es determinada por la frecuencia de funcionamiento del microprocesador, sin embargo, los fabricantes de microprocesadores han tenido grandes avances en el diseño de la arquitectura de sus micros y esto ha permitido que las computadoras dependan cada vez menos de la frecuencia de funcionamiento, es decir que con estos avances se puede dar el caso que un micro con menor frecuencia o velocidad pueda efectuar mayor cantidad de cálculos y tareas.
El microprocesador tiene una arquitectura parecida a la computadora digital. En otras palabras, el microprocesador es como la computadora digital porque ambos realizan cálculos bajo un programa de control. Consiguientemente, la historia de la computadora digital ayuda a entender el microprocesador. Hizo posible la fabricación de potentes calculadoras y de muchos otros productos. El microprocesador utiliza el mismo tipo de lógica que es usado en la unidad procesadora central (CPU) de una computadora digital. El microprocesador es algunas veces llamado unidad microprocesadora (MPU). En otras palabras, el microprocesador es una unidad procesadora de datos.
Una de las primeras decisiones a la hora de diseñar un microprocesador es decidir cuál será su juego de instrucciones. La decisión es trascendente por dos razones; primero, el juego de instrucciones decide el diseño físico del conjunto; segundo, cualquier operación que deba ejecutarse en el microprocesador deberá poder ser descrita en términos de un lenguaje de estas instrucciones. Frente a esta cuestión caben dos filosofías de diseño; máquinas denominadas CISC y máquinas denominadas RISC.
Cuando hablamos de microprocesadores CISC, computadoras con un conjunto de instrucciones complejo, del inglés complex instruction set computer, y procesadores RISC, computadoras con un conjunto de instrucciones reducido, del inglés reduced instruction set computer, se piensa que los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores. Esto es cierto solo de forma superficial, pues se requiere de muchas otras características esenciales para definir los RISC y los CISC. Aún más, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categoría determinada.
Hasta hace solo algunos años, la división era tajante: RISC se utilizaba para entornos de red, mientras que CISC se aplicaba en ordenadores domésticos. Pero en la actualidad se alzan voces que afirman que CISC está agotando sus posibilidades, mientras otras defienden fervientemente que CISC ya ha alcanzado a RISC, adoptando algunas de sus principales características.

PARTES

 En un microprocesador se puede diferenciar diversas partes:
·         Encapsulado: es lo que rodea a la oblea de silicio en si, para darle consistencia, impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo de la placa base.
·         Memoria caché: es una memoria ultrarrápida que emplea el procesador para tener alcance directo a ciertos datos que «predeciblemente» serán utilizados en las siguientes operaciones, sin tener que acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos. Todos los micros compatibles con PC poseen la llamada caché interna de primer nivel o L1; es decir, la que está dentro del micro, encapsulada junto a él. Los micros más modernos (Core i3, Core i5 , core i7, etc) incluyen también en su interior otro nivel de caché, más grande, aunque algo menos rápida, es la caché de segundo nivel o L2 e incluso los hay con memoria caché de nivel 3, o L3.
·         Coprocesador matemático: unidad de coma flotante. Es la parte del micro especializada en esa clase de cálculos matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte está considerada como una parte «lógica» junto con los registros, la unidad de control, memoria y bus de datos.
·         Registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada procesador. Un grupo de registros está diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que la CPU los utiliza en algunas operaciones, en total son treinta y dos registros.
·         Memoria: es el lugar donde el procesador encuentra las instrucciones de los programas y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador las accede desde allí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de almacenamiento para el trabajo en curso.
·         Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es análogo a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un «número de puerto» que el procesador utiliza como si fuera un número de teléfono para llamar circuitos o a partes especiales.

FUNCIONAMIENTO

La historia de la computación ha experimentado distintos hitos. Aunque no percibamos su importancia, cada día tenemos que ver con los microprocesadores. Pero ¿qué son exactamente? ¿Cómo funciona un microprocesador?
La función de un microprocesador sería comparable al trabajo que hace el cerebro en el cuerpo humano. Básicamente realizan operaciones aritméticas elementales, −suma, resta multiplicación y división− que son cruciales para ejecutar cualquier acción en las computadoras modernas. El simple hecho de utilizar el buscador e ingresar a una página web, requiere la intervención directa de un microprocesador. Las múltiples funciones de los actuales computadores requieren cada vez mayor potencia en los microprocesadores.

Génesis del microprocesador



El primer microprocesador data del año 1971 y es conocido como Intel 4004. En principio este primitivo dispositivo realizaba tareas de aritmética elemental. Actualmente, con el desarrollo de la microtecnología, los microprocesadores han ido evolucionando hasta llegar a tener un desempeño bastante satisfactorio.
Los microprocesadores llevan a cabo distintas funciones, como ejecutar los programas, realizar operaciones matemáticas de gran complejidad a través de los conocidos procesadores flotantes, transferir datos entre los diferentes periféricos del computador, así como tomar decisiones acerca de la manera de ejecutar o no un proceso específico. El rendimiento de un microprocesador está directamente relacionado con su capacidad de memoria.

Su estructura interna


Dentro de la arquitectura del microprocesador se diferencian distintos componentes específicos como la memoria caché, encargada de procesar datos con un alto rango de predictibilidad, apoyándose en una memoria auxiliar; un bus de datos por donde se da el tránsito de la información que es capaz de enviar y recibir datos; y una línea de lectura y otra de escritura, que es la que le indica a la memoria las instrucciones necesarias para ubicar la dirección de los datos requeridos. De la misma manera todos los procesos realizados se escriben en la memoria para ser posteriormente usados de acuerdo a los registros de cada uno.

La arquitectura de Von Neumann

Otro factor fundamental en el funcionamiento de los microprocesadores, es lo que se conoce como arquitectura de Von Neumann. En la década de los cuarentas, el matemático John Von Neumann, durante el desarrollo de la antecesora de las computadoras modernas, la Eniac (una gigantesca y paquidérmica calculadora que requería el cambio y reconexión constante de cables), halló una solución consistente en almacenar las instrucciones necesarias para el proceso de la información por medio de tarjetas perforadas, lo que hizo que los procesos se simplificaran, siendo el antecedente directo del principio de funcionamiento de los microprocesadores actuales.

CONEXIÓN DEL PROCESADOR CON LA                       MAINBOARD


La placa base, también conocida como placa madre o placa principal (motherboard o mainboard en inglés), es una tarjeta de circuito impreso a la que se conectan los componentes que constituyen la computadora.
Es una parte fundamental para montar cualquier computadora personal de escritorio o portátil. Tiene instalados una serie de circuitos integrados, entre los que se encuentra el circuito integrado auxiliar (chipset), que sirve como centro de conexión entre el microprocesador (CPU), la memoria de acceso aleatorio (RAM), las ranuras de expansión y otros dispositivos.
Va instalada dentro de una carcasa o gabinete que por lo general está hecha de chapa y tiene un panel para conectar dispositivos externos y muchos conectores internos y zócalos para instalar componentes internos.
La placa madre, además incluye un firmware llamado BIOS, que le permite realizar las funcionalidades básicas, como pruebas de los dispositivos, vídeo y manejo del teclado, reconocimiento de dispositivos y carga del sistema operativo.
El zócalo va soldado sobre la placa base de manera que tiene conexión eléctrica con los circuitos del circuito impreso. El procesador se monta de acuerdo a unos puntos de guía (borde de plástico, indicadores gráficos, pines o agujeros restantes) de manera que cada pin o contacto quede alineado con el respectivo punto del zócalo. Alrededor del área del zócalo, se definen espacios libres, se instalan elementos de sujeción y agujeros, que permiten la instalación de dispositivos de disipación de calor, de manera que el procesador quede entre el zócalo y esos disipadores.
·         PGA: La conexión se realiza mediante pequeños pines metálicos repartidos al largo de la CPU. Estos pines encajan en los orificios del socket con el mismo diámetro de los pines.
·         BGA: La conexión se realiza mediante pequeños pines en forma circular colocados en el socket, estas conexiones encajan a los orificios de la CPU.
·         LGA: La conexión se realiza mediante superficies de contacto que encajan entre las de la CPU y las del socket.

BUSES DEL PROCESADOR

Todos los procesadores poseen un bus principal o de sistema por el cual se envían y reciben todos los datos, instrucciones y direcciones desde los integrados del chipset o desde el resto de dispositivos. Como puente de conexión entre el procesador y el resto del sistema, define mucho del rendimiento del sistema, su velocidad se mide en bits por segundo.
Ese bus puede ser implementado de distintas maneras, con el uso de buses seriales o paralelos y con distintos tipos de señales eléctricas. La forma más antigua es el bus paralelo en el cual se definen líneas especializadas en datos, direcciones y para control.
En la arquitectura tradicional de Intel (usada hasta modelos recientes), ese bus se llama front-side bus y es de tipo paralelo con 64 líneas de datos, 32 de direcciones además de múltiples líneas de control que permiten la transmisión de datos entre el procesador y el resto del sistema. Este esquema se ha utilizado desde el primer procesador de la historia, con mejoras en la señalización que le permite funcionar con relojes de 333 MHz haciendo 4 transferencias por ciclo.7
En algunos procesadores de AMD y en el Intel Core i7 se han usado otros tipos para el bus principal de tipo serial. Entre estos se encuentra el bus HyperTransport de AMD, que maneja los datos en forma de paquetes usando una cantidad menor de líneas de comunicación, permitiendo frecuencias de funcionamiento más altas y en el caso de Intel,Quickpath
Los microprocesadores de Intel y de AMD (desde antes) poseen además un controlador de memoria de acceso aleatorio en el interior del encapsulado lo que hace necesario la implementación de buses de memoria del procesador hacia los módulos. Ese bus está de acuerdo a los estándares DDR de JEDEC y consisten en líneas de bus paralelo, para datos, direcciones y control. Dependiendo de la cantidad de canales pueden existir de 1 a 4 buses de memoria.


                                 También puede ver este tema en este enlace de SLIDESHARE

RESUMEN

Un microprocesador está compuesto por varios bloques interconectados entre sí pero cada uno de ellos tiene una función específica que cumplir, al diseño e interconexión de estos bloques se le denomina Arquitectura.
La velocidad a la que una computadora pueda leer instrucciones y realizar los cálculos pertinentes es determinada por la frecuencia de funcionamiento del microprocesador, sin embargo, los fabricantes de microprocesadores han tenido grandes avances en el diseño de la arquitectura de sus micros y esto ha permitido que las computadoras dependan cada vez menos de la frecuencia de funcionamiento, es decir que con estos avances se puede dar el caso que un micro con menor frecuencia o velocidad pueda efectuar mayor cantidad de cálculos y tareas.
El microprocesador tiene una arquitectura parecida a la computadora digital. En otras palabras, el microprocesador es como la computadora digital porque ambos realizan cálculos bajo un programa de control. Consiguientemente, la historia de la computadora digital ayuda a entender el microprocesador.

SUMMARY

A microprocessor is composed of several interconnected blocks but each of them has a specific role to play, to design and interconnection of these blocks is called architecture.
The speed at which a computer can read instructions and perform the necessary calculations is determined by the operating frequency of the microprocessor, however, chip manufacturers have made great strides in designing the architecture of their micros and this has allowed computers depend less and less on the operating frequency, ie that with these advances can be the case that a micro less frequently or speed can make as many calculations and tasks.
The microprocessor has a similar architecture to the digital computer. In other words, the microprocessor is like a digital computer because both perform calculations under program control. Accordingly, the digital computer history helps to understand the microprocessor.

RECOMENDACIONES

ü  Al momento de elegir un equipo se debe tener en cuenta las características del procesador con el que queremos trabajar.

ü   En los microprocesadores hay que tener en cuenta el IPC (instrucciones por ciclo de reloj) determina la cantidad de instrucciones que es capaz de ejecutar el procesador por cada ciclo de reloj. Obviamente a mayor IPC, mayor rendimiento del procesador.

CONCLUSIONES

ü  Microprocesadores CISC Interpretan y ejecutan un gran número de instrucciones. Son más lentos.• Microprocesadores RISC Interpretan y ejecutan sólo unas pocas instrucciones. Son mucho más rápidos que los microprocesadores CISC.• Todos los microprocesadores utilizados en la fabricación de ordenadores personales, son de tecnología CISC.

ü  Las arquitecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arquitecturas basadas en registros.

ü  Hoy en día, los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento de información, lo que implica la búsqueda de microprocesadores más rápidos y eficientes.

GLOSARIO

Microprocesador: Procesador de muy pequeñas dimensiones en el que todos los elementos están agrupados en un solo circuito integrado.
CISC : Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitectura RISC.

RISC :es el acrónimo de Reduced Instruction Set Computer lo que en castellano viene a ser conjunto reducido de instrucciones de computadora. Se entiende por procesador RISC aquel que tiene un conjunto de instrucciones con unas características determinadas.

BIBLIOGRAFÍA O LINOGRAFÍA