6 microprocesador

Microprocesador

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




Motorola 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
1 de 43

Recomendados

Linea del tiempo Microprocesadores 242M por
Linea del tiempo Microprocesadores 242MLinea del tiempo Microprocesadores 242M
Linea del tiempo Microprocesadores 242MFernando Fernandez
27.5K vistas8 diapositivas
Aula 05 placa mãe por
Aula 05 placa mãeAula 05 placa mãe
Aula 05 placa mãeAlexandrino Sitoe
3.1K vistas76 diapositivas
Aula Introdução a Arquitetura e Organização de Computadores por
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresGilvan Latreille
540 vistas55 diapositivas
80286 80386-80486 por
80286 80386-8048680286 80386-80486
80286 80386-80486Jorge Luis Tinoco
10.2K vistas18 diapositivas
14696862 mecanica por
14696862 mecanica14696862 mecanica
14696862 mecanicaJuan Carlos Regalado Anguiano
15.4K vistas285 diapositivas
Microprocessor Trends.pptx por
Microprocessor Trends.pptxMicroprocessor Trends.pptx
Microprocessor Trends.pptxFarshidHossain
26 vistas49 diapositivas

Más contenido relacionado

La actualidad más candente

Processadores por
ProcessadoresProcessadores
ProcessadoresDaniela Oura
26.6K vistas48 diapositivas
Unicode: Os segredos da Codificação de Caracteres por
Unicode: Os segredos da Codificação de CaracteresUnicode: Os segredos da Codificação de Caracteres
Unicode: Os segredos da Codificação de CaracteresDouglas V. Pasqua
20.1K vistas116 diapositivas
Microprocesadores por
MicroprocesadoresMicroprocesadores
MicroprocesadoresAriel Luke Cusacani
3.8K vistas24 diapositivas
Processadores por
Processadores Processadores
Processadores Alceu Bernardino
3.2K vistas35 diapositivas
Arquitectura del microprocesador por
Arquitectura del microprocesadorArquitectura del microprocesador
Arquitectura del microprocesadorDILMER OLIVERA
1.4K vistas17 diapositivas
Risc e cisc por
Risc e ciscRisc e cisc
Risc e ciscredesinforma
6.9K vistas5 diapositivas

La actualidad más candente(20)

Processadores por Daniela Oura
ProcessadoresProcessadores
Processadores
Daniela Oura26.6K vistas
Unicode: Os segredos da Codificação de Caracteres por Douglas V. Pasqua
Unicode: Os segredos da Codificação de CaracteresUnicode: Os segredos da Codificação de Caracteres
Unicode: Os segredos da Codificação de Caracteres
Douglas V. Pasqua20.1K vistas
Arquitectura del microprocesador por DILMER OLIVERA
Arquitectura del microprocesadorArquitectura del microprocesador
Arquitectura del microprocesador
DILMER OLIVERA1.4K vistas
Diapositivas de microprocesador por AnGelitto LosaDa
Diapositivas de microprocesadorDiapositivas de microprocesador
Diapositivas de microprocesador
AnGelitto LosaDa13.9K vistas
Motores por ACRACR
MotoresMotores
Motores
ACRACR1.9K vistas
Aula07 - Arquitetura e Manutenção de Computadores por Jorge Ávila Miranda
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
Presentación1 De Zocalos por bri4n
Presentación1 De ZocalosPresentación1 De Zocalos
Presentación1 De Zocalos
bri4n638 vistas
Arduino: Taller de Arduino un enfoque practico para principiantes por German ... por SANTIAGO PABLO ALBERTO
Arduino: Taller de Arduino un enfoque practico para principiantes por German ...Arduino: Taller de Arduino un enfoque practico para principiantes por German ...
Arduino: Taller de Arduino un enfoque practico para principiantes por German ...
ZÓCALOS DE PROCESADORES INTEL por Edith SF
ZÓCALOS DE PROCESADORES INTELZÓCALOS DE PROCESADORES INTEL
ZÓCALOS DE PROCESADORES INTEL
Edith SF20.1K vistas
SISTEMA ANTIRROBO PASS KEY DE GM.pdf por GonzaloCarita1
SISTEMA ANTIRROBO PASS KEY DE GM.pdfSISTEMA ANTIRROBO PASS KEY DE GM.pdf
SISTEMA ANTIRROBO PASS KEY DE GM.pdf
GonzaloCarita1109 vistas
Microprocesadores intel (diapositivas). por alexander171995
Microprocesadores intel (diapositivas).Microprocesadores intel (diapositivas).
Microprocesadores intel (diapositivas).
alexander1719953.9K vistas

Similar a 6 microprocesador

Microprocesador por
MicroprocesadorMicroprocesador
Microprocesadorjhonatan caceres camavilca
1.3K vistas43 diapositivas
Micropro por
MicroproMicropro
Micropro2410199022
683 vistas45 diapositivas
Ensamblaje de Pcs-Microprocesador por
Ensamblaje de Pcs-MicroprocesadorEnsamblaje de Pcs-Microprocesador
Ensamblaje de Pcs-MicroprocesadorInstituto Juan Bosco de Huánuco
7.7K vistas47 diapositivas
MICROPROCESADORES por
MICROPROCESADORESMICROPROCESADORES
MICROPROCESADORESgrupodelsaber
1.3K vistas48 diapositivas
Microprocesador por
MicroprocesadorMicroprocesador
MicroprocesadorYury Torres
2.3K vistas39 diapositivas
Microprocesador por
MicroprocesadorMicroprocesador
Microprocesadorander1692
943 vistas39 diapositivas

Similar a 6 microprocesador(20)

