Está en la página 1de 57

Arquitectura vs Organización

➢ Arquitectura: atributos visibles al programador


● Set de instrucciones, bits utilizados para representar los
datos, mecanismos de direccionamiento, entrada y salida,
etc.
➢ Organización: cómo se implementan
● Señales de control, tecnología de la memoria
● Ejemplos:
● Las instrucciones las ejecuta directo el hardware o son interpretadas por
microprogramas?
● La multiplicación es realizada directamente por un componente o se
realizan muchas sumas?
Arquitectura de von Neumann

⦿ Que hace un computador.


• Almacenar Datos (leer - escribir).
• Almacenar Programas.
• Ejecutar operaciones sobre datos.
• Ejecutar algoritmos.
• Recibir nuevos datos.
• Entregar resultados.
Arquitectura de von Neumann

⦿ John von Neumann propuso una manera de


estructurar un computador.

• Almacenar Datos (leer - escribir).


Memoria
• Almacenar Programas.
• Ejecutar operaciones sobre datos.
• Ejecutar algoritmos. CPU
• Recibir nuevos datos.
• Entregar resultados. Input/Output
Arquitectura de von Neumann

⦿ La comunicación entre el CPU, la Memoria y el


I/O se realiza a través de Buses.
Data Bus

Control
Memoria CPU I/O

Control

Address Bus
Arquitectura de von Neumann

⦿ Ventajas de la arquitectura de von Neumann

• Uso mas eficiente de la memoria


● Jerarquía de memoria no requiere estar dividida en 2

• Más simple arquitectónicamente


● Un solo tipo de instrucciones para acceder a memoria
● Un solo bus de datos y de direcciones
! Una misma forma de acceso a datos e instrucciones

• Mayor flexibilidad
● Útil para el sistema operativo
● Paginación a disco
● Código automodificante

! CPU con menos operaciones y mas flexible


Arquitectura Harvard

⦿ Utiliza 2 memorias “independientes”


• Datos
• Instrucciones

⦿ El término proviene de la computadora


Harvard Mark I, que almacenaba las
instrucciones en cintas perforadas y los datos
en interruptores.
Arquitectura Harvard

⦿ Ventajas de la arquitectura Harvard

• Instrucciones y datos de distinto largo

• Memorias de distinto tamaño


● bits de direccionamiento distintos

• Memorias con distinta tecnología

• Disminuyo el cuello de botella en el acceso a memoria

• En controladores embebidos:
● RAM para los datos
● ROM para las instrucciones
Arquitectura Set Instrucciones
⦿ CISC (Complex Instruction Set Computer)

⦿ RISC (Reduced Instruction Set Computer)


Arquitectura RISC
⦿ La ejecución de programas compilados
directamente con microinstrucciones y
residentes en memoria externa al circuito
integrado resultaban ser mas eficientes, que las
que se encuentran en la memoria del circuito
integrado del microprocesador
⦿ Diseño de las maquinas RISC

Arquitectura RISC y CISC Lab. Microcomputadores 2009


Arquitectura CISC
⦿ Aquí nos vemos enfrentados a lo que es la
microprogramación.
⦿ Microprogramación: cada instrucción de
maquina es interpretada, por un micro
programa, localizado en la memoria del circuito
integrado del microprocesador.

Arquitectura RISC y CISC Lab. Microcomputadores 2009


Componentes Básicos uComp
1. Oscilador de reloj: determina la cantidad de
instrucciones que el procesador puede ejecutar por segundo.
2. CPU. (Microprocesador)
3. Memoria.
4. Bus del Sistema
• Bus de datos.
• Bus de direcciones.
• Bus de control: Este bus es el encargado de indicar al
sistema tanto el tipo de información que circula por el
bus de datos en cada momento, como de sincronizar los
procesos que realiza.
Microprocesador
⦿ El microprocesador es un circuito integrado que es parte fundamental de un CPU
o unidad central de procesamiento.

⦿ Es un componente electrónico compuesto por cientos de miles de transistores


