Title: Microprocesador
1Microprocesador
2Microprocesador
- 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.
3Ejemplo Microprocesador
- Uno de los actuales microprocesadores de 64 bits
y doble núcleo, un AMD Athlon 64 X2 3600.
4Historia
- 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.
5Historia (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.
6Ejemplos Microprocesadores
Intel 4004 Zilog Z80
- Motorola 68000 Intel 80486DX2
7Avances
- 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.
8Evolució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
9Evolució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
10Funcionamiento
- 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.
11Ciclo de instrucción ALU
12EJECUCIÓ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.
13Velocidad
- 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.
14Segmentació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.
15Ejemplo de segmentación
- Programa de instrucciones en el Intel Pentium 4.
16Ejemplo de segmentación
17Unidad 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.
18Ejemplos GPU y Coprocesador
- Graphics Processing Unit Coprocesador
numérico Intel 287
19Sí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
20Historia 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.
21Componentes 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.
22Componentes 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
23Diagrama ALU
24Operaciones 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.
25Operaciones 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.
26Operaciones 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.
27Instrucciones 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.
28ALU 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.
29Unidad 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).
30Componentes 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 instruccionesContiene 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.
31Componentes 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.
32Diagrama CU
33Arquitecturas 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.
34Arquitecturas 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.
35Arquitecturas 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.)
36Arquitecturas 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.
37Arquitecturas 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.
38Arquitecturas 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.
39Arquitecturas 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
.
40 Motorola
Motorola Inc 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/
- Motorola es una empresa estadounidense
especializada en la electrónica y las
telecomunicaciones, establecida en Schaumburg,
Illinois, un suburbio de Chicago.
41Historia 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.
42Historia 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.
43Historia 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.
44(No Transcript)
45(No Transcript)