Microprocesador por Yury Torres
MicroprocesadorMicroprocesador
Microprocesador
Yury Torres2.3K vistas
Microprocesador por ander1692
MicroprocesadorMicroprocesador
Microprocesador
ander1692943 vistas
Microprocesador por Franck Joel
MicroprocesadorMicroprocesador
Microprocesador
Franck Joel127 vistas
Trabajo microprocesador por anyely-brayan
Trabajo microprocesadorTrabajo microprocesador
Trabajo microprocesador
anyely-brayan135 vistas
Trabajo microprocesador por anyely-brayan
Trabajo microprocesadorTrabajo microprocesador
Trabajo microprocesador
anyely-brayan191 vistas
Trabajo microprocesador por anyely-brayan
Trabajo microprocesadorTrabajo microprocesador
Trabajo microprocesador
anyely-brayan148 vistas
Trabajo microprocesador por anyely-brayan
Trabajo microprocesadorTrabajo microprocesador
Trabajo microprocesador
anyely-brayan171 vistas
Trabajo microprocesador por anyely-brayan
Trabajo microprocesadorTrabajo microprocesador
Trabajo microprocesador
anyely-brayan141 vistas
Monroylopes act4.2 microprocesador de la computadora por fenixgamer
Monroylopes act4.2 microprocesador de la computadoraMonroylopes act4.2 microprocesador de la computadora
Monroylopes act4.2 microprocesador de la computadora
fenixgamer16 vistas
Microprocesador por DeyMil06
MicroprocesadorMicroprocesador
Microprocesador
DeyMil06108 vistas

Más de Brayanxito Morán Oblea

Instituto de salud por
Instituto de saludInstituto de salud
Instituto de saludBrayanxito Morán Oblea
381 vistas1 diapositiva
Autoestima por
AutoestimaAutoestima
AutoestimaBrayanxito Morán Oblea
215 vistas1 diapositiva
Secretaria sonora por
Secretaria sonoraSecretaria sonora
Secretaria sonoraBrayanxito Morán Oblea
177 vistas2 diapositivas
Secretaría social por
Secretaría socialSecretaría social
Secretaría socialBrayanxito Morán Oblea
161 vistas1 diapositiva
Saber estar en la sociedad por
Saber  estar en la sociedadSaber  estar en la sociedad
Saber estar en la sociedadBrayanxito Morán Oblea
224 vistas1 diapositiva
Qué es el liderazgo por
Qué es el liderazgoQué es el liderazgo
Qué es el liderazgoBrayanxito Morán Oblea
222 vistas2 diapositivas

Más de Brayanxito Morán Oblea(20)

Último

Semana 3.pdf por
Semana 3.pdfSemana 3.pdf
Semana 3.pdfValdezsalvadorMayleM
101 vistas7 diapositivas
Herramientas para Educación a Distancia.pptx por
Herramientas para Educación a Distancia.pptxHerramientas para Educación a Distancia.pptx
Herramientas para Educación a Distancia.pptxa2223810028
40 vistas6 diapositivas
receta.pdf por
receta.pdfreceta.pdf
receta.pdfcarmenhuallpa45
143 vistas1 diapositiva
PREGUNTAS ASCENSO AIP.pptx por
PREGUNTAS ASCENSO AIP.pptxPREGUNTAS ASCENSO AIP.pptx
PREGUNTAS ASCENSO AIP.pptxSandra Mariela Ballón Aguedo
29 vistas503 diapositivas
140 años de presencia eudista en Suramérica por
140 años de presencia eudista en Suramérica140 años de presencia eudista en Suramérica
140 años de presencia eudista en SuraméricaUnidad de Espiritualidad Eudista
28 vistas8 diapositivas
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf por
Norma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdfNorma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdf
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdfDemetrio Ccesa Rayme
248 vistas5 diapositivas

Último(20)

Herramientas para Educación a Distancia.pptx por a2223810028
Herramientas para Educación a Distancia.pptxHerramientas para Educación a Distancia.pptx
Herramientas para Educación a Distancia.pptx
a222381002840 vistas
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf por Demetrio Ccesa Rayme
Norma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdfNorma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdf
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf
Contrato de aprendizaje y evaluación por LauraJuarez87
Contrato de aprendizaje y evaluación Contrato de aprendizaje y evaluación
Contrato de aprendizaje y evaluación
LauraJuarez8796 vistas
Perspectivas teóricas y modelos por darianavalera54
Perspectivas teóricas y modelos Perspectivas teóricas y modelos
Perspectivas teóricas y modelos
darianavalera5426 vistas
FORTI-DICIEMBRE.2023.pdf por El Fortí
FORTI-DICIEMBRE.2023.pdfFORTI-DICIEMBRE.2023.pdf
FORTI-DICIEMBRE.2023.pdf
El Fortí113 vistas
Concepto de determinación de necesidades.pdf por LauraJuarez87
Concepto de determinación de necesidades.pdfConcepto de determinación de necesidades.pdf
Concepto de determinación de necesidades.pdf
LauraJuarez8749 vistas

6 microprocesador

  • 2. 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
  • 3. Ejemplo Microprocesador  Uno de los actuales microprocesadores de 64 bits y doble núcleo, un AMD Athlon 64 X2 3600. 3
  • 4. 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
  • 5. 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
  • 6. Ejemplos Microprocesadores Intel 4004 Zilog Z80 Motorola 68000 Intel 80486DX2 6
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Ejemplo de segmentación Programa de instrucciones en el Intel Pentium 4. 15
  • 17. 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
  • 18. Ejemplos GPU y Coprocesador  Graphics Processing Unit Coprocesador numérico Intel 287 18
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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