ICCeISW 03

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 31

02/09/2017

Introducción a la computación
e ingeniería de software

Unidad 2 - Principios de la computación


Sesión 3 – Ejecución de programa

Prof. Elizabeth Murakami

Arquitectura de un computador

 CPU (Unidad central de proceso)


 Unidad aritmética lógica
 Compuesto por circuitos que realizan
operaciones sobre datos
 Unidad de control
 Coordina las actividades de la maquina
 Registros
 Propósito general
 Propósito especial

1
02/09/2017

Definiciones

 UNIDAD ARITMETICA LÓGICA


Toma uno o dos operandos y calcula el resultado
correspondiente a la operación que se le indica. Las
operaciones son por ejemplo: sumas o restas, la
complejidad de las operaciones depende de la
tecnología del procesador.

Definiciones

 UNIDAD DE CONTROL
Interpreta las instrucciones almacenadas en la
memoria y genera las señales (secuencias de
microórdenes) para que los demás elementos realicen
lo que indica la instrucción.

2
02/09/2017

Arquitectura de un computador

Arquitectura de un computador
 Bus
Una vía de comunicación
que conecta dos o
más dispositivos.

3
02/09/2017

Estructura del Bus

Líneas/bus de datos: camino para transferir datos entre el resto de componentes


de un computador.Su anchura (número de líneas eléctricas) suele ser una
potencia de dos (8=2^3, 16=2^4, 32=2^5, 64=2^6, ...).
Líneas/bus de direcciones: designan laposición/dirección de los datos. Son salidas
de laCPU/procesador y determinan capacidad de direccionamiento.
Líneas/bus de control: controlan el acceso y uso de las líneas/buses anteriores.

4
02/09/2017

Arquitectura de un computador

 Mainboard (Tarjeta Madre)


Parte principal de un
computador que aloja todos
los componentes
permitiendo su interacción.

5
02/09/2017

Registros

 Dan al CPU un espacio de trabajo (almacenamiento


temporal)
 La cantidad y función varía dependiendo del diseño
del procesador
 Conforman el nivel más alto en la jerarquía de
memoria
Tipos
 Propósito general
 Propósito específico
 Datos
 Direcciones
 Códigos de condición

6
02/09/2017

Componentes de Alto nivel

14

7
02/09/2017

Registros del procesador


Dentro de la CPU hay un conjunto de registros que ofrecen un nivel
de memoria mas rapido y pequeño que la memoria principal.
•Registros visible al usuario.
•Registros de control y de estado.
El registro visible al usuario es aquel que puede ser referenciado
por medio del lenguaje maquina que ejecuta el procesador; accesible
a todos los programas tanto los de aplicación como los del sistema;
los registros normalmente disponibles son:
•Registro de datos.
•Registros de direccion.
•Registro indice
•Puntero de segmento.
•Puntero de pila
15

Registros del procesador(cont.)


Los registros de control y de estado se emplean para controlar las
operaciones del procesador, la mayor parte de estos registros no son
visibles para los usuarios , algunos pueden ser accesibles a las instrucciones
de maquina ejecutadas en un modo de control.
MAR: Memory Address Register.
MBR: Memory Buffer Register.
IOAR: Input Output Address Register.
IOBR: Input Output Buffer Register.
Ademas de estos los siguientes registros son esenciales en la ejecucion de
instrucciones.
•Contador de programa(PC).
•Registro de instrucción(IR)
•Program status word(PSW) contiene codigos de condicion junto con otras
informaciones de estado.
•Signo. Supervisor
•Cero. Igualdad.
Acarreo. Se produce acarreo mas alla del bit mas significativo.
•Desbordamiento.
•Habilitar/Inhabilitar interrupciones.
16

8
02/09/2017

Registros del procesador(cont.)

El procesador lee una instrucción de la memoria(se


incrementa el PC).
La instrucción se carga en un registro del procesador (IR)
• Procesador- memoria: Se transfiren datos a memoria o
viceversa.
• Procesador-A/S: Se transfieren datos desde o hacia un
dispositivo de periferico(entre el procesador y un modulo de
E/S).
• Tratamiento de datos:El procesador realiza alguna
operación artmetica o logica sobre los datos.
• Control: La instrucción pide se altere la secuencia de
ejecucion.
Ejemplo: El uP lee una instrucción 149 (PC=150) esta
especifica que la siguiente instruccion sea la de la ubicación
182, el UP debe ajustar entonces el PC=182
17

