Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Universidad de Nariño
Ing. Andrés Calvache G. – ESP.
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
11
EJECUCIÓN DE LAS INSTRUCCIONES
Para que un programa pueda ser ejecutado por un ordenador, ha
de estar almacenado en la memoria central (memoria RAM). El
microprocesador tomará una a una las instrucciones que lo
componen e irá realizando las tareas correspondientes.
12
Velocidad
Actualmente se habla de frecuencias de Gigaherzios (GHz.),
o de Megaherzios (MHz.). Lo que supone miles de millones o
millones, respectivamente, de ciclos por segundo.
El indicador de la frecuencia de un microprocesador es un
buen referente de la velocidad de proceso del mismo, pero no
el único.
La cantidad de instrucciones necesarias para llevar a cabo
una tarea concreta, así como el ancho de banda ó cantidad
de instrucciones ejecutadas por ciclo ICP, son los otros dos
factores que determinan la velocidad de la CPU.
La cantidad de instrucciones necesarias para realizar una
tarea depende directamente del juego de instrucciones
disponible, mientras que el índice ICP depende de varios
factores, como el grado de supersegmentación y la cantidad
de unidades de proceso o "pipelines" disponibles, entre otros.
La cantidad de instrucciones necesarias para realizar una
tarea depende directamente del juego de instrucciones.
13
Segmentación
La segmentación (en inglés pipelining, literalmente oleoducto) es un
método por el cual se consigue aumentar el rendimiento de algunos
sistemas electrónicos digitales. Es aplicado, sobre todo, en
microprocesadores. El nombre viene de que para impulsar el gas en un
oleoducto a la máxima velocidad es necesario dividir el oleoducto en
tramos y colocar una bomba que de un nuevo impulso al gas. El símil
con la programación existe en que los cálculos deben ser registrados o
sincronizados con el reloj cada cierto tiempo para que la ruta crítica
(tramo con más carga o retardo computacional entre dos registros de
reloj) se reduzca.
La ruta crítica es en realidad la frecuencia máxima de trabajo
alcanzada por el conjunto. A mayor ruta crítica (tiempo o retraso entre
registros) menor es la frecuencia máxima de trabajo y a menor ruta
crítica mayor frecuencia de trabajo.
La ventaja primordial de este sistema es que, tal y como se muestra en
la imagen, una vez el pipe está lleno, es decir, después de una latencia
de cuatro en la imagen, los resultados de cada comando vienen uno
tras otro cada flanco de reloj y sin latencia extra por estar encadenados
dentro del mismo pipe. Todo esto habiendo maximizado la frecuencia
máxima de trabajo.
14
Ejemplo de segmentación
15
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.
16
Ejemplos GPU y Coprocesador
17
Símbolo Esquemático ALU
22
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.
23
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:
1. 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.
2. 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.
3. 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.
24
Operaciones Complejas
4. 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.
5. 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.
25
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. 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.
26
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.
27
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.
1. En el primer caso, los componentes principales son el circuito
de lógica secuencial, lógica combinacional, y el de emisión
de reconocimiento señales de control.
2. 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).
28
Componentes CU
Para realizar su función, la unidad de control consta de
los siguientes elementos:
29
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.
30
Diagrama CU
31
Arquitecturas de Microprocesadores
32
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.
34
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.
35
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.
36
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.
37
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.
38
Motorola Motorola Inc
Tipo Privada
Motorola es una Fundación 1928
empresa Sede Schaumburg, Illinois, EE.UU.
estadounidense Gerentes Edward Zander, CEO &
especializada en la Chairman
electrónica y las Industria Equipamiento para
comunicaciones
telecomunicaciones,
Productos Microprocesadores
establecida en Celulares
Schaumburg, Radios
Illinois, un suburbio Ingresos $41.200 billones USD (2006)
de Chicago. Empleados 69, 000
Sitio web http://www.motorola.com/
39
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.
40
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. 41
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.
42