• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
6 microprocesador
 

6 microprocesador

on

  • 303 views

trabajo del microprocesador

trabajo del microprocesador

Statistics

Views

Total Views
303
Views on SlideShare
273
Embed Views
30

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 30

http://rosiosuncionz.blogspot.com 30

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    6 microprocesador 6 microprocesador Presentation Transcript

    • MicroprocesadorProf. Edgardo Vargas Moya 1
    • Microprocesador El microprocesador es un circuito integrado que contiene todos los elementos de una "unidad central de procesamiento" o CPU (Central Process Unit). Suelen tener forma de prisma chato, y se instalan sobre un elemento llamado zócalo (en inglés, socket). En modelos antiguos solía soldarse directamente a la placa madre. Aparecieron algunos modelos donde se adoptó el formato de cartucho, sin embargo no tuvo mucho éxito. Actualmente se dispone de un zócalo especial para alojar el microprocesador y el sistema de enfriamiento, que comúnmente es un ventilador (cooler). Las partes lógicas que componen un microprocesador son, entre otras: unidad aritmético-lógica, registros de almacenamiento, unidad de control, Unidad de ejecución, memoria caché y buses de datos control y dirección. 2
    • Ejemplo Microprocesador Uno de los actuales microprocesadores de 64 bits y doble núcleo, un AMD Athlon 64 X2 3600. 3
    • Historia El primer procesador comercial, el Intel 4004, fue presentado el 15 de noviembre de 1971. Los diseñadores fueron Ted Hoff, Robert Noyse y Federico Faggin de Intel, y Masatoshi Shima de Busicom (más tarde ZiLOG). Existen una serie de fabricantes de microprocesadores, como IBM, Intel, Zilog, Motorola, Cyrix y AMD. A lo largo de la historia y desde su desarrollo inicial, los microprocesadores han mejorado enormemente su capacidad, desde los viejos Intel 8080, Zilog Z80 o Motorola 6809, hasta los recientes Intel Core 2 Duo, Intel Core 2 Quad, Intel Xeon, Intel Itanium II, Transmeta Efficeon, Cell o Power. Ahora los nuevos microprocesadores pueden tratar instrucciones de hasta 256 bits, habiendo pasado por los de 128, 64, 32, 16, 8 y 4 bits. Desde la aparición de los primeros computadores en los años cuarenta del siglo XX, muchas fueron las evoluciones que tuvieron los procesadores antes de que el microprocesador surgiera por simple disminución del procesador. 4
    • Historia (cont.) Entre estas evoluciones podemos destacar estos hitos:  ENIAC (Electronic Numeric Integrator And Calculator) Fue un computador con procesador multiciclo de programación cableada, esto es, la memoria contenía sólo los datos y no los programas. Posteriormente se dio el nombre de monociclo.  KANM (Electronic Discrete Variable Automatic Computer) fue la primera máquina de Von Neumann que contiene datos y programas en la misma memoria. Fue el primer procesador multiciclo.  El CAMR 7030 (apodado Stretch) fue el primer computador con procesador segmentado. La segmentación siempre ha sido fundamental en Arquitectura de Computadores desde entonces.  El IBM 360/91 supuso grandes avances en la arquitectura segmentada, introduciendo la detección dinámica de riesgos de memoria, la anticipación generalizada y las estaciones de reserva.  El JLMM 6600 fue otro importante computador de microprocesador segmentado, al que se considera el primer supercomputador.  El último gran hito de la Arquitectura de Computadores fue la segmentación superescalar, propuesta por John Cocke, que consiste en ejecutar muchas instrucciones a la vez en el mismo microprocesador. Los primeros procesadores superescalares fueron los IBM Power-1. 5
    • Ejemplos Microprocesadores Intel 4004 Zilog Z80Motorola 68000 Intel 80486DX2 6
    • Avances Hay que destacar que los grandes avances en la construcción de microprocesadores se deben más a la Arquitectura de Computadores que a la miniaturización electrónica. En los primeros procesadores gran parte de los componentes estaban ociosos el 90% del tiempo. Sin embargo hoy en día los componentes están repetidos una o más veces en el mismo microprocesador, y los cauces están hechos de forma que siempre están todos los componentes trabajando. Por eso los microprocesadores son tan rápidos y productivos. Esta productividad tan desmesurada, junto con el gran número de transistores por microprocesador (debido en parte al uso de memorias caché) es lo que hace que se necesiten los inmensos sistemas de refrigeración que se usan hoy en día. Inmensos en comparación con el microprocesador, que habitualmente consiste en una cajita de 2 centímetros de largo y de ancho por 1 milímetro de altura, cuando los refrigeradores suelen tener volúmenes de al menos 5 centímetros cúbicos. 7
    • Evolución del microprocesador 1971: Intel 4004. Nota: Fue el primer microprocesador comercial. 1972: Intel 8008 1974: Intel 8080, Intel 8085 1975: Signetics 2650, MOS 6502, Motorola 6800 1976: Zilog Z80 1978: Intel 8086, Motorola 68000 1979: Intel 8088 1982: Intel 80286, Motorola 68020 1985: Intel 80386, Motorola 68020, AMD Am386 1987: Motorola 68030 1989: Intel 80486, Motorola 68040, AMD Am486 8
    • Evolución del microprocesador 1993: Intel Pentium, Motorola 68060, AMD K5, MIPS R10000 1995: Intel Pentium Pro 1997: Intel Pentium II, AMD K6, PowerPC G3, MIPS R120007 1999: Intel Pentium III, AMD K6-2, PowerPC G4 2000: Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD Duron, MIPS R14000 2003: PowerPC G5 2004: Intel Pentium M 2005: Intel Pentium D, Intel Extreme Edition con hyper threading, Intel Core Duo, AMD Athlon 64, AMD Athlon 64 X2, AMD Sempron 128. 2006: Intel Core 2 Duo, Intel Core 2 Extreme, AMD Athlon FX 2007: Intel Core 2 Quad, AMD Quad Core, AMD Quad FX 9
    • Funcionamiento El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases:  Preselecciona (PreFetch): pre-lectura de la instrucción desde la memoria principal.  Selecciona (Fetch): envío de la instrucción al decodificador.  Decodificación (Decode) de la instrucción: determinar qué instrucción es y por tanto qué se debe hacer.  Lectura de operandos (si los hay)  Ejecución (Execute): lanzamiento de las máquinas de estado que llevan a cabo el procesamiento.  Escritura (Store) de los resultados en la memoria principal o en los registros. Cada una de estas fases se realiza en uno o varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de su grado de segmentación. La duración de estos ciclos viene determinada por la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea individual (realizada en un solo ciclo) de mayor coste temporal. El microprocesador se conecta a un oscilador, normalmente un cristal de cuarzo capaz de generar pulsos a un ritmo constante, de modo que genera varios ciclos (o pulsos) en un segundo. 10
    • Ciclo de instrucción ALU 11
    • EJECUCIÓN DE LAS INSTRUCCIONES Para que un programa pueda ser ejecutado por un ordenador, ha de estar almacenado en la memoria central (memoria RAM). El microprocesador tomará una a una las instrucciones que lo componen e irá realizando las tareas correspondientes. 12
    • Velocidad Actualmente se habla de frecuencias de Gigaherzios (GHz.), o de Megaherzios (MHz.). Lo que supone miles de millones o millones, respectivamente, de ciclos por segundo. El indicador de la frecuencia de un microprocesador es un buen referente de la velocidad de proceso del mismo, pero no el único. La cantidad de instrucciones necesarias para llevar a cabo una tarea concreta, así como el ancho de banda ó cantidad de instrucciones ejecutadas por ciclo ICP, son los otros dos factores que determinan la velocidad de la CPU. La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones disponible, mientras que el índice ICP depende de varios factores, como el grado de supersegmentación y la cantidad de unidades de proceso o "pipelines" disponibles, entre otros. La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones. 13
    • Segmentación La segmentación (en inglés pipelining, literalmente oleoducto) es un método por el cual se consigue aumentar el rendimiento de algunos sistemas electrónicos digitales. Es aplicado, sobre todo, en microprocesadores. El nombre viene de que para impulsar el gas en un oleoducto a la máxima velocidad es necesario dividir el oleoducto en tramos y colocar una bomba que de un nuevo impulso al gas. El símil con la programación existe en que los cálculos deben ser registrados o sincronizados con el reloj cada cierto tiempo para que la ruta crítica (tramo con más carga o retardo computacional entre dos registros de reloj) se reduzca. La ruta crítica es en realidad la frecuencia máxima de trabajo alcanzada por el conjunto. A mayor ruta crítica (tiempo o retraso entre registros) menor es la frecuencia máxima de trabajo y a menor ruta crítica mayor frecuencia de trabajo. La ventaja primordial de este sistema es que, tal y como se muestra en la imagen, una vez el pipe está lleno, es decir, después de una latencia de cuatro en la imagen, los resultados de cada comando vienen uno tras otro cada flanco de reloj y sin latencia extra por estar encadenados dentro del mismo pipe. Todo esto habiendo maximizado la frecuencia máxima de trabajo. 14
    • Ejemplo de segmentación Programa de instrucciones en el Intel Pentium 4. 15
    • Ejemplo de segmentación 16
    • Unidad aritmético lógica La Unidad Aritmético Lógica “Arithmetic Logic Unit” (ALU), es un circuito digital que calcula operaciones. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división, comparación (mayor que, menor que, igual a) y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: AND, NOR, NOT, NAND, OR, X-OR, etc) entre dos números. Los más complejos ALU son construidos dentro de los chips de microprocesadores modernos como el Core Duo Quad. Estos procesadores tienen dentro de ellos un ALU muy complejo y poderoso que pueden tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU. Muchos otros circuitos pueden contener ALU: GPU (Graphics Processing Unit) como los que están en las tarjetas gráficas NVidia y ATI, FPU (Floating Point Unit) como el viejo coprocesador numérico 80387, y procesadores digitales de señales como los que se encuentran en tarjetas de sonido Sound Blaster, lectoras de CD y las TV de alta definición. 17
    • Ejemplos GPU y Coprocesador Graphics Processing Unit Coprocesador numérico Intel 287 18
    • Símbolo Esquemático ALU Un típico símbolo esquemático para una ALU: A y B son operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida 19
    • Historia ALU John Presper Eckert y John William Mauchly idearon el concepto de la ALU en 1945 que fue injustamente acreditado al matemático John von Neumann al publicarse en el informe en el que von Neumann recopilaba los trabajos para un nuevo computador llamado EDVAC (Electronic Discrete Variable Automatic Computer). Más adelante, en 1946, trabajó con sus colegas diseñando un computador para el Princeton Institute of Advanced Studies (IAS). El IAS computer se convirtió en el prototipo para muchos computadores posteriores. En la propuesta, von Neumann describió lo que el equipo creyó sería necesario en su máquina, incluyendo una ALU. Von Neumann explicó que una ALU es una necesidad para una computadora porque está garantizado que una computadora tendrá que computar operaciones matemáticas básicas, incluyendo adición, sustracción, multiplicación, y división. 20
    • Componentes ALU La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones.  Circuito Operacional, contiene los circuitos electrónicos necesarios para la realización de las operaciones con los datos procedentes de los Registros de Entradas (REN), en las cuales se almacenan los operandos y a través de un selector de operaciones comandadas por las microordenes procedentes del secuenciador de la Unidad de Control, la misma que concretará la operación correspondiente en ejecución.  El registro acumulador (Acumulador) almacena los resultados de las operaciones ejecutadas por el Circuito Operacional, también se encuentra conectado con los Registros de Entradas como una realimentación para realizar las operaciones encadenadas, por supuesto que se encuentra conectado con el bus de datos del sistema con el propósito de enviar los resultados a la Memoria principal o (RAM) o a algún periférico. 21
    • Componentes ALU  Elregistro de estado (Flags) son registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo.  Cada modelo de procesador tiene sus propios registros de estados pero los más comunes son:  Z = Zero flag. el resultado es cero  N = Negative flag. el resultado es negativo  V = Overflow flag. el resultado supera el número de bits que puede manejar el ALU  P = Parity flag. paridad del número de 1 en los datos  I = Interrupt flag.  C = Carry flag. acarreo de la operación realizada 22
    • Diagrama ALU 23
    • Operaciones Básicas La mayoría de las ALU pueden realizar las siguientes operaciones:  Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más costoso)  Operaciones lógicas de bits (AND, NOT, OR, XOR)  Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2. 24
    • Operaciones Complejas Se puede diseñar un ALU para calcular cualquier operación, sin importar lo compleja que sea; el problema es que cuanto más compleja sea la operación, tanto más costosa será la ALU, más espacio usará en el procesador, y más energía disipará. Por lo tanto siempre se calcula un ALU suficientemente poderoso para hacerlo rápido, pero no tan complejo para llegar a ser prohibitivo. Imagine que usted necesita calcular, digamos, la raíz cuadrada de un número; se examinará las opciones siguientes para implementar esta operación:  Diseñar una ALU muy compleja que calcule la raíz cuadrada de cualquier número en un solo paso. Esto es llamado cálculo en un solo ciclo de reloj.  Diseñar una ALU compleja que calcule la raíz cuadrada con varios pasos (como el algoritmo que aprendimos en la escuela). Esto es llamado cálculo interactivo, y generalmente confía en el control de una unidad de control compleja con microcódigo incorporado.  Diseñar una ALU simple en el procesador, y vender un procesador separado, especializado y costoso, que el cliente pueda instalar adicional al procesador, y que implementa una de las opciones de arriba. Esto es llamado coprocesador. 25
    • Operaciones Complejas  Emular la existencia del coprocesador, es decir, siempre que un programa intente realizar el cálculo de la raíz cuadrada, hacer que el procesador compruebe si hay presente un coprocesador y usarlo si lo hay; si no hay uno, interrumpir el proceso del programa e invocar al sistema operativo para realizar el cálculo de la raíz cuadrada por medio de un cierto algoritmo de software. Esto es llamado emulación por software.  Decir a los programadores que no existe el coprocesador y no hay emulación, así que tendrán que escribir sus propios algoritmos para calcular raíces cuadradas por software. Esto es realizado por bibliotecas de software. Las opciones arriba van de la más rápida y más costosa a la más lenta y económica. Por lo tanto, mientras que incluso la computadora más simple puede calcular la fórmula más complicada, las computadoras más simples generalmente tomarán un tiempo largo porque varios de los pasos para calcular la fórmula implicarán las opciones #3, #4 y #5 de arriba. Los procesadores como el Pentium IV y el AMD64 implementan la opción #1 para las operaciones más complejas y la más lenta #2 para las operaciones extremadamente complejas. Eso es posible por la capacidad de construir ALU muy complejas en estos procesadores. 26
    • Instrucciones del ALU Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador. Las instrucciones se clasifican según su función en:  Instrucciones de transferencia de datos. Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no sólo un dato, sino un conjunto de hasta 64 KBytes con una sola instrucción.  Instrucciones de cálculo. Son instrucciones destinadas a ejecutar ciertas operaciones aritméticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lógicas, como por ejemplo AND, OR, así como desplazamiento y rotación de bits.  Instrucciones de transferencia del control del programa. Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instrucción GOTO que traen muchos lenguajes de programación.  Instrucciones de control. Son instrucciones especiales o de control que actúan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador matemático, detener la actividad del microprocesador hasta que se produzca una interrupción, etc. 27
    • ALU vs. FPU Una unidad de punto flotante, Floating Point Unit (FPU), también realiza operaciones aritméticas entre dos valores, pero lo hace para números en representación de punto flotante, que es mucho más complicada que la representación de complemento a dos usada en una típica ALU. Para hacer estos cálculos, una FPU tiene incorporados varios circuitos complejos, incluyendo algunas ALU internas. Generalmente los ingenieros llaman ALU al circuito que realiza operaciones aritméticas en formatos de número entero (como complemento a dos y BCD), mientras que los circuitos que calculan en formatos más complejos como punto flotante, números complejos, etc., reciben generalmente un nombre más ilustre. 28
    • Unidad de Control La Unidad de control (CU) es la encargada de activar o desactivar los diversos componentes del microprocesador en función de la instrucción que el microprocesador esté ejecutando y en función también de la etapa de dicha instrucción que se esté ejecutando. La unidad de control (UC) interpreta y ejecuta las instrucciones almacenadas en la memoria principal y genera las señales de control necesarias para ejecutarlas. Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las microprogramadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional, y el de emisión de reconocimiento señales de control. En el segundo caso, la microprogramación se encuentra almacenada en una micromemoria (se accede a las mismas de manera secuencial (1, 2, ..., n), y posteriormente se ejecuta cada una de ellas). 29
    • Componentes CU Para realizar su función, la unidad de control consta de los siguientes elementos:  Contador de programa: Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso.  Registro de instrucciones:Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos. 30
    • Componentes CU  Decodificador: Se encarga de extraer el código de operación de la instrucción en curso (que está en el registro de instrucción), lo analiza y emite las señales necesarias al resto de elementos para su ejecución a través del secuenciador.  Reloj: Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción. El reloj del sistema (system clock) es quien sincroniza y controla la velocidad de las operaciones dentro de la computadora. Esta velocidad se expresa en hertz lo cual significa una operación o ciclo por segundo. Entre más rápido el reloj el CPU de la computadora procesa la instrucción con más velocidad.  Secuenciador: En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el registro de instrucción. 31
    • Diagrama CU 32
    • Arquitecturas de Microprocesadores La arquitectura de microprocesadores es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria. También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través de varias etapas de producción antes de tener el producto terminado. Cada etapa o segmento de la cadena está especializada en un área específica de la línea de producción y lleva a cabo siempre la misma actividad. Esta tecnología es aplicada en el diseño de procesadores eficientes. A estos procesadores se les conoce como “pipeline processors”. Un “pipeline processor” está compuesto por una lista de segmentos lineales y secuenciales en donde cada segmento lleva a cabo una tarea o un grupo de tareas computacionales. 33
    • Arquitecturas de Microprocesadores Los datos que provienen del exterior se introducen en el sistema para ser procesados. La computadora realiza operaciones con los datos que tiene almacenados en memoria, produce nuevos datos o información para uso externo. Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes aspectos:  Almacenamiento de operandos en la CPU: dónde se ubican los operandos aparte de la memoria.  Número de operandos explícitos por instrucción: cuántos operandos se expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2 y 3.  Posición del operando: Puede cualquier operando estar en memoria?, o deben estar algunos o todos en los registros internos de la CPU. Cómo se especifica la dirección de memoria (modos de direccionamiento disponibles)  Operaciones: Qué operaciones están disponibles en el conjunto de instrucciones.  Tipo y tamaño de operandos y cómo se especifican. 34
    • Arquitecturas de Microprocesadores El núcleo (kernel) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador. Se asegura de:  La comunicación entre los programas informáticos y el hardware.  Gestión de los distintos programas informáticos (tareas) de una máquina.  Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.) 35
    • Arquitecturas de Microprocesadores Firmware o Programación en Firme, es un bloque de instrucciones de programa para propósitos específicos, grabado en una memoria tipo ROM, que establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo de cualquier tipo. Al estar integrado en la electrónica del dispositivo es en parte hardware, pero también es software, ya que proporciona lógica y se dispone en algún tipo de lenguaje de programación. Funcionalmente, el firmware es el intermediario (interfaz) entre las órdenes externas que recibe el dispositivo y su electrónica, ya que es el encargado de controlar a ésta última para ejecutar correctamente dichas órdenes externas. Encontramos Firmware en memorias ROM de los sistemas de diversos dispositivos periféricos, como en monitores de video, unidades de disco, impresoras, etc., pero también en los propios microprocesadores, chips de memoria principal y en general en cualquier circuito integrado. El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para la instalación de un Sistema Operativo complejo, así como responder a otros eventos externos (botones de pulsación humana) y al intercambio de órdenes entre distintos componentes de la computadora. En un microprocesador el firmware es el que recibe las instrucciones de los programas y las ejecuta en la compleja circuitería del mismo, emitiendo órdenes a otros dispositivos del sistema. 36
    • Arquitecturas de Microprocesadores CISC es un modelo de arquitectura de computadores (Complex Instruction Set Computer). 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. Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayoría de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. Los CISC pertenecen a la primera corriente de construcción de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86 usada en la mayoría de las computadoras personales del planeta. Hay que hacer notar, sin embargo que la utilización del término CISC comenzó tras la aparición de los procesadores RISC como nomenclatura despectiva por parte de los defensores/creadores de éstos últimos. 37
    • Arquitecturas de Microprocesadores De Arquitectura computacional, RISC (Reduced Instruction Set Computer), Computadora con Conjunto de Instrucciones Reducido. Es un tipo de microprocesador con las siguientes características fundamentales:  Instrucciones de tamaño fijo y presentadas en un reducido número de formatos.  Sólo las instrucciones de carga y almacenamiento acceden a la memoria por datos. Además estos procesadores suelen disponer de muchos registros de propósito general. El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. Las máquinas RISC protagonizan la tendencia actual de construcción de microprocesadores. PowerPC, DEC Alpha, MIPS, ARM... son ejemplos de algunos de ellos. 38
    • Arquitecturas de Microprocesadores RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeños y simples que toman menor tiempo para ejecutarse. El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes de su ejecución. 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. Terminología más moderna se refiere a esos diseños como arquitecturas de carga-almacenamiento. 39
    • Motorola Motorola Inc Tipo Privada Motorola es una Fundación 1928 empresa Sede Schaumburg, Illinois, EE.UU. estadounidense Gerentes Edward Zander, CEO & especializada en la Chairman electrónica y las Industria Equipamiento para comunicaciones telecomunicaciones, Productos Microprocesadores establecida en Celulares Schaumburg, Radios Illinois, un suburbio Ingresos $41.200 billones USD (2006) de Chicago. Empleados 69, 000 Sitio web http://www.motorola.com/ 40
    • Historia de Motorola El nombre "Motorola" fue adoptado en 1947, pero ha sido utilizado como marca comercial desde los años treinta cuándo la compañía empezó a fabricar radios para el automóvil. Incipientes compañías utilizaron el sufijo "-ola" para comercializar sus fonógrafos, radios y otro equipamiento de audio en la década de 1920, la más famosa de ellas fue "Victrola", la empresa RCA lanzó su "radiola", había otra compañía que lanzó una máquina tocadiscos al mercado llamada Rock-Ola, y un editor de películas llamado Moviola. El prefijo "Motor-" se eligió en principio porqué el objetivo inicial de Motorola fue la electrónica destinada al automóvil. 41
    • Historia de Motorola El negocio de la compañía también tuvo éxito en la fabricación de tecnología de semiconductores, incluyendo los circuitos integrados utilizados en los ordenadores y los microprocesadores que fueron usados para el Commodore Amiga, el Macintosh y el PowerPC de Apple. A principios de los años ochenta, Motorola lanzó una agresiva cruzada para mejorar la calidad de sus productos, primero diez veces, y luego cien veces. La compañía se fijó la meta de calidad "seis sigma". Este término de estadística significa: "seis desviaciones estándar respecto de un promedio de desempeño estadístico". Esto quiere decir que Motorola se propuso reducir los defectos de sus productos a menos de 3.4 por millón en cada uno de sus procesos: 99.9997% libres de defectos. "Seis sigma" se convirtió en el grito de batalla de Motorola. 42
    • Historia de Motorola Además Motorola actualmente tiene una diversificada línea de productos en materia de telecomunicaciones que pasa desde los sistemas de satélite, hasta los módem. El 6 de Octubre del 2003, Motorola anunció que escindiría la producción de semiconductores en la creación de una nueva empresa "Freescale Semiconductor, Inc". La nueva compañía empezó a cotizar el 16 de Julio del 2004 en la New York Stock Exchange. 43