Operaciones de bloques de bits Pablo San Segundo C-206

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

Curso de java básico (scjp)
ESTRUCTURAS DE PROGRAMACIÓN
Instrucciones de operación sobre datos
Diseño de la ruta de datos monociclo para la arquitectura MIPS
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
En PHP, casi cualquier cosa que escribes es una expresión. La forma más simple y ajustada de definir una expresión es "cualquier cosa que tiene un valor".
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
I S A INSTRUCTION SET ARCHITECTURE
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Profesor: Rodrigo Sanhueza F.
PERCY CHUMBE BUENDIA. KIZZY GUTIERREZ VALVERDE. RUTH NOEMY APAZA JARA.
Expresiones y operadores
PLC TSX 07 Software PL7-07. El PLC en el sistema de C.A. Terminal de Programación Memoria de Programa Procesador OUTPUTSOUTPUTS INPUTSINPUTS PLC PC.
Integrantes Carlos Junior Salinas Rivera (ILHUICOATL). Comunidad: coatl (serpiente).
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Módulo 5: Estructuras de Decisión y Bucles
INTRODUCCION AL LENGUAJE C
Circuitos Digitales II
Diego Esteban Moreno Germán Aguado Llorente Félix Huete García.
Roberto Mercado Holguin
Arquitectura Von Neumann
27/07/14 Catedra de Programacion I 1 Programación I Operadores y Expresiones.
Programación.
PLC TSX 07 Software PL7-07.
Representación de números enteros Tema 3. ¿Qué sabrás al final del capítulo? n Representar un número entero (con signo) de distintas formas – Signo magnitud.
Unidades aritmético lógicas
CLASE 11.
Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.
Lenguaje Ensamblador integrantes: Esthela Vianey Vázquez Medina No.30
Programación estructurada. Plantillas
Arquitectura del Computador
ISA (Instruction Set Architecture)
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
ARQUITECTURAS SIMD TIPOS
TECNICAS DE DETECCIÓN DE ERROR
Instrucciones: FORMATO DE INSTRUCCIONES
Unidad III Elementos del lenguaje C++
Tema 2: Los tipos de datos
Instrucciones Aritméticas Instrucciones Aritméticas Instrucciones Aritméticas Instrucciones Aritméticas Instrucciones Transferencia de Datos Instrucciones.
1 SEMANA 04_2. 2 OPERADORES ARITMETICOS OPERADOR: + FORMATO: VALOR1 + VALOR2 FUNCION : SUMA VALOR1 Y VALOR2 EJEMPLO : TABLA_MAS_2 DW TABLA + 2 ; (DESPLAZAMIENTO.
PLC TSX 07 Software PL7-07. El PLC en el sistema de C.A. Terminal de Programación Memoria de Programa Procesador OUTPUTSOUTPUTS INPUTSINPUTS PLC PC.
Codificador de convolución
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Tema 3: Operadores Antonio J. Sierra. Índice Aritméticos A nivel de bit Relacionales Lógicos Asignación.
José Estay A / jea I semestre académico 2014 Computadores (TU Sistemas Computacionales) Tema: elementos de estructura de computadores.
Unidad aritmético lógica
Un ejemplo de uso de estos operadores: int a, b, c; a = 0xd3; b = 0xf5; c = 0x1e; d =a |b; d =b &c; d =a ^c; d = ~c; d =c 4 Equivale a
REPRESENTACIÓN DE LA INFORMACIÓN Y UNIDADES DE MEDIDA
Técnicas de Programación Lenguaje Java - 4. Convertir cadena a mayúsculas Mientras (haya entrada) –Leer entrada –Para cada carácter c de la entrada Si.
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Representación RUNS conversiones entre representaciones matriz binaria y secuencia Juan Manuel García Sánchez Pablo de la Torre Moreno.
1 © UPM-ETSISI Tema 7.-Tecnología de las Estructuras y Subsistemas Lógicos Combinacionales © UPM-ETSISI Tema 7 Tecnología de las Estructuras y Subsistemas.
Informática Clase Arquitectura de la Computadora.
Germán Landinez Álvaro Del Toro Ronald Gutiérrez.
CIRCUITOS NO COMBINACIONALES
PICOBLAZE RESUMEN.
Fundamentos de Programación
Compuertas lógicas INTRODUCCION
1 Desarrollo Web en Entorno Servidor Tema 4: Estructuras de control. Estructuras Selectivas. Operadores de comparación. Operadores Lógicos. Operadores.
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Subsistemas aritméticos y lógicos
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Circuitos Combinacionales I
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
CAPITULO V Arquitectura de Von Neumann
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Ronald J. Tocci and Neal S. Widmer Digital Systems, Eighth Edition Copyright ©2001 by Prentice-Hall, Inc. Upper Saddle River, New Jersey All rights.
Transcripción de la presentación:

Operaciones de bloques de bits Pablo San Segundo C-206

Índice  Arquitectura de programación  Palabra de estado (State Register)  Acumuladores  Arquitectura de bloques (AWL)  Operadores de más de un bit  Carga y Transferencia  Operaciones de comparación (>,, >=,…)  Operaciones aritméticas (+, -, *, /, SQR, SQRT)  Máscaras (Y, OR, XOR)  Otras

Palabra de estado (SR) RBA1A0OVOSORSTARLO/ER BITNombreSignificado 0/ERPrimera consulta a nivel bajo 1RLOResultado lógico 2STAValor del bit direccionado 3ORCombinación Y = 1 4OSOverflow memorizado (stored) 5OVOverflow última operación 6A0Res. Comparación / Artimética / Op. lógicas / Op. Shift+Rot / Errores 7A1Res. Comparación / Artimética / Op. lógicas / Op. Shift+Rot / Errores 8RBResultado Binario 9-15xSin uso

Consulta de biestables de la palabra de estado ConsultaDevuelve TRUE si se cumple ==0A1=0 AND A0=0 <>0A1 distinto de A0 >0A1=1 AND A0=0 <0A1=0 AND A0=1 >=0==0 OR >0 <=0==0 OR <0 UOA1=1 AND A0=1 (Error en tiempo de ejecución: p.ej. división por cero) BIERB=1 OSOS=1 OVOV=1 U ==0 S M 1.0 U BIE S M1.1 OB1

Acumuladores  Registros de la ALU de 32 bits  Número variable:  Típicamente 2 en gamas medias. En gamas altas (p. ej. S7-400) puede haber hasta 4  Encargados de realizar las operaciones de mas de 1 bit

Arquitectura de bloques Sistema Operativo OB1: Ciclo principal OBX FCX CALL CC UC CALL FCX DBX FBX Bloque de datos de instancia A todos los bloques DBX Bloque de datos global DBX FBX Bloque de datos de instancia

Índice  Arquitectura de programación  Palabra de estado (State Register)  Acumuladores  Arquitectura de bloques (AWL)  Operadores de más de un bit  Carga y Transferencia  Operaciones de comparación (>,, >=,…)  Operaciones aritméticas (+, -, *, /, SQR, SQRT)  Máscaras (Y, OR, XOR)  Otras

Operadores Carga (L) y Transferencia (T) EW10 MW10 ACU1 ACU2 Acumuladores (32 bits) L EW10 1)ACU2=ACU1 2)ACU1=EW10 T MW10: EW10 = ACU1 ACU2 = ACU1 ACU1 = EW10 EW10 = ACU1