integrados en una placa de silicio.
⦿ Circuito de al menos alta escala de integración LSI (VLSI, ULSI)
⦿ Elementos: Flip-Flops
Contadores
Registros
Decodificadores
Comparadores
⦿ Considerado como un dispositivo lógico de propósito general o universal
(UNIVERSALIDAD)
⦿ Dispositivo síncrono
Microprocesador

⦿ PROGRAMABILIDAD
• Función definida a través de un programa.
• Programa
● Órdenes o INSTRUCCIONES.
Historia de los
Microprocesadores
Intel 4004
⦿1971 (Arq. Harvard)
⦿2300 transistores
⦿740 KHz
⦿Microprocesador de 4 bits
⦿ 41 Instrucciones de 8 bits
⦿5 Instrucciones de 16 bits
⦿Bus de direcciones de 12 bits
⦿16 registros (4 bits c/u)
⦿Pila de subrutinas de 3 niveles.
Mem Datos (4bits)
Mem Instrucciones (8 bits)

15
Intel 4040
⦿ 1974
⦿ 3000 transistores
⦿ Amplía el repertorio de instrucciones (+14) y el

número de registros (+8)


⦿ Introduce interrupciones
⦿ Pila de 7 niveles
⦿ Aplicaciones: juegos, instrumentación, terminales

de puntos de venta, desarrollo

16
Intel 8080
⦿ 1974
⦿ 6000 transistores
⦿ Microprocesador 8 bits
⦿ Primer micro “manejable”
⦿ Requería 3 alimentaciones: +5V, -5V y +12V
⦿ 2 MHz
⦿ Puntero de pila a memoria
⦿ Usado en las primeras computadoras
⦿ Copiado en los países de Europa del Este

17
Motorola 6800
⦿ 1974
⦿ 6800 transistores
⦿ 1 MHz
⦿ Una única alimentación de +5V
⦿ Pila localizable en cualquier zona de sus 64 KB de

memoria
⦿ Introduce el registro índice
⦿ Modos de direccionamiento
⦿ Series HC11 y HC12 de microcontroladores

18
6502
⦿ MOS Technology
⦿ 1975
⦿ Era el más barato
⦿ Una única alimentación +5V
⦿ Reduce el número de registros favoreciendo el
acceso a RAM
⦿ Menor frecuencia de trabajo
⦿ Apple I, II y III
⦿ Commodore
⦿ Atari 400, 800 y 600/800XL

19
Zilog Z80
⦿ Federico Faggin
⦿ 1976
⦿ 8500 transistores
⦿ Única alimentación +5V
⦿ Interrupciones vectorizadas
⦿ Repertorio avanzado de instrucciones
⦿ Menor precio
⦿ Uso en campos muy diversos
⦿ También es copiado en los países del Este

20
Intel 8085
⦿ 1977
⦿ 6500 transistores
⦿ 3 MHz
⦿ ‘5’ por los +5V de alimentación
⦿ Se vio eclipsado por el Z80 para los PCs
⦿ Se reconvirtió a controlador
⦿ Instrumental NASA y ESA (Polar, Sojourner)

21
Intel 8086
⦿ 1978
⦿ Microprocesador de 16 bits
⦿ 29000 transistores
⦿ 256 interrupciones HW/SW
⦿ Surgieron copias (NEC, AMD) y clones
⦿ Procesador del primer PC IBM
⦿ Inicia la familia x86.

22
Motorola 68000
⦿ 1979
⦿ 68000 transistores
⦿ Microprocesador CISC de 32 bits
⦿ 8 MHz
⦿ Primer miembro de la familia 68k, destinados a
competir con los x86 de Intel
⦿ Se usó en:
● Workstations (Sun-2)
● Ordenadores (Apple Macintosh)
● Consolas (SEGA)
● Calculadoras

23
Intel 8051
⦿ 1980
⦿ Microcontrolador para sistemas empotrados
⦿ NMOS -> CMOS
⦿ RAM on-chip de 128 bytes
⦿ ROM on-chip de 4 KB
⦿ Destinado a aplicaciones de control que requieran
bajo consumo, alta integración y alto rendimiento

