Download Microprocesador

Document related concepts
no text concepts found
Transcript
Microprocesador
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 una computadora,
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
 El
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
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 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 Microprocesadores
Celulares
Radios
Ingresos $41.200 billones USD (2006)
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
44
45