Operaciones de comparación ACU2ACU1 RLO A1A0 OperadorTamaño(bits)Comentario (==,<>,>, =,<=) I16 ACU-1 y ACU-2 no varían (==,<>,>, =,<=) D32 (==,<>,>, =,<=) R32 Importante: En el caso de operaciones de comparación, los bits de la palabra de estado A1 y A0 se actualizan de acuerdo con el tamaño relativo de los argumentos y no dependen del resultado lógico de la comparación.

Ejemplos (1/2) L 5 L 8 >=I ACU1=8, ACU2=5 A1=0, A0=1, RLO=0 L 5 L 8 <=I L 9.7E+6 L 2 <I ACU1=2, ACU2=9.7E+6 A1=1, A0=0, OV=0, OS=0 ACU1=8, ACU2=5 A1=0, A0=1, RLO=1 L 5 L 8 <I = M 1.0 L EW0 L EW2 <I = A 1.0 U ==0 = A1.1 A1.0 = 1 si EW0 < EW2 (con signo) A1.1 = 1 si EW0 == EW2 M1.0=1

Control de flujo: SPA, SPB y SPBN  SPA  Salto incondicional a la instrucción con ETIQUETA  Equivale a goto ETIQUETA  SPB  Salto a la instrucción con ETIQUETA si el RLO = 1  Equivale a if (RLO==1) then goto ETIQUETA  SPBN  Salto a la instrucción con ETIQUETA si el RLO =0  Equivale a if (RLO == 0) then goto ETIQUETA

Ejemplos (2/2) 1 2 C=C+1 C>=3 C<3 15 S1 S0 //… U X2 ZV Z1 // Ec. activación L Z1 L 3 >=I U X2 SPB _MA U X2 S X1 R X2 SPA FIN _MA: NOP 0 U X2 S X15 R X2 FIN: NOP 0 OB1-A //… U X2 ZV Z1 // Ec. activación L Z1 L 3 >=I U X2 S X15 R X2 U <0 U X2 S X1 R X2 //… OB1-B Primera consulta (/ER=0) Salto condicionado a que RLO = 1 Salto incondicional

