Von Neuman

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Von Neuman as PDF for free.

More details

  • Words: 1,459
  • Pages: 7
Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informática 2008-09

I.T.Industrial. Electricidad

PRÁCTICA 2-3 Arquitectura Von Neumann. Principios básicos de funcionamiento de un Computador Material:

PC Software simulador de un Computador Von Neumann

Duración: 2 horas

DESARROLLO DE LA PRÁCTICA

La siguiente figura muestra el esquema de un computador Von Neumann.

1

Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

Fundamentos de Informática 2008-09

I.T.Industrial. Electricidad

JUEGO DE INSTRUCCIONES MÁQUINA Instrucciones tamaño palabra (todas de 16 bits) CPU con 8 registros de propósito general de 16 bits cada uno Tamaño palabra CPU = 16bits Bus de datos de 16 bits Tamaño palabra de memoria = 16bits Bus de direcciones de 16 bits

Nomenclatura utilizada Rd Rs Ri Rd/s Rx:

Tres bits que codifican el registro destino de una operación. Tres bits que codifican el registro fuente (origen) de una operación. Tres bits que codifican el registro índice para direccionamiento indirecto. Tres bits que codifican un registro que es a la vez fuente y destino de una operación. Tres bits que codifican el registro que contiene la dirección de destino para saltos indirectos. 000 001 010 .. 110 111

R0 R1 R2 -R6 R7

Instrucciones de movimiento o transferencia de datos Código de Instr.

Descripción

Mnemónico

00 000 00 001 00 010 00 011 00 100 00 101 00 110 00 111

Instrucción nula Transferencia entre registros Leer de memoria Escribir en memoria Inicializa parte baja registro Inicializa parte alta registro Apila el contenido del registro Rs. Desapila un valor en el registro Rd.

NOP MOV Rd, Rs MOV Rd, [Ri] MOV [Ri], Rs MOVL Rd, Inm_8 MOVH Rd, Inm_8 PUSH Rs POP Rd

00000000000 Rd Rs 00000 Rd Ri 00000 Ri Rs 00000 Rd Inm_8 Rd Inm_8 Rs 00000000 Rd 00000000

Operación Rd ß Rs Rd ß M(Ri) M(Ri) ß Rs RdL ßInm8 bits RdHßInm8 bits

Instrucciones Aritmético-Lógicas De tres operandos 01 000 Rd Rs1 Rs2 00 01 001 Rd Rs1 Rs2 00 01 010 Rd Rs1 Rs2 00 01 011 Rd Rs1 Rs2 00 01 100 Rd Rs1 Rs2 00

ADD Rd, Rs1, Rs2 SUB Rd, Rs1, Rs2 OR Rd, Rs1, Rs2 AND Rd, Rs1, Rs2 XOR Rd, Rs1, Rs2

Rd ßRs1 + Rs2 Rd ßRs1 - Rs2 RdßRs1 OR Rs2 RdßRs1 AND Rs2 RdßRs1 XOR Rs2

COMP Rs1, Rs2

Rs1 - Rs2

De dos operandos 01 101 Rs1 Rs2 000 00

2

Fundamentos de Informática 2008-09

Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

I.T.Industrial. Electricidad

De un operando 100 00 Rd/s 00000000 100 01 Rd/s 00000000 100 10 Rd/s 00000000 100 11 Rd/s 00000000

NOT Rd/s INC Rd/s DEC Rd/s NEG Rd/s

Rd/s = Rd/s + 1 d/s = Rd/s - 1 Compl.a 2 de Rd/s

Interrupciones Código instrucción

Descripción

Mnemónico

101 00 00000000000 Pone a cero el flag de máscara de interrupción 101 01 00000000000 Pone a uno el flag de máscara de interrupción. 101 10 000 Inm_8 Genera la interrupción software con vector de interrupción Inm_8. 101 11 00000000000 Retorno de interrupción (bien sea hard . o softw).

Operación

CLI STI

IF = 0 IF = 1

INT Inm_8 IRET

Apila SR, PC ; PC = Inm_8 Desapila PC y SR

Operación

Instrucciones de control de flujo Saltos incondicionales Código de Instr.

Descripción

Mnemónico

11 00 0 000 Inm_8 11 00 1 Rx 00000000

Realiza un salto relativo Realiza un salto indirecto absoluto a la posición de memoria contenida en el registro Rx.

JMP Inm_8

PC = PC + Ex_16(Inm_8)

JMP Rx

PC = Rx

Saltos condicionales Código instrucción

Descripción

11 11 0 Cond Inm_8 cond :

Mnemónico BR_Cond Inm_8

000 001 010 011 100 101 110 111

Operación Si cond. cierta: PC = PC + Ex_16(Inm_8)

CF = 1 CF = 0 OF = 1 OF = 0 ZF = 1 ZF = 0 SF = 1 SF = 0

Llamadas y retornos a procedimientos Código instrucción

Descripción

Mnemónico

Operación

11 01 0 000 Inm_8

Salto relativo a un procedimiento.

CALL Inm_8

11 011 Rx 00000000

Salto indirecto absoluto a un procedimiento.

CALL Rx

11 10 0 00000000000

Retorno de procedimiento

RET

Apila PC PC=PC+Ex_16(Inm_8) Apila PC PC = RX Desapila PC 3

Fundamentos de Informática 2008-09

Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

I.T.Industrial. Electricidad

REFERENCIA DE TECLAS (normal)

Ejecutar ciclo de reloj a ciclo de reloj dentro de una instrucción máquina Ejecutar instrucción máquina completa

DESARROLLO DE LA PRÁCTICA: 1.- Instrucciones Máquina. Codificación y Decodificación A) Trabajo a realizar sobre papel