Funcionamiento del
Computador

18

9
02/09/2017

Tipos de Instrucciones

La instrucción captada se almacena en el registro de instrucción


(IR). El CPU interpreta la instrucción que puede ser en general del
siguiente tipo:
 CPU-Memoria Transferir datos del CPU a la memoria o viceversa.
 CPU-ES Transferir datos a o desde el exterior mediante
transferencias entre el CPU y un módulo de E/S.
 Procesamiento de datos El CPU debe realizar alguna operación
aritmética o lógica con los datos.
 Control Alteración de la secuencia de ejecución.

Una instrucción puede implicar una combinación de las acciones


anteriores.

19

Concepto de programa almacenado

 Un programa puede ser codificado como un flujo de


bits y almacenados en la memoria principal. Desde
aquí, el CPU extrae las instrucciones y las ejecuta. Este
programa puede ser modificado fácilmente.

Arquitectura planteada por Von Neuman

10
02/09/2017

Terminologia

 Instrucción de máquina : Una instrucción (o


comando) codificados como patrón(o flujo) de bits
reconocible por la CPU.
 Lenguaje maquina : conjunto de instrucciones
reconocidas por una maquina

Tipos de instrucciones máquina

 Transferencia de datos: copiar datos de una ubicación


a otra.
 Aritmética / Lógica: utilizar los patrones de bits para
calcular nuevos patrones de bits.
 Control: direcciona la ejecución del programa

11
02/09/2017

RISC y CISC

 RISC (Conjunto reducido de instrucciones de calculo).


Pocas instrucciones, simples, eficientes y rápidas.
Ejemplo: PowerPC (desarrollado por IBM, motorola y
Apple)
 CISC (Conjunto complejo de instrucciones de calculo).
Muchas instrucciones, una de ellas puede
implementar varias instrucciones RISC. Ejemplo: Intel
x86

Sumando valores almacenados en


memoria

 Paso 1
 Obtener uno de los valores que se añadirán de la memoria y
colocarlos en un registro
 Paso 2
 Obtener el otro valor que se añadirá de la memoria y colocarlo en
otro registro.
 Paso 3
 Activar el circuito de suma con los registros utilizados con un
paso 1 un 2 como entradas y otro registro designado para
obtener el resultado.
 Paso 4
 Almacenar el resultado en la memoria.
 Paso 5
 Parar

12
02/09/2017

Ejemplo de una arquitectura de un


computador

Partes de una instrucción para máquina


 Codigo_op: (código operación) Especifica la operación a
ejecutar.
 Operandos : Proporciona información mas detallada
acerca de la operación. La interpretación del operando
varia según el op_codigo
Op_Codigo Operando

Actual patrón de bits (16 bits)

Formato hexadecimal (4 dígitos)

13
02/09/2017

Op_Code Operando Descripción


1 RXY Carga el registro R con el patrón de bits que se encuentra en la dirección de
memoria XY
2 RXY Carga el registro R con el patrón de bits XY
3 RXY Guarda el patrón de bits encontrado en el registro R en la memoria cuya
dirección es XY
4 0RS Mueve el patrón de bits del registro R al S
5 RST Adiciona los patrones de bits que se encuentran en los registros S y T
(representado en la técnica complemento a 2) y el resultado lo almacena
en el registro R.
6 RST Adiciona los patrones de bits que se encuentran en los registros S y T
(representado en punto flotante) y el resultado lo almacena en el registro
R.
7 RST Aplica el operador OR en los patrones de bits contenidos en los registros R
y T, el resultado lo almacena en R.
8 RST Aplica el operador AND en los patrones de bits contenidos en los registros
R y T, el resultado lo almacena en R.
9 RST Aplica el operador XOR en los patrones de bits contenidos en los registros R
y T, el resultado lo almacena en R.
A R0X Rota el contenido del registro R un bit a la derecha X veces. Inicia en el
orden inferior hacia el orden superior.
B RXY Salta a la instrucción ubicada en la dirección de memoria XY si el patrón del
bit ubicado en el registro R es 0.
C 000 Termina la ejecución del programa