24
Comparativa
4004 4040 8080 6800 6502 Z80 8085 8086 68000 8051

Nº 2300 3000 6000 6800 8500 6500 29000 68000


trans

Bus 4 bits 4 bits 8 bits 8 bits 8 bits 8 bits 8 bits 16 bits 16 bits 8 bits
datos

Bus 4 bits 4 bits 16 bits 16 bits 16 bits 16 bits 16 bits 20 bits 24 bits 16 bits
addr.

Frec. 740KHz 740KHz 2 MHz 1 MHz 1 MHz 4 MHz 3 MHz 5 MHz 8 MHz 12 MHz

Tec. PMOS PMOS NMOS NMOS NMOS HMOS HMOS HCMO NMOS
Fabr. 10 µm 10 µm 6 µm 3 µm 3 µm S 3 µm 3 µm

25
Microprocesador
A.L.U.

⦿ La Unidad Aritmético Lógica “Arithmetic Logic Unit” (ALU), es un circuito digital


que realiza operaciones aritméticas y lógicas.
⦿ 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.
⦿ 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.
A.L.U.

⦿ La ALU se compone básicamente de: Circuito


Operacional
Registros de Entradas
Registro Acumulador y
Registro de Estados
Conjunto de registros que hacen posible la
realización de cada una de las operaciones.
A.L.U.

⦿ 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) y
a través de un selector de operaciones comandadas por
las microordenes procedentes del secuenciador de la
Unidad de Control.
A.L.U.

⦿ 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
⦿ 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.
A.L.U.
⦿ 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
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 del ALU
• 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.
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.
ESQUEMA A.L.U.
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.
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.

• Registro de instrucciones:Contiene la instrucción que se está ejecutando en cada


momento.
• 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.
El reloj del sistema (system clock) es quien sincroniza y controla la velocidad de las
operaciones, esta velocidad se expresa en hertz lo cual significa una operación o ciclo
por segundo.
• 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
MEMORIAS
⦿ ROM:
- Memoria no volátil
- De lectura solamente
- Se encuentra grabado el programa monitor, fuente o
el sistema operativo.
- Almacena variables que no se modificarán
⦿ RAM:
- Memoria volátil
- Almacenamiento temporal de datos
- Parámetros de variables
- Resultados intermedios
- Partes de programa o programa de usuario
- Extensión de los registros de PG.
Interfaces de Entrada / Salida

⦿ Puertos (I\O):
- Interpretes entre dispositivos periféricos y el Up
- Función de liberar trabajo al Up
- Se refiere específicamente a una dirección lógica.
⦿ Familia de Circuitos que permiten adaptar, leer y/o
gobernar señales externas desde y hacia un sistema
microprocesador
Tipos de Interfaces Entradas / Salidas

⦿ A) Formato de la información.

⦿ B) Tipo de transferencia.

⦿ C) Tipo de señales eléctricas.

⦿ D) Dirección de los datos.

⦿ E) Funcionalidad.
Tipos de Interfaces Entradas / Salidas
⦿ A) Formato de la información:
• Paralelo: una línea por bit del dato y todos simultáneos.
• •Serie: todos los datos a través de la misma línea y
multiplexados en el tiempo
Tipos de Interfaces Entradas / Salidas
⦿ B) Tipo de transferencia:
• Síncrona: se envía o recibe una señal de reloj para sincronizar la transferencia de
entrada / salida
• Asíncrona: no existe señal de reloj de sincronización. Es necesario establecer un
protocolo de comunicación (“handshake”)

⦿ C) Tipo de señales eléctricas


• Digitales
• •Analógicas
• •Mixtas
Tipos de Interfaces Entradas / Salidas
⦿ D) Dirección de los datos:
• Entrada: todas las líneas son permanentemente de entrada
• Salida: líneas permanentemente de salida
• Programables: las líneas son configurables para actuar como
entradas o como salidas
⦿ E) Funcionalidad
• Interfaces generales: USART, Puertos paralelo
• Interfaces dedicadas: temporizadores, controlador disco
duro,...
• Coprocesadores de E/S
Buses
Conjunto de conductores que comunican CPU,
Memorias y Periféricos.
Bus de Direcciones, A.B.:
- Bus unidireccional
- Lleva información binaria
- Selecciona el periférico o memoria en donde
se va a realizar una operación de I\O
- Define la capacidad de memoria
Buses

