arquitectura de ordenadores
DESCRIPTION
Resumen de la materiaTRANSCRIPT
Diseño ALU de 4 bits
Unidad lógica
S1 S0 Operación
0
0
1
1
0
1
0
1
AND
OR
Â
XOR
Unidad aritmética
S1 S0 Operación
0
0
1
1
0
1
0
1
Suma
Resta
INC
DEC
Unidad de corrimiento
S1 S0 Operación
0
0
1
1
0
1
0
1
→
←
A
Carga
Operaciones de registros y control de bus de datos
Bus de datos
Bus de direcciones
Bus de control
S
0
1
A → B
A ← B
Aritmética de computadores
Sistema de numeración
Decimal
Base: 10
Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Binario
Base: 2
Dígitos: 0, 1
Hexadecimal
Base: 16
Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
De cualquier base a decimal: Sólo multiplicamos los dígitos con un peso en el sistema de referencia correspondiente.
De decimal a cualquier base: Se divide el número decimal para la base.
Complemento a 1
Ṅ = (2n - N) – 1, n = # de bits
Complemento a 2
N* = 2n – N
Ej.:
Hallar el complemento a 16 de 4A5 hex
4A5H 0100 1010 0101
B5AH 1011 0101 1010
+ 1
B5BH 1011 0101 1011
Formatos de datos en computadoras
Letras, números, símbolos, instrucciones
Código ASCII
7 bits = 128 símbolos
8 bits = 256 símbolos
DB directiva de lenguaje ensamblador para enteros de 8 bits y datos ASCII
U
Q
0010 0000
L
A
R
T
N 0100 1110
E 0100 0101
C 0100 0011
Datos BCD (decimal codificado en binario)
153 decimal = 0001 0101 0011 BCD
153 decimal = 99 hex = 1001 1001 binario
BCD empaquetados 2 dígitos decimales = 8 bits
BCD 1 digito en 4 bits
BCD desempaquetados 1 digito decimal = 8 bits
Datos en Byte (8 bits)
Numero sin signo
Numero con signo
Datos en Word (16 bits)
Datos en DWord (32 bits)
Transformación de parte fraccionaria en decimal a cualquier base
Procedimiento
1) Multiplicar la fracción decimal por la base numérica.2) Guarde todo el resultado, la parte entera (aun si es cero).
Se escribe inmediatamente a la derecha del punto.3) Repita 1 y 2 hasta que la parte fraccionaria del paso 2 sea cero.
Formatos para almacenar datos en una computadora
Números en punto flotante
Se denominan así a los representantes internas al procesador que modelan a los números reales.
0,023 = 2,3 * 10-2
Se dice que el número esta normalizado cuando al expresarlo en notación exponencial, el digito a la izquierda no es cero.
En binario
(0, 01101) b = (1,101 * 2-2) b
Norma IEEE 754
Expresa el número de punto flotante de 32 bits normalizado de la siguiente forma:
(-1)5 * 1 * M2 * 2Ee
Ee = representación externa del exponente
Ei = representación interna del exponente
S = 0 números positivos
S = 1 números negativos
Tipo de instrucciones en los microprocesadores
Transferencia de datos Aritméticas Manipulación de bits Instrucciones para cadenas Transferencia de programa Control del procesador
Arquitectura Von Neumann
Ventajas
1) Hardware es simple (menor circuitería).
Desventajas
1) Bus principal es compartido datos, código entrada y salida.2) El tamaño de los datos # bits está limitado el tamaño de la instrucción porque ocupan la
misma memoria.3) Cuello de botella: limitación en la velocidad de operación.
Arquitectura Von Harvard
Ventajas
1) Buses de codificado para datos e instrucciones.2) Tamaño de datos # bits no está limitado por el tamaño de instrucciones bits.3) Se elimina el cuello de botella.
Desventajas
1) Hardware complejo (aumenta circuitería).2) Mejorar costos.
Paralelismo Capacidad de procesar cierto número de instrucciones simultaneas, en diversas formas de ejecución.
Microprocesador Recupe
rar 1
Decodificar1
Ejecutar1
Recuperar2
Decodificar2
Ejecutar2
Recuperar3
Decodificar3
Ejecutar3
CanalOcupad
o Ocioso Ocupa
do Ocios
o Ocupa
do Ocios
o Ocupa
do Ocios
o Ocupa
do
Unidad de interface de canal Recuper
ar1
Recuperar2
Recuperar3
Recuperar4
Almacenar1
Recuperar5
Recuperar6
Leer2
Recuperar7
Unidad de instrucciónDecodifi
car1
Decodificar2
Decodificar3
Decodificar4
Ociosa
Decodificar5
Decodificar6
Ociosa
Unidad de ejecución
Ejecutar1
Ejecutar2
Ejecutar3
Ejecutar4
Ociosa Ejecutar5
Ejecutar6
Arquitectura de MultiprocesamientoCuando se desea incrementar el desempeño más allá de lo que permite la técnica de segmentación delcauce (limite teórico de una instrucción por ciclo de reloj), se requiere utilizar más de un procesadorpara la ejecución del programa de aplicación.Las CPU de multiprocesamiento se clasifican de la siguiente manera:● SISO – (Single Instruction, Single Operand ) computadoras independientes● SIMO – (Single Instruction, Multiple Operand ) procesadores vectoriales● MISO – (Multiple Instruction, Single Operand ) No implementado● MIMO – (Multiple Instruction, Multiple Operand ) sistemas SMP, ClustersProcesadores vectoriales – Son computadoras pensadas para aplicar un mismo algoritmo numérico auna serie de datos matriciales, en especial en la simulación de sistemas físicos complejos, tales comosimuladores para predecir el clima, explosiones atómicas, reacciones químicas complejas, etc., dondelos datos son representados como grandes números de datos en forma matricial sobre los que se deben se
aplicar el mismo algoritmo numérico.En los sistemas SMP (Simetric Multiprocesesors), varios procesadores comparten la misma memoriaprincipal y periféricos de I/O, Normalmente conectados por un bus común. Se conocen comosimétricos, ya que ningún procesador toma el papel de maestro y los demás de esclavos, sino que todostienen derechos similares en cuanto al acceso a la memoria y periféricos y ambos son administrados porel sistema operativo.Búsqueda EjecuciónEspera EsperaLos Clusters son conjuntos de computadoras independientes conectadas en una red de área local o porun bis de interconexión y que trabajan cooperativamente para resolver un problema. Es clave en sufuncionamiento contar con un sistema operativo y programas de aplicación capaces de distribuir eltrabajo entre las computadoras de la red.
Conjunto de Instrucciones: Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del inglés Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificación que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de una CPU. El término describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos.
Existen 3 tipos:
CISC: En arquitectura computacional, CISC (del inglés Complex Instruction Set Computer, en español Computador con Conjunto de Instrucciones Complejas) es un modelo de arquitectura de computadores. 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, AMD x86-64 usada en la mayoría de las computadoras personales actuales.
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.
RISC: En arquitectura computacional, RISC (del inglés Reduced Instruction Set Computer, en español Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseño de CPU generalmente utilizado en microprocesadores o microcontroladores con las siguientes características fundamentales:
Instrucciones de tamaño fijo y presentado en un reducido número de formatos.Sólo las instrucciones de carga y almacenamiento acceden a la memoria de 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, SPARC son ejemplos de algunos de ellos.
RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas 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.
SICS: SISC (Simple Instruction Set Computing) es un tipo de arquitectura de microprocesadores orientada al procesamiento de tareas en paralelo. Esto se implementa mediante el uso de la tecnología VLSI, que permite a múltiples dispositivos de bajo costo que se utilicen conjuntamente para resolver un problema particular dividido en partes disjuntas. La arquitectura RISC es un subconjunto del SISC, centrada en la velocidad de procesamiento debido a un conjunto de instrucciones reducido.1
Microprocesadores SISC (o RISC) nunca han logrado amenazar el amplio dominio de los procesadores CISC en los ordenadores personales, debido a su popularidad y al aumento constante en la capacidad de procesamiento de los mismos.2 Por lo tanto, el uso de RISC y SISC sigue limitado a necesidades muy específicas de procesamiento, como en los procesadores DSP.
Microarquitectura: la microarquitectura (a veces abreviada como µarch o uarch), también llamada como organización de la computadora, es la manera que una arquitectura del conjunto de instrucciones (ISA) es implementada por el procesador. Un ISA dado puede ser implementado con diferentes microarquitecturas.1 Las implementaciones pudieran variar debido a diferentes objetivos de un diseño dado o debido a los cambios en la tecnología.2 La arquitectura de computadora es la combinación del diseño determinado de la microarquitectura y del conjunto de instrucciones.
Conjunto de instrucciones (ISA):
Celdas de almacenamiento: Registros, memorias, etc. El conjunto de instrucciones de la máquina: Conjunto de operaciones posibles Formato de la Instrucción: El tamaño y el significado de los campos dentro de la Instrucción
Ciclo de Instrucciones
Instrucción de 4 Direcciones
add ResAddr Op1Addr Op2Addr Segmento de Datos Seg. De Codigo
Instrucción de 3 Direcciones
Add ResAddr Op1Addr Op2Addr
Diferencia entre la Instrucción de 3 y 4 direcciones es que aparecen registros y un contador de programa en la de 3 direccionesRegistro: son localidades de memoria fuera de memoria de códigos y datos.Instrucción de 2 Direcciones
Add Op2Addr Op1AddrVentaja: es una instrucción más corta ya que el resultado lo guarda en el mismo Op2AdrrDesventaja: no podríamos ver el dato anterior
Instrucción de 1 Dirección
Add Op1Addr
Aparece Registro AcumuladorInstrucción de 0 Direcciones
Segmento de Datos
Segmento de Codigo
Stack
Evaluación de expresiones para 3-0 instrucciones de dirección
NO TIENE QUE ESTAR DIRECCIONANDO A MEMORIA
Modos de direccionamiento
Fundamentos de lenguaje ensambladorEstructura del i8086El microprocesador tiene 14 registros de 16 bits
Registro de datos AX (AH,AL) BX (BH,BL) CX (CH,CL) DX (DH,DL) Registro estado del procesador PSW Registro de punteros SP -Puntero de Pila BP -Puntero base pila
SI -Registro de índice DI -Registro de índice IP -Contador de programa Registro de segmento CS -Segmento de código DS -Segmento de datos ES -Segmento extra SS -Segmento pila
Instrucción.- son aquellos neumónicos que son convertidos por el ensamblador por el código máquina que puede ejecutar el núcleo del microprocesador. Tipo de Instrucción
Efecto Ejemplos
Transferencia de datos
Mueven información entre registro y registro de posiciones o entre registros y puertos de entrada y salida
MOV,PUSH,POP, etc.
Instrucciones Aritméticas
Realizan operaciones aritméticas
ADD, ADC, SUB, SBB, etc.
Manejo de bits Realizan operaciones de desplazamiento, rotación y lógicas sobre registros o posiciones de memoria
SAL/SHL, SAR, SHR, ROL,ROR, RCL, RCR.
Transferencia de control
Sirven para controlar la ejecución de instrucciones del programa
Instrucción de entrada y salida
Mueven información entre registros y puertos de entrada y salida
IN, OUT
Instrucción de manejo de
Realizan operaciones con cadena de bytes o
Instrucciones de salto, bucles y
cadenas palabras llamadas aProcedimientos.
Instrucción de interrupción
Provocan que el microprocesador realice un servicio que se lo solicita diferentes a las instrucciones a las que se están ejecutando
REP, REPE/REPZ, REPNE/REPNZ, MOVS/MOVSW, CMPS, etc.
Directicas.- son Pseudo-Instrucciones que controla el proceso de ensamblador del programa, pero no son parte del código, son indicaciones al ensamblador de cómo tiene que armar el programa.
Bibliografía:
http://es.wikipedia.org/wiki/Simple_Instruction_Set_Computing http://es.wikipedia.org/wiki/Reduced_instruction_set_computing http://es.wikipedia.org/wiki/Complex_instruction_set_computing http://es.wikipedia.org/wiki/Microarquitectura http://es.wikipedia.org/wiki/
Conjunto_de_instrucciones#Caracter.C3.ADsticas_que_debe_tener_un_conjunto_de_instrucciones