4. Representaciones Numéricas:
◦ Enteros Positivos:
Binario
Hexadecimal
Octal
◦ Enteros Negativos:
Signo – Magnitud
Complemento a Uno
Complemento a Dos
Representación de Números Reales:
◦ Coma Fija
◦ Coma Flotante
Representación de Caracteres o Alfanumérica:
◦ EBCDIC
◦ ASCII
◦ UNICODE
4
REPRESENTACIÓN DE DATOS
5. Enteros Negativos:
Rango de representación de los números negativos
Representación de Números Reales:
Ejemplo: 0,000002310 = 2,3 · 10-6
Coma fija Coma flotante
◦ Coma Flotante:
1 7 1 23
◦ IEEE 754: 32 bits
5
Signo Exponente Signo Mantisa
10. Arquitecturas:
◦ CISC (Complex Instruction Set Computer,
Computador con Juego de Instrucciones Complejo)
◦ RISC (Reduced Instruction Set Computer,
Computador con Juego de Instrucciones Reducido)
Objetivos:
◦ ↑ Velocidad
◦ ↓ Complejidad del HW
Incrementar el rendimiento del microprocesador
10
11. 11
Tiempo de ejecución
(nº Inst. · nº CI · Tc )
Mejora del Rendimiento
CISC
↑(nº CI, Tc), ↓nº Inst.
RISC
↓(nº CI, Tc), ↑nº Inst.
nº Inst: número de instrucciones
nº CI: número de ciclos por instrucción
Tc: duración del periodo de ejecución
12. 12
CISC:
◦ Juego de instrucciones complejo
◦ Menos necesidad de ocupación de memoria
◦ Facilidad de compilación
◦ Lentitud ejecución de instrucciones en paralelo
(pipeline)
◦ Instrucciones de duración variable
◦ Muchos modos de direccionamiento
◦ Elevado número de formatos de instrucción
14. Ejemplo: Z = X·Y
CISC
MULT Z, X, Y
RISC
LOAD A, X
LOAD B, Y
MULT A, B
STORE Z, A
X = 3:3
Y = 5:2
Z = 6:4
14
x
Y
z
15. Componentes Microprocesador:
◦ Registros Internos
◦ Unidad Aritmético – Lógica (ALU)
◦ Unidad de Control (UC)
15
UC
ALU REGISTROS
CPU
16. ¿ Registro ?
Situación: vértice superior pirámide
jerarquía de memoria
Registros, tipos:
Registros de Datos
Registros de Memoria
Registros de Propósito General
Registros de Propósito Específico
Etc
16
17. Unidad Aritmético Lógica (ALU)
Program Status Word (PSW), microcontrolador
8051
17
MSB LSB
CY AC F0 RS1 RS0 OV F1 P
Selección
de
Operación
18. Unidad de Control (UC o CU)
◦ Funciones Básicas:
Tomar las instrucciones de memoria
Decodificar o interpretar las instrucciones
Ejecutar las instrucciones
◦ Elementos:
Registro Contador de Programa (CP o PC)
Registro de Instrucciones (RI o IR)
Decodificador de instrucciones
Reloj
Generador de Señales o Secuenciador
18
19. Arquitectura Unidad de Control
19
SECUENCIADOR
BUS INTERNO
MICROORDENES
RELOJ
DECODIFICADOR
RI
PC
20. ¿ Instrucción ?
Ciclo de Instrucción
20
BÚSQUEDA DE LA
INSTRUCCIÓN
DECODIFICACIÓN DE
LA INSTRUCCIÓN
¿ BÚSQUEDA DE
OPERANDOS ?
EJECUCIÓN DE LA
INSTRUCCIÓN
ALMACENAMIENTO
DE RESULTADOS
21. Fases de Ejecución:
◦ Búsqueda de la Instrucción
◦ Decodificación de la Instrucción
Formato de Instrucción:
◦ Código de Operación
◦ Dirección del Operando/os u Operando/os
21
CÓDIGO DE OPERACIÓN DIRECCIÓN U OPERANDOS
22. Clasificación:
◦ Instrucciones de transferencia de datos
◦ Instrucciones aritméticas
◦ Instrucciones lógicas
◦ Instrucciones de control del flujo del programa
(bifurcaciones, bucles, procedimientos, etc)
◦ Instrucciones de entrada y salida
Tipos (según formato de instrucción):
◦ Tres Operandos o Tres Direcciones
◦ Dos Operandos o Dos Direcciones
◦ Un Operando o Una Dirección
◦ Cero Operandos o Sin Dirección
22
23. Instrucción de Tres Direcciones
Instrucción de Dos Direcciones
Instrucción de Una Dirección
23
CÓDIGO DE
OPERACIÓN
OPERANDO 1 OPERANDO 2
DIRECCIÓN DE
RESULTADO
CÓDIGO DE
OPERACIÓN
OPERANDO 1 OPERANDO 2
CÓDIGO DE
OPERACIÓN
DIRECCIÓN DE
RESULTADO
OPERANDO 1 OPERANDO 2
CÓDIGO DE
OPERACIÓN
OPERANDO
24. Instrucción sin Dirección
◦ Asociada a la Pila
◦ Ejemplo: ADD
(SP) ← (SP) + (SP – 1)
24
B
C
B + C
ANTES DESPUÉS
SP
SP
C
¿ Tipo de Pila ?
25. Algunos Modos de Direccionamiento:
Inmediato
Registro
Directo
Indirecto
Indexado
Inmediato:
MOV A, #15d A ← 15d
25
CÓDIGO DE OPERACIÓN OPERANDO
26. Registro:
SUBB A, R2 A ← A – (R2)
Directo:
MOV A, 79h A ← 398d
Indirecto:
ADD A, @25h A ← A + [25h (1Fh)]
A (final) ← 71d
Indexado:
MOVC A, @A+PC
26
A (Inicio): 47d
1Fh: 24d
27. 27
“n” Direcciones
de Memoria
Líneas de Control
OE
,
CE
“m” Líneas de Datos
m
n
·
2
Celdas o posiciones de memoria numeradas
de forma consecutiva
“m” Líneas de Datos
28. ROM (Read Only Memory, Memoria de Solo Lectura):
◦ No volátil
◦ Solo lectura
◦ Rutinas de la ROM:
Arranque
BIOS
◦ Variantes:
PROM (Programmable Read Only Memory, Memoria Programable
de Solo Lectura)
EPROM (Erasable Programmable Read Only Memory, Memoria
Programable y Borrable de Solo Lectura)
EEPROM (Electrically Erasable Programmable Read Only Memory,
Memoria Programable de Solo Lectura Borrable Eléctricamente)
FLASH
28
29. Simbología Normalizada
29
0 ROM
1
n
2
EN
VARIABLES
DE
DIRECCION
HABILITACION
A
A
A Om
1
O
O0
2 .m
n
A
2 -1
n
O
2 .m
ROM
A
n
2
1
0
O
2 -1
n
n
EN
1
O
A
A m
O
A 0
O
32. Simbología Normalizada
32
0 R A M
1
1 2
2
O E
A
1
O
O 0
A
B K
O
A
A O 2
A
A
4
O
O 3
O 7
6
O
5
O
A
A
A
7
4
D
D
6
D
D 5
3
D
2
D
D 1
0
D
C S
W E
S 0
1
S
S 2
W E
C S
O E
1 2
S
SELECCIÓN OPERACIÓN
X 1 X Desabilitación general Alta impedancia
1 X 1 Desabilitación general Alta impedancia
0 0 X Si hay datos en las entradas “D” Escritura
1 0 0 Si hay datos en las entradas “D” Lectura
WE CS OE
34. Comunicación:
◦ Buses Principales:
Direcciones
Datos
Control
◦ Direccionalidad en la transmisión de la Información:
Simplex
Half Duplex o Semiduplex
Full Duplex o Dúplex
◦ Temporización:
Síncrono
clock skew
Asíncrono
Handshake
34
35. Tamaño del Bus:
◦ Separado o Demultiplexado
◦ Multiplexado
35
37. Inconvenientes y Ventajas
◦ Inconvenientes:
Cuello de botella
El ancho de banda del bus limita la velocidad en las
transacciones entre los componentes del sistema
Longitud del bus
Número de dispositivos conectables
◦ Ventajas:
Flexibilidad del sistema
Los periféricos son compartidos por todos los
elementos conectados
Economía
37
41. Programa:secuencia de instrucciones
Lenguajes de Programación
41
MÁQUINA
ENSAMBLADOR
ALTO NIVEL
42. Lenguaje Ensamblador
.MODEL SMALL
.CODE
MOV AL, 5 ;Carga en AL el valor 5
MOV BL, 25
MUL BL ;Multiplícalo por 25
MOV BL, 3
DIV BL ;Divide el resultado entre 3
AND AH, 7 ;Operación AND entre el resto de la operación anterior y 7
MOV BL, AH
MOV BH, 0 ;Almacena el resultado en BX
MOV AH, 4ch
INT 21h
END
42
43. Lenguajes de Alto Nivel
◦ C, C++, Basic, etc
◦ Independientes del microprocesador
◦ Ejemplo:
int i,j,k;
if( i == 2) //i es igual a 2?
{
j = 6; //si, ejecutar sentencias dentro de las llaves
k = 0X04;
}
//no, fin de condicional no se ejecuto ninguna
sentencia
43