Bus de Datos, D.B.:


- Bus bidireccional
- Trasporta información (datos, dirección o
instrucciones), entre uP, periféricos y
memorias.
- Se realiza entre dos elementos a la vez
pese a estar conectado a todos.
Buses

Control:
- Bus bidireccional
- Sincronización y sentido de transferencia de
información.
- - Buses, memorias y I\O
- - Interrupciones
Microprocesador de 4 bits
Microprocesador de 4 bits
⦿ Generador de Ciclo de Máquina
• Su función es sincronizar al sistema por medio de
señales de control que van a todos los registros.
• Es alimentado por una señal de reloj proveniente de un
oscilador de onda cuadrada.
⦿ Contador de Programa
• Contador binario, se incrementa por la acción del GCM.
Puede ser programable. Indica la dirección de la
localidad donde la siguiente instrucción
Microprocesador de 4 bits
⦿ ALU
• Compuertas AND,OR,XOR y NOT.
⦿ IR (Registro de Instrucciones)
• En el se almacena cada instrucción una vez que se ha
obtenido de la memoria.
⦿ Decodificador de instrucciones
• Convierte cada instrucción en una señal que seleccione
la operación apropiada de la ALU. (Deco binario a
decimal)
Microprocesador de 4 bits
⦿ Registro de Datos
• Almacena los datos provenientes de la memoria.
⦿ Acumulador
• Almacena el resultado de la última operación efectuada por
la ALU.
⦿ Acumulador Temporal
• Almacena temporalmente cualquier resultado de la ALU
antes de transferirlo al Acumulador.
⦿ Memoria del Programa
• Rom que contiene instrucciones y datos necesarios para que
el uP ejecute la tarea encomendada
Microprocesador de 4 bits
INSTRUCCIÓN DESCRIPCIÓN
0000 OR DEL ACUMULADOR CON EL DATO INMEDIATO
0001 AND DEL ACUMULADOR CON EL DATO INMEDIATO
0010 XOR DEL ACUMULADOR CON EL DATO INMEDIATO
0011 SUMA ARITMETICA DEL ACUMULADOR CON EL DATO
INMEDIATO
0100 COMPLEMENTAR EL ACUMULADOR
0101 NO OPERACIÓN
0110 CARGA EL ACUMULADOR CON EL DATO INMEDIATO
0111 SALTAR A LA DIRECCIÓN 0
Microprocesador de 4 bits
Operación del uP de 4 bits
⦿ GCM utiliza la señal del oscilador como reloj maestro para
generar 5 señales de control, desfasadas una respecto a la otra.
Operación del uP de 4 bits
⦿ El PC se incrementa cada vez que baja la señal E.
⦿ IR retiene la información proveniente de memoria
cuando la señal A pasa de 1 a 0.
⦿ Reg. Datos retiene la información de memoria
cuando la señal B pasa de 1 a 0.
⦿ Acc Temp. guarda el resultado de ALU cuando la
señal C pasa de 1 a 0.
⦿ Acc almacena la información de Acc Temp. cuando
la señal D pasa de 1 a 0.
Operación del uP de 4 bits
⦿ Suponemos que al encender el uP, PC=0 y la Señal A
(SA)= 1 lógico. Entonces:
• Las salidas de la Memoria mostrarán el contenido de la
localidad en la dirección 0 (PC=0).
• Las salidas de IR serán iguales a las salidas de la memoria
(SA=1).
• La única línea del DEC. INST. activa será la
correspondiente, en decimal, al código binario de la
instrucción almacenada en la dirección 0 de la memoria, que
esta en ese momento en IR.
• El Reg.Datos, Acc y Acc Temp. tendrán información
aleatoria, dado que las señales de control están en 0 lógico.

También podría gustarte