Operaciones aritméticas (1/3)  Dos operandos implícitos en acumuladores ACU2ACU1 ACU1 A1, A0, OV, OS OperadorTamaño(bits)Comentario (+,-,/,*) I16 /I: Cociente ACU1-L, Resto ACU1-H (+,-,/,*) D32 /D: Cociente ACU1 (+,-,/,*) R32 A1: “resultado mayor que cero” A0: “resultado menor que cero” OV: “desbordamiento” (A1 y A0 complementan el tipo) OS: “desbordamiento memorizado” (al menos un desbordamiento)

 Reglas generales para biestables A0 y A1 Operaciones aritméticas (2/3) OVERFLOW VALOR ACU1 EN RELACIÓN CON 0 A1=0 y A0=0 : ACU1 = 0 A1=1 y A0=0 sin desbordamiento: ACU1 > 0 A1=0 y A0=1 sin desbordamiento : ACU1 <0 A1=1 y OV=1 : desbordamiento por arriba de ACU1 A0=1 y OV=1 : desbordamiento por debajo de ACU1 A1=1 y A1=1 : excepción división por cero, tipado incorrecto etc.

Ejemplos L-8 L6L6 +I//ACU1-L=-2, A1=0, A0=1 (sin desbordamiento) L2L2 L6L6 /I//ACU1-L=0, ACU1-H=2, A1=1, A0=0 (sin desbordamiento) L1000 L100 *I//ACU1=100000, OV=1, OS=1, A1=1, A0=0 L1000 L100 *I//OS=1, OV=1 L200 L5L5 *I//ACU1=1000, OV=0, OS=1, A1=1, A0=0

Operaciones aritméticas (3/3)  Un único operando implícito en ACU1 ACU1 ACU1 ABS SQR SQRT EXP LN SIN COS TAN ASIN ACOS ATAN… REAL L 9.0E10 SQR UN OV SPB OK SPA FIN OK: T MD10 FIN: NOP 0 EJERCICIO: Interprete cada instrucción del código siguiente REAL

Recapitulación: biestables A1 y A0 ConsultaTRUE (RLO = 1) Tras Op. AritméticaTras Op. Comparación ==0A1=0 AND A0=0ACU1=0ACU2 == ACU1 <>0A1 distinto de A0ACU1<>0ACU2 <> ACU1 >0A1=1 AND A0=0ACU1>0ACU2 > ACU1 <0A1=0 AND A0=1ACU1<0ACU2 < ACU1 >=0==0 OR >0ACU1>=0ACU2 >= ACU1 <=0==0 OR <0ACU1<=0ACU2 <= ACU1 UOA1=1 AND A0=1 ( p. ej. División por cero ) BIERB=1 OSOS=1 OVOV=1 A1, A0  ACU1 A0  ACU1, A1  ACU2

Operaciones con conjuntos de var. lógicas OperadorTamaño(bits)Comentario UW16Y lógica entre acumuladores (L) OW16O lógica entre acumuladores (L) XOWXOW16XOR lógica entre acumuladores (L) UD32Y lógica entre acumuladores OD32O lógica entre acumuladores XODXOD32XOR lógica entre acumuladores ACU2ACU1OPERADORACU1 L MW10 L MW12 UW T MW14 OB1 DOS ARGUMENOS IMPLÍCITOS: ACU1 y ACU2

Ejemplo: flanco simultáneo de 32 variables ED10Entradas MD100Marcas de flanco MD10Marcas de pulso Flanco positivo L MD 100 L ED 10 XOD L MD 100 UD T MD 10 L ED 10 T MD 100 ¿Flanco negativo? L MD 100 L ED 10 XOD L ED 10 UD T MD 10 L ED 10 T MD 100 Memoria ACU1: valores distintos entre marcas de flanco y entradas ACU1: entradas con valor lógico 1 distintas de marcas de flanco

Aplicación al grafcet (1/2) U “X0” U “S1” L DW#16#FFFFFFFF T MD 1 R “X0” S1 ¿Ecuación de activación? MD 1 U “X0” U “S1” SPBN NOAC //Activación L DW#16#FFFFFFFF T MD 1 R “X0” NOAC: NOP 0 Activación simultánea de etapas //Desactivación simultánea de 32 etapas L DW#16#0 T ETAPAS_CODIFICADAS_EN BITS_CONSECUTIVOS Desactivación simultánea de etapas

Aplicación al grafcet (2/2) OB100 SET S M0.0 R Act.1 R Act.2 //… R Act.N MD1 M 0.0 UN M1.0 UN M1.1 UN M1.2 //… S M0.0 R Act.1 R Act.2 //… R Act.N OB100 ARRANQUES (DESDE CARCASA) OB100 SET S M0.0 L DW#16#0 T MD1 OB102 L MD 1 L DW#16#0 ==D S M0.0 R Act.1 R Act.2 //… R Act.N ARRANQUES (TRAS DESCONEXIÓN) OB102 L MD 1 L DW#16#0 ==D SPBN _001 S M0.0 L DW#16#0 T MD1 _001:NOP 0 //… Arranque / Rearme