6 microprocesador

43
1 Microprocesador Prof. Edgardo Vargas Moya

Upload: elizavelasquez

Post on 25-Jun-2015

187 views

Category:

Education


2 download

DESCRIPTION

trabajo de microprocesador

TRANSCRIPT

Page 1: 6 microprocesador

1

Microprocesador

Prof. Edgardo Vargas Moya

Page 2: 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.

Page 3: 6 microprocesador

3

Ejemplo Microprocesador

Uno de los actuales microprocesadores de 64 bits y doble núcleo, un AMD Athlon 64 X2 3600.

Page 4: 6 microprocesador

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.

Page 5: 6 microprocesador

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.

Page 6: 6 microprocesador

6

Ejemplos Microprocesadores

Motorola 68000 Intel 80486DX2

Intel 4004 Zilog Z80

Page 7: 6 microprocesador

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.

Page 8: 6 microprocesador

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

Page 9: 6 microprocesador

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

Page 10: 6 microprocesador

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.

Page 11: 6 microprocesador

11

Ciclo de instrucción ALU

Page 12: 6 microprocesador

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.

Page 13: 6 microprocesador

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.

Page 14: 6 microprocesador

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.

Page 15: 6 microprocesador

15

Ejemplo de segmentación

Programa de instrucciones en el Intel Pentium 4.

Page 16: 6 microprocesador

16

Ejemplo de segmentación

Page 17: 6 microprocesador

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.

Page 18: 6 microprocesador

18

Ejemplos GPU y Coprocesador

Graphics Processing Unit Coprocesador numérico Intel 287

Page 19: 6 microprocesador

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

Page 20: 6 microprocesador

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.

Page 21: 6 microprocesador

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.

Page 22: 6 microprocesador

22

Componentes ALUEl registro 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

Page 23: 6 microprocesador

23

Diagrama ALU

Page 24: 6 microprocesador

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.

Page 25: 6 microprocesador

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.

Page 26: 6 microprocesador

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.

Page 27: 6 microprocesador

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.

Page 28: 6 microprocesador

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.

Page 29: 6 microprocesador

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

Page 30: 6 microprocesador

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.

Page 31: 6 microprocesador

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.

Page 32: 6 microprocesador

32

Diagrama CU

Page 33: 6 microprocesador

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.

Page 34: 6 microprocesador

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.

Page 35: 6 microprocesador

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

Page 36: 6 microprocesador

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.

Page 37: 6 microprocesador

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.

Page 38: 6 microprocesador

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.

Page 39: 6 microprocesador

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.

Page 40: 6 microprocesador

40

Motorola Motorola es una

empresa estadounidense especializada en la electrónica y las telecomunicaciones, establecida en Schaumburg, Illinois, un suburbio de Chicago.

Motorola Inc

Tipo Privada

Fundación 1928

Sede Schaumburg, Illinois, EE.UU.

Gerentes Edward Zander, CEO & Chairman

Industria Equipamiento para comunicaciones

Productos MicroprocesadoresCelularesRadios

Ingresos $41.200 billones USD (2006)

Empleados 69, 000

Sitio web http://www.motorola.com/

Page 41: 6 microprocesador

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.

Page 42: 6 microprocesador

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.

Page 43: 6 microprocesador

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.