Decodificando
Instrucción

Op_codigo 3 significa
Identifica la dirección de la celda
para almacenar el
de memoria que recibirá datos.
contenido de un
registro en un celda
de memoria.

Identifica el registro cuyo contenido


será almacenado.

14
02/09/2017

Programa de suma de números


Cargar el registro 5 con el patrón
encontrado en la celda de memoria de la
dirección 6C

Cargar el registro 6 con el patrón


encontrado en la celda de memoria de la
dirección 6D

Sumar el contenido del registro 5 y 6,


guardando el resultado en el registro 0.

Almacenar el contenido del registro 0 en


la celda de memoria con la dirección 6E.

Parar

Ejercicio

 Interpretar las siguiente instrucciones con el lenguaje


de maquina presentado:
 368A
 BADE
 803C
 40F4

15
02/09/2017

Programa

 Secuencia de pasos
 En cada paso se ejecutan operaciones aritméticas o
lógicas
 Para cada operación, un conjunto diferente de
señales de control son necesarias.

Componentes que intervienen

 La unidad de control y la unidad Aritmética y lógica


(CPU)
 Datos e instrucciones necesarias para ser ingresadas
al sistemas y obtener resultados
 Input/output
 Almacenamiento temporal de código y resultados
 Memoria principal

16
02/09/2017

Ejecución del programa

 Controlado por 2 registros de propósito especial.


 Contador de programa: Dirección de la siguiente
instrucción.
 Registro de instrucción: Instrucción actual.
 Ciclo de la máquina.
 Recuperar
 Decodificar
 Ejecutar

Ejecución del programa

 La unidad de control extrae un programa de la


memoria, decodifica las instrucciones y las ejecuta.
 La maquina sola no sabe que son datos y que un
programa, el computador solo ejecuta de acuerdo a el
contador de programa

17
02/09/2017

Ciclo de la máquina
1. Recuperar la
siguiente instrucción
de memoria (indicado 2. Decodificar el patrón
por el contador del de bits en el registro de
programa) y luego instrucción
incrementar el
programa contador.

3. Ejecutar la acción
requerida por la
instrucción en el
registro de
instrucción

18
02/09/2017

19
02/09/2017

20
02/09/2017

Ejemplo
Sea una maquina hipotetica cuyas caracteristicas son :
• El procesador tiene un unico registro de datos el
Acumulador(AC).
• Tanto las instrucciones como los datos son de 16 bits de
longitud.
• El formato de instrucción dedica 4 (16 codigos de
operación diferentes)bits para el codigo de operación y
12(4096=4K palabras) bits para direccionar la memoria
directamente.
0 3 4 15
Cod . Op. Direccion

0 1 15
S Magnitud

41

Ejemplo(cont.)
•Lista parcial de los códigos de operación:
• 0001 = Cargar de la memoria la acumulador.
• 0010 = Almacenar el AC en memoria.
• 0101 = Sumar al AC el contenido de la memoria
Registros de la CPU
Memoria

300 1 9 4 0 3 0 0 PC

301 5 9 4 1 AC

302 2 9 4 1 1 9 4 0 IR
.. ..
. .
•Registros internos de la CPU:
940 0 0 0 3 •Contador de programa(PC):direccion de la instrucción a ser leida.
0 0 0 2 •Registro de instrucción(IR):Instrucción que esta ejecutandose
941 •Acumulador(AC): Almacenamiento temporal

El procesador contiene 300, la direccion de la


primera instrucción.

42

21
02/09/2017

Ejemplo(cont.)
•Los primeros 4 bits del IR indican que se cargara el AC,
los 12 bits restantes indican la direccion.

Registros de la CPU
Memoria

300 1 9 4 0 3 0 0 PC

301 5 9 4 1 0 0 0 3 AC

302 2 9 4 1 1 9 4 0 IR
.. ..
. .

940 0 0 0 3

941 0 0 0 2

43

Ejemplo(cont.)
Se incrementa el PC y se lee la instrucción siguiente

Registros de la CPU
Memoria

300 1 9 4 0 3 0 1 PC

301 5 9 4 1 0 0 0 3 AC

302 2 9 4 1 5 9 4 1 IR
.. ..
. .

940 0 0 0 3

941 0 0 0 2

44

22
02/09/2017

Ejemplo(cont.)
El contenido anterior del acumuladory el contenido dela
ubicación 941 se suman y el resultado se almacena en el
AC
Registros de la CPU
Memoria

300 1 9 4 0 3 0 1 PC

301 5 9 4 1 0 0 0 5 AC

302 2 9 4 1 1 9 4 0 IR
.. ..
. .
0003 + 0002 = 0005
940 0 0 0 3

941 0 0 0 2

45

Ejemplo(cont.)
Se incrementa el PC y se lee la instrucción siguiente.

Registros de la CPU
Memoria

300 1 9 4 0 3 0 2 PC

301 5 9 4 1 0 0 0 5 AC

302 2 9 4 1 2 9 4 1 IR
.. ..
. .

940 0 0 0 3

941 0 0 0 2

46

23
02/09/2017

Ejemplo(cont.)
El contenido de AC se almacena en la ubicación 941.
Son 3 ciclos de instrucción (c/u consta de un ciclo de
lectura y otro de ejecucion)
Registros de la CPU
Memoria

300 1 9 4 0 3 0 2 PC

301 5 9 4 1 0 0 0 5 AC

302 2 9 4 1 1 9 4 0 IR
.. ..
. .

940 0 0 0 3

941 0 0 0 5

47

Ejecución de un Programa

48

24
02/09/2017

Diagrama de Estados ciclos de


instrucción

49

Ejecución del programa de suma de


números
El contador de programa, contiene
la dirección de la primera
instrucción

El programa es
almacenado en
la memoria
principal
iniciando en la
dirección A0

25
02/09/2017

Ejecutando el paso Recuperar(Fetch)

Al inicio del paso recuperar la instrucción inicial en la dirección


A0, es recuperado de la memoria y ubicada en el registro de
instrucción

Ejecutando el paso Recuperar(Fetch)

El contador de programa es incrementado desde este punto hacia


la siguiente instrucción.

26
02/09/2017

Comunicación con otros dispositivos


 Controlador: Un dispositivo intermediario que
maneja la comunicación entre el computador y otro
dispositivo.
 Existen controladores especializados para cada tipo de
dispositivo
 Controladores de propósito general (USB y FireWire)

FireWire USB

Comunicación con otros dispositivos


 Puerto: El punto en el cual un dispositivo se conecta a
un computador

27
02/09/2017

Comunicación con otros dispositivos

 Puerto: El punto en el cual un dispositivo se conecta a


un computador
 E/S mapeada en memoria : Determinadas direcciones
de memoria están reservadas para comunicar con los
periféricos.

Controladores unidos al bus de la


máquina

28
02/09/2017

Representació conceptal del mapa de


memoria I/O

Comunicación con otros dispositivos

 Acceso directo a memoria (DMA): La memoria


principal da el acceso a más de un controlador del bus
 Cuello de botella de Von Neumann: La falta de buses
impide el aumento de velocidad
 Handshaking (intercambio de pulsos de
sincronización ) : El proceso de coordinación de la
transferencia de datos entre los componentes

29
02/09/2017

Comunicación con otros dispositivos

 Comunicación paralela: Varios caminos de


comunicación de transferencia de bits
simultáneamente.
 Comunicación en serie: Los bits se transfieren uno
tras otro a través de una sola ruta de comunicación

Tasa de comunicación de datos

 Unidades de medida
 Bps: Bits por segungo
 Kbps: Kilo-bps (1,000 bps)
 Mbps: Mega-bps (1,000,000 bps)
 Gbps: Giga-bps (1,000,000,000 bps)
 Ancho de banda: Maxima tasa disponible

30
02/09/2017

Preguntas de comprobación

 ¿Qué es y para que sirve el bus?


 ¿Cuales son las partes de una instrucción?
 ¿De que se encarga la unidad de control?
 Defina
 Puerto
 Controlador
 Cuello de botella de Von Neumann

31

También podría gustarte