1.1.- ¿Cuál es el código expresado en binario y hexadecimal de las siguientes instrucciones de transferencia de datos? binario hex MOVL R1, 0AH MOVH R1, FF H

; R1L ß 0A H ; R1H ß FF H

___________ ___________

______ ______

1.2.- ¿Cuál es el código expresado en binario y hexadecimal de la siguiente instrucción aritmética?

ADD R3,R1,R2

; R3 ß R1+R2

binario

hex

_____________

______

1.3.- Se sabe que el siguiente nº hexadecimal 1C60H representa la codificación de una instrucción máquina . a) Pasarla a binario

____________________________________

b) ¿Qué instrucción es?

______________________

c) ¿Cuántos operandos tiene?

_______________________

B) Trabajo a realizar sobre el simulador

1.4.- Verificar con el simulador los resultados del apartado anterior.

4

Fundamentos de Informática 2008-09

Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

I.T.Industrial. Electricidad

2.- Ejecución de Instrucciones Máquina. Registros Específicos y Generales A) Trabajo a realizar sobre papel

2.1.- Traducir a lenguaje máquina de la MS (hexadecimal) el siguiente programa (Observar que algunas ya las hemos hecho en el apartado anterior): hex MOVL R1, 0A H MOVH R1, FF H ADD R3,R1,R2 MOV [R4], R3

; R1L ß 0A ; R1H ß FF ; R3 ß R1+R2 ; M(R4) ß R3

______ ______ ______ ______

2.2.- ¿Qué hacen las instrucciones anteriores?

¿Se modifica algún registro?. En caso afirmativo di cual o cuales.

¿Se modifica el contenido de alguna posición de memoria? En caso afirmativo di cual o cuales

B) Trabajo a realizar sobre el simulador

2.3.- Introducir en memoria principal a partir de la dirección 0300H el programa anterior 2.4.- Inicializar el registro R2 con 1 y R4 con el valor 0110H 2.5.- Ejecutar (con F8) una a una las 4 instrucciones del programa y rellenar el siguiente cuadro:

PC MDR MAR IR R1 R2 R3 R4

estado inicial

después de I1

después de I2

después de I3

después de I4

…………… …………… …………… …………… …………… …………… …………… ……………

…………… …………… …………… …………… …………… …………… …………… ……………

…………….. …………….. …………….. …………….. …………….. …………….. …………….. ……………..

…………….. …………….. …………….. …………….. …………….. …………….. …………….. ……………..

………….. ………….. ………….. ………….. ………….. ………….. ………….. …………..

5

Fundamentos de Informática 2008-09

Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

I.T.Industrial. Electricidad

2.6.- Al ejecutar el programa anterior se modifica el contenido de una posición de memoria: - dirección _____________ - nuevo contenido ____________

3.-Ejecución de Instrucciones Máquina: Ciclos de Reloj, Microoperaciones y Señales de Control 3.1.- Para la instrucción máquina MOVL R1, 0A H (1ª inst. del apartado 2.1) escribir a mano la secuencia de microoperaciones y la activación de las señales de control que tienen lugar durante todo el ciclo de instrucción. Hay que fijarse bien en la estructura de la ruta de datos: Ciclos de reloj

microoperaciones

señales de control

T1

MAR ß PC, TMPSß PC+1, READ

T2 T3

PC ß TMPS, esperar a memoria IR ßMDR

PC_IB, IB_MAR, TMPE_CLR, CARRY_IN, ADD, ALU_TMPS, READ TMPS_IB, IB_PC MDR_IB, IB_IR

T4

_____________________

____________________________

¿Cuántos ciclos de reloj tarda en ejecutarse?

______________

3.2.- Verificar el ejercicio anterior con el simulador (con F7) 3.3- Repetir lo mismo para la instrucción 3 (ADD R3,R1,R2). (Opción F7) Ciclos de reloj

microoperaciones

Verificarlo con el simulador

señales de control

T1

MAR ß PC, TMPSß PC+1, READ

T2 T3

PC ß TMPS, esperar a memoria IR ßMDR

PC_IB, IB_MAR, TMPE_CLR, CARRY_IN, ADD, ALU_TMPS, READ TMPS_IB, IB_PC MDR_IB, IB_IR

T4

_____________________

____________________________

T5

_____________________

____________________________

_____________________

____________________________

_____________________

____________________________

¿Cuántos ciclos de reloj tarda en ejecutarse?

______________

6

Fundamentos de Informática 2008-09

Departamento de Sistemas Informáticos (Campus de Albacete) Universidad de Castilla La Mancha

I.T.Industrial. Electricidad

3.4.-La siguiente secuencia de señales de control corresponden a una instrucción máquina Paso 1 Paso 2 Paso 3 Paso 4 Paso 5

PC_IB, IB_MAR, TMPE_CLR, CARRY_IN, ADD, ALU_TMPS, READ TMPS_IB, IB_PC MDR_IB, IB_IR R7_IB, TMPE_CLR, CARRY_IN, ADD, ALU_SR, ALU_TMPS TMPS_IB, IB_R7, FIN

Identifica la instrucción de que se trata y completa la tabla siguiente. Verifícalo con el simulador. Código de la instrucción

Descripción

Mnemónico

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

3.5.-Si el reloj de esta CPU tiene una frecuencia de 2 Gigaherzios ¿Cuánto tiempo tarda en ejecutarse la instrucción anterior?

7

Related Documents

Von Neuman
June 2020 11
Modelo Von Neuman
November 2019 1
Betty Neuman Picture
December 2019 5
Neuman Assignment 2
June 2020 5
Benner Dan Neuman 1.pptx
November 2019 3
Von Balthasar
October 2019 24