INSTRUCCIONES CONDICIONALES
|
|
|
- Juan Carlos Joaquín Castilla Peralta
- hace 7 años
- Vistas:
Transcripción
1 INSTRUCCIONES CONDICIONALES
2 Objetivos Los objetivos que se pretenden alcanzar en este recurso son los siguientes: Aprender cuáles son los mecanismos de ejecución de código no secuencial. Definir las instrucciones para modificar la secuencia de ejecución. Identificar las sentencias condicionales en ensamblador.
3 Introducción A lo largo de este recurso se verá la importancia de las instrucciones condicionales, que forman la base para resolver (computacionalmente hablando) cualquier tipo de problema y sin las cuales sería prácticamente imposible. Se hará hincapié en cada una de las instrucciones condicionales y se verá mediante un ejemplo su funcionamiento.
4 Mecanismo de ejecución de código no secuencial La mayoría de las CPU ejecutan el código principalmente de una manera secuencial (una instrucción después de otra). Sin embargo, las CPU también deben permitir alterar esta secuencia ordenada con el fin de:
5 Mecanismo de ejecución de código no secuencial La mayoría de las CPU ejecutan el código principalmente de una manera secuencial (una instrucción después de otra). Sin embargo, las CPU también deben permitir alterar esta secuencia ordenada con el fin de: Ejecutar código condicional, dependiendo de una condición previa: Ejemplo: instrucciones if/then/else, switch/case, etc. 5
6 Mecanismo de ejecución de código no secuencial La mayoría de las CPU ejecutan el código principalmente de una manera secuencial (una instrucción después de otra). Sin embargo, las CPU también deben permitir alterar esta secuencia ordenada con el fin de: Repetir algunas partes del código (bucles): Ejemplo: for(), while(), do while(), etc. 5
7 Mecanismo de ejecución de código no secuencial La mayoría de las CPU ejecutan el código principalmente de una manera secuencial (una instrucción después de otra). Sin embargo, las CPU también deben permitir alterar esta secuencia ordenada con el fin de: Saltar a (o volver a) rutinas y funciones, para permitir reutilización de código y niveles de abstracción: Ejemplo: CALL rutina, RET (de rutina).
8 Mecanismo de ejecución de código no secuencial La mayoría de las CPU ejecutan el código principalmente de una manera secuencial (una instrucción después de otra). Sin embargo, las CPU también deben permitir alterar esta secuencia ordenada con el fin de: Asistir a peticiones de interrupción de dispositivos. 4 5
9 Mecanismo de ejecución de código no secuencial La mayoría de las CPU ejecutan el código principalmente de una manera secuencial (una instrucción después de otra). Sin embargo, las CPU también deben permitir alterar esta secuencia ordenada con el fin de: Saltar entre hilos de un proceso para permitir multitarea. 4 5
10 Mecanismo de ejecución de código no secuencial Contador Fase de carga
11 Mecanismo de ejecución de código no secuencial Contador Fase de carga El contador de programa (PC) es un registro que almacena la dirección de memoria de la siguiente instrucción a ejecutar: Atmega328p: registro de 16 bits. Memoria máxima 64K (aunque solo tiene 32K).
12 Mecanismo de ejecución de código no secuencial Contador Fase de carga En la fase de carga de instrucción se trae de la memoria del programa la dirección indicada por el PC: La instrucción se almacena en el registro IR, para ser decodificada y ejecutada. i Mas info
13 Haz clic sobre la zona marcada para ampliar la información Mecanismo de ejecución de código no secuencial Volver 128K positions, 16-bit/position
14 Mecanismo de ejecución de código no secuencial Poscarga Instrucción de salto
15 Mecanismo de ejecución de código no secuencial Poscarga Instrucción de salto Después de cada carga de instrucción, el PC se incrementa en 1, quedando preparado para cargar la siguiente instrucción. +1 Program Counter
16 Mecanismo de ejecución de código no secuencial Poscarga Instrucción de salto Si la instrucción es una instrucción de salto, entonces el registro PC se sobrescribe con la dirección de salto, lo que permite alterar la secuencia secuencial de ejecución. i Mas info
17 Haz clic sobre la zona marcada para ampliar la información Mecanismo de ejecución de código no secuencial Volver inst_address inst_address JMP inst_address
18 Registro de instrucciones Almacena la instrucción La longitud del OpCode puede variar Completar el código
19 Registro de instrucciones Almacena la instrucción La longitud del OpCode puede variar Almacena la instrucción en ejecución para: Extraer el código de operación y enviarlo al decodificador de instrucciones. Completar el código
20 Registro de instrucciones Almacena la instrucción En los procesadores Atmel, es al menos de 4 bits (del B15-B12), y se conoce como código de operación "inicial. La longitud del OpCode puede variar 0101 k 7 k 6 k 5 k 4 d 3 d 2 d 1 d 0 k 3 k 2 k 1 k r 4 d 4 d 3 d 2 d 1 d 0 r 3 r 2 r 1 r r 4 r 3 r 2 r 1 r d 3 d 2 d 1 d Completar el código
21 Registro de instrucciones Almacena la instrucción La longitud del OpCode puede variar Completar el código Analizando este código de operación "inicial", el decodificador puede determinar si hay más bits para completar el código de operación "extendida : Una vez que se extrae el código de operación "extendida", el decodificador de instrucciones desencadena los circuitos específicos (unidad de control) que ejecuta la instrucción.
22 Registro de instrucciones: operandos Una vez determinado el código de operación, se pueden determinar los operandos: El número de operandos varían para cada instrucción, sin embargo, su variedad es limitada, y se colocan siempre en las mismas posiciones: 0101 k 7 k 6 k 5 k 4 d 3 d 2 d 1 d 0 k 3 k 2 k 1 k r 4 d 4 d 3 d 2 d 1 d 0 r 3 r 2 r 1 r r 4 r 3 r 2 r 1 r d 3 d 2 d 1 d Immediate, register 1 (16-31) register 1, register 2 register 1 register 1 (16-31) No operands IR b 15 b 14 b 13 b 12 b 11 b 10 b 9 b 8 b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 IR connections to other devices Initial OpCode (to the instruction decoder) Register 2 address Register 1 address Immediate (to the ALU)
23 Instrucción de salto incondicional La instrucción más básica para modificar la secuencia de ejecución es la instrucción de salto incondicional. Esta instrucción, provoca un cambio en la secuencia de ejecución, sí o sí. JMP (direct JuMP) a 21 a 20 a 19 a 18 a a 16 a 15 a 14 a 13 a 12 a 11 a 10 a 9 a 8 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Formato Características Dirección
24 Instrucción de salto incondicional La instrucción más básica para modificar la secuencia de ejecución es la instrucción de salto incondicional. Esta instrucción, provoca un cambio en la secuencia de ejecución, si o si. JMP (direct JuMP) a 21 a 20 a 19 a 18 a a 16 a 15 a 14 a 13 a 12 a 11 a 10 a 9 a 8 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Formato Características Formato: JMP a. Carga la dirección absoluta de salto en el contador de programa (PC a), donde 0 < a < 4M. Dirección
25 Instrucción de salto incondicional La instrucción más básica para modificar la secuencia de ejecución es la instrucción de salto incondicional. Esta instrucción, provoca un cambio en la secuencia de ejecución, si o si. JMP (direct JuMP) a 21 a 20 a 19 a 18 a a 16 a 15 a 14 a 13 a 12 a 11 a 10 a 9 a 8 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Formato Características Es una instrucción grande y lenta: Ocupa dos posiciones de memoria de programa. Consume tres ciclos de reloj en ejecutarse. Dirección
26 Instrucción de salto incondicional La instrucción más básica para modificar la secuencia de ejecución es la instrucción de salto incondicional. Esta instrucción, provoca un cambio en la secuencia de ejecución, si o si. JMP (direct JuMP) a 21 a 20 a 19 a 18 a a 16 a 15 a 14 a 13 a 12 a 11 a 10 a 9 a 8 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Formato Características La dirección de destino puede ser indicada mediante una etiqueta en el código. Ejemplo: Dirección
27 Instrucción de salto incondicional corto Una instrucción más rápida (y más pequeña) para hacer un salto incondicional es: RJMP (Relative JuMP) 1100 r 11 r 10 r 9 r 8 r 7 r 6 r 5 r 4 r 3 r 2 r 1 r 0 Formato Salto relativo Diferencia de JMP Dirección
28 Instrucción de salto incondicional corto Una instrucción más rápido (y más pequeño) para hacer un salto incondicional es: RJMP (Relative JuMP) 1100 r 11 r 10 r 9 r 8 r 7 r 6 r 5 r 4 r 3 r 2 r 1 r 0 Formato Salto relativo Diferencia de JMP Formato: RJMP r Incrementa las posiciones de contador del programa en r. PC PC + r + 1, donde r puede ser positivo o negativo, por lo que -2K < r < 2K. Dirección
29 Instrucción de salto incondicional corto Una instrucción más rápido (y más pequeño) para hacer un salto incondicional es: RJMP (Relative JuMP) 1100 r 11 r 10 r 9 r 8 r 7 r 6 r 5 r 4 r 3 r 2 r 1 r 0 Formato Salto relativo Diferencia de JMP Incrementa o decrementa (si r es negativo) el valor actual de PC. Por eso es un salto relativo a la posición actual. Dirección
30 Instrucción de salto incondicional corto Una instrucción más rápido (y más pequeño) para hacer un salto incondicional es: RJMP (Relative JuMP) 1100 r 11 r 10 r 9 r 8 r 7 r 6 r 5 r 4 r 3 r 2 r 1 r 0 Formato Salto relativo Diferencia de JMP Este salto es más corto y más rápido que JMP: Ocupa una posición de memoria de programa. Consume dos ciclos de reloj en ejecutarse. Dirección
31 Instrucción de salto incondicional corto Una instrucción más rápido (y más pequeño) para hacer un salto incondicional es: RJMP (Relative JuMP) 1100 r 11 r 10 r 9 r 8 r 7 r 6 r 5 r 4 r 3 r 2 r 1 r 0 Formato Salto relativo La dirección de destino puede ser indicada mediante una etiqueta en el código: Diferencia de JMP Dirección
32 Haz clic sobre la zona marcada para ampliar la información Ejemplo: bucle infinito principal main loop Ejemplo de programa mínimo
33 Haz clic sobre la zona marcada para ampliar la información Ejemplo: bucle infinito principal main loop Ejemplo de programa mínimo
34 Instrucciones de salto condicional en igualdad Los saltos condicionales deben seguir una operación que afecta a los flag (por lo general una comparación, CP). Las principales instrucciones de este tipos son: BREQ (BRanch if EQual) BRNE (BRanch if NotEqual)
35 Instrucciones de salto condicional en igualdad Los saltos condicionales deben seguir una operación que afecta a los flag (por lo general una comparación, CP). Las principales instrucciones de este tipos son: BREQ (BRanch if EQual) BRNE (BRanch if NotEqual) Formato: BREQ r r 6 r 5 r 4 r 3 r 2 r 1 r Si el flag Z=1 (comparación en igualdad o resultado de cero) modifica el contador de programa (PC) en r posiciones (PC PC+r+1). En otro caso no hace nada, manteniendo el valor de PC en (PC PC+1): o r puede ser positivo o negativo, con -64 < r < 63. o Modifica el valor de PC, por lo que se considera un salto relativo. La dirección de destino puede ser indicada mediante una etiqueta en el código.
36 Instrucciones de salto condicional en igualdad Los saltos condicionales deben seguir una operación que afecta a los flag (por lo general una comparación, CP). Las principales instrucciones de este tipos son: BREQ (BRanch if EQual) BRNE (BRanch if NotEqual) Formato: BRNE r r 6 r 5 r 4 r 3 r 2 r 1 r Si el flag Z=0 (comparación en desigualdad o resultado distinto de cero) modifica el contador de programa (PC) en r posiciones (PC PC+r+1). En otro caso no hace nada, manteniendo el valor de PC en (PC PC+1): o r puede ser positivo o negativo, con -64 < r < 63.
37 Haz clic sobre la zona marcada para ampliar la información Ejemplo de Instrucciones de salto condicional en igualdad Ejemplo de retardo básico
38 Haz clic sobre la zona marcada para ampliar la información Ejemplo de Instrucciones de salto condicional en igualdad Ejemplo de retardo básico
39 Haz clic sobre la zona marcada para ampliar la información Otras instrucciones de salto condicional Cada instrucción de salto, comprueba varios flag del registro SREG, según estas comprobaciones, la variantes de instrucciones de salto son: flag Salta si flag=0 Salta si flag=1 Descripción valido con valores con/sin signo C BRCC BRCS BRanch if Carry is Cleared (0) / if Carry is Set (1) Sin signo C BRSH BRLO BRanch if Same or Higher (C=0) / if LOwer (C=1) Sin signo Z BRNE BREQ BRanch if Z=0 (not 0, Not Equal) / if Z=1 (0, EQual) ambos N BRPL BRMI BRanch if PLus (N=0) / if MInus (N=1) Con signo V BRVC BRVS BRanch if overflow is Cleared (0) / if ovreflow is Set (1) ambos S BRGE BRLT BRanch if Greater or Equal (S=0) / if Less Than (S=1) Con signo H BRHC BRHS BRanch if H is Cleared (0) / if H is Set (1) - T BRTC BRTS BRanch if bit-memory T is Cleared (0) / if T is Set (1) - I BRID BRIE BRanch if Interrupts Disabled (0) / if Interrupts Enabled (1) - i Mas info
40 Haz clic sobre la zona marcada para ampliar la información Otras instrucciones de salto condicional Volver También se pueden hacer saltos, preguntando por un bit en concreto del registro SREG directamente: BRBC n, r : salta a r si bit n en el registro SREG esta a cero. BRBS n, r : salta a r si bit n en el registro SREG esta a uno.
41 Haz clic sobre la zona marcada para ampliar la información Instrucciones de saltar una Conocidas como Next instruction skipping, estas instrucciones saltan la instrucción siguiente, si la condición es verdadera. En otro caso, ejecutan la instrucción siguiente normalmente: Si la condición es verdadera, se incrementa el contador del programa en una posición, provocando que la siguiente instrucción no se ejecute. Si la condición no se cumple, no hace nada, permitiendo que se ejecute la secuencia estándar de código secuencial. i Mas info
42 Haz clic sobre la zona marcada para ampliar la información Instrucciones de saltar una Volver Enla siguiente tabla se muestran las principales instrucciones de este tipo: Instrucción Formato Descripción CPSE CPSE Rd, Rr ComPare and Skip if Equal: sird=rr, saltar siguiente instrucción SBRC SBRC Rr, b Skip If Bit b in Register Rr is Cleared: si bit b en Rr es 0, saltar siguiente instrucción SBRS SBRS Rr, b Skip If Bit b in Register Rr is Set: si bit b en Rr es 1, saltar siguiente instrucción SBIC SBIC P, b Skip if Bit b in I/o port is Cleared: sif bit b en puerto P es 0, saltar siguiente instrucción SBIS SBIS P, b Skip if Bit b in I/o port is Set: if bit b in port P is 1, saltar siguiente instrucción Ejemplo:
43 Bucles: instrucción de alto nivel for( ) Todos los tipos de bucles deben ser implementados utilizando comparaciones y saltos condicionales. No existe instrucciones tipo for, while, etc. Versión en C Procesadores Atmel
44 Bucles: instrucción de alto nivel for( ) Todos los tipos de bucles deben ser implementados utilizando comparaciones y saltos condicionales. No existe instrucciones tipo for, while, etc. Versión en C Procesadores Atmel El bucle más básico es el bucle for(). Se tomará la versión en C como ejemplo: Se inicializa el contador a 0, y el bucle se repetirá mientras que el contador es <10; después de cada iteración, el contador se incrementa en 1.
45 Bucles: instrucción de alto nivel for( ) Todos los tipos de bucles deben ser implementados utilizando comparaciones y saltos condicionales. No existe instrucciones tipo for, while, etc. Versión en C Procesadores Atmel Esta instrucción para los procesadores Atmel se implementa:
46 Bucles: instrucción de alto nivel do.. while( ) Versión en C Procesadores Atmel
47 Bucles: instrucción de alto nivel do.. while( ) Versión en C Procesadores Atmel Una vez mas, se tomará C como lenguaje de ejemplo para esta instrucción: El bucle se ejecuta incondicionalmente, una vez terminada una iteración, se comprueba la condición de fin, si se cumple, el bucle itera una vez mas. Y así, hasta que la condición se haga falsa. Es importante observar, que aunque la condición sea falsa desde el principio, este bucle se ejecuta al menos una vez.
48 Bucles: instrucción de alto nivel do.. while( ) Versión en C Procesadores Atmel Esta instrucción para los procesadores Atmel se implementa:
49 Bucles: instrucción de alto nivel while( ) Versión en C Procesadores Atmel
50 Bucles: instrucción de alto nivel while( ) Versión en C Procesadores Atmel Una vez mas, se tomará C como lenguaje de ejemplo para esta instrucción: Se comprueba la condición del bucle, si la condición es verdadera, el bucle itera una vez más. Y así, hasta que la condición se haga falsa. Es importante observar, que estando la condición en falsa inicialmente, el bucle no itera ninguna vez.
51 Bucles: instrucción de alto nivel while( ) Versión en C Procesadores Atmel Esta instrucción para los procesadores Atmel se implementa:
52 Instrucciones condicionales: sentencia If() then { } Versión en C Procesadores Atmel
53 Instrucciones condicionales: sentencia If() then { } Versión en C Procesadores Atmel Una vez mas, se tomará C como lenguaje de ejemplo para esta instrucción: Comprueba el estado de la condición. Si es verdadera, ejecutar el código entre paréntesis. De lo contrario, lo salta y continua la ejecución después de la última instrucción del bloque de paréntesis.
54 Instrucciones condicionales: sentencia If() then { } Versión en C Procesadores Atmel Esta instrucción para los procesadores Atmel se implementa:
55 Instrucciones condicionales: sentencia If() then { } else { } Versión en C Procesadores Atmel
56 Instrucciones condicionales: sentencia If() then { } else { } Versión en C Procesadores Atmel Una vez mas, se tomará C como lenguaje de ejemplo para esta instrucción: Comprueba el estado de la condición. Si es verdad, ejecuta el bloque then". De lo contrario, ejecuta el bloque else". Bien ya sea ejecutando un bloque o el otro, continua con la ejecución normal del código.
57 Instrucciones condicionales: sentencia If() then { } else { } Versión en C Procesadores Atmel Esta instrucción para los procesadores Atmel se implementa:
58 Sentencias condicionales compuestas: if((condit1)and/or(condit2)) Las condiciones compuestas deben ser analizadas una por una, como sentencias individuales: if((condition1)and(condition2)) if((condition1)or(condition2))
59 Sentencias condicionales compuestas: if((condit1)and/or(condit2)) Las condiciones compuestas deben ser analizadas una por una, como sentencias individuales: if((condition1)and(condition2)) if((condition1)or(condition2)) Se comprueba la 1º condición: Si es falsa, dado que esto provoca que toda la condición sea falsa, saltamos directamente a la parte else. Si es verdadera, entonces se comprueba la 2º condición: o Si esta es verdadera, se ejecuta la parte then, sino la parte else.
60 Sentencias condicionales compuestas: if((condit1)and/or(condit2)) Las condiciones compuestas deben ser analizadas una por una, como sentencias individuales: if((condition1)and(condition2)) if((condition1)or(condition2)) Se comprueba la 1º condición: Si es verdadera, dado que esto provoca que toda la condición sea verdadera, saltamos directamente a la parte then. Si es falsa, entonces se comprueba la 2º condición: o Si esta es verdadera, se ejecuta la parte then, sino la parte else.
61 PDF contenidos
PRÁCTICA N 5 LABORATORIO DE SISTEMAS MICROPROCESADOS
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Carrera de Ingeniería Electrónica y Control Carrera de Ingeniería Electrónica y Telecomunicaciones Carrera de Ingeniería Electrónica y Redes de Información
Arquitectura del CPU. Organización del Computador 1 Verano 2016
Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales
Tema 4: Microcontrolador AT90S2313
Tema 4: - Descripción externa - Arquitectura interna - Organización de memoria - Registros de propósito general - Registros de entrada/salida (SREG,SPL) - Modos de direccionamiento - Juego de instrucciones
Arquitectura de Computadores II Clase #3
Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El
Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011
Apellidos, Nombre: Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011 Problema 1. Realice un programa que calcule la cantidad de números negativos
INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA PRÁCTICA 1: ESTRUCTURA INTERNA DE UNA CPU.
INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA PRÁCTICA 1: ESTRUCTURA INTERNA DE UNA CPU. OBJETIVOS: En esta práctica se pretende que el alumno aprenda la estructura y funcionamiento de un procesador
Comparaciones en lenguaje ensamblador
Comparaciones en lenguaje ensamblador Objetivo: Entender cómo se realizan las comparaciones de datos en lenguaje ensamblador En lenguaje ensamblador no existe la instrucción IF como se trabaja en otros
Laboratorio de Arquitectura de Redes. Sentencias de control en lenguaje C
Laboratorio de Arquitectura de Redes Sentencias de control en lenguaje C Sentencias de control en lenguaje C Introducción Sentencia if-else Sentencia switch Sentencia while Sentencia do-while Sentencia
Informática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Sentencias de control en lenguaje Sentencias de control en lenguaje Introducción Sentencia if-else Sentencia switch Sentencia while Sentencia
Guía de programación ATMega328pa
Guía de programación ATMega328pa Autor: Alberto J. Molina Última modificación: 6/05/13 Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De
Arquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción
Arquitectura de Computadores II Clase #4
Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 1 La Unidad de Control La instrucción
Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.
Palabras reservadas de C++ y C Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. A continuación se muestra el link del listado de palabras
Elementos constituyentes de la ejecución de un programa
Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization
Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema
Los esquemas repetitivos permiten implementar iteraciones del lenguaje algorítmico (mientras, repetir, para, hasta). Podemos dividir los esquemas según: - Se conozcan el número de iteraciones a priori,
Práctica 3: Programación en ASM Orga 1
Ignacio Eguinoa Organización del Computador I DC - UBA Segundo Cuatrimestre de 2015 Generaciones de lenguajes 1G: Lenguaje de máquina(código binario de operaciones) 2G: Lenguaje Ensamblador(Assembly) (Textual
3 - Arquitectura interna de un up
[email protected] 3 - Arquitectura interna un up Componentes básicos Lenguaje ensamblador y código máquina Ciclo básico ejecución una instrucción Algunos ejemplos Universidad Politécnica Madrid Componentes básicos
Estructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Estructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
Esquemas repetitivos en Fortran 90
Los esquemas repetitivos permiten implementar iteraciones del lenguaje algorítmico (mientras, repetir, para, hasta). Podemos dividir los esquemas según: - Se conozcan el número de iteraciones a priori,
Arquitectura de Computadores II Clase #3
Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control
Bus de direcciones. Bus de datos
1) INTRODUCCIÓN A LA MÁQUINA SENCILLA La máquina sencilla (MS) es un computador concebido para fines exclusivamente didácticos. MS sólo dispone de dos bloques: Unidad Central de Proceso y memoria principal.
3. PROGRAMACIÓN Microcontroladores
3. PROGRAMACIÓN Microcontroladores M. C. Felipe Santiago Espinosa Octubre de 2016 2 Lenguaje ensamblador Un programa en Ensamblador puede incluir: Instrucciones: Elementos del lenguaje que se traducen
Guía de ejercicios # 8 Flags y Saltos
Guía de ejercicios # 8 Flags y Saltos Organización de Computadoras 2018 UNQ Los objetivos de esta práctica son: Comprender qué son y para qué se utilizan los Flags. Conocer qué operaciones modifican los
Instrucciones de control de flujo
C a p í t u l o 3 Instrucciones de control de flujo Índice 3.1. El registro CCR..................... 56 3.2. Saltos incondicionales y condicionales........ 59 3.3. Estructuras de control condicionales.........
Unidad 2 Programación en Lenguaje Ensamblador
Microcontroladores Unidad 2 Programación en Lenguaje Ensamblador M. C. Miguelangel Fraga Aguilar Modos de direccionamiento Modo de direccionamiento es la manera en que una instrucción obtiene los operandos
Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO
Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características
El Diseño de un Lenguaje Máquina
Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo [email protected] Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje
4.1 Ejecución de instrucciones en el nivel de Microprogramación
4. Microprogramación (Nivel 1) La ejecución de una instrucción de máquina (nivel 2) requiere de varias etapas internas dentro de la CPU para ser ejecutadas. Así cada instrucción de nivel 2, dependiendo
ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES
Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación uniciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción
Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía
Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento
Tema 3. Estructuras de control
Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)
Estructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES.
TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES. Una de las características de las computadoras que aumenta considerablemente su potencia es su capacidad para ejecutar una tarea muchas (repetidas) veces con gran
El procesador. Datapath y control
El procesador Datapath y control Introducción En esta parte del curso contiene: Las principales técnicas usadas en el diseño de un procesador. La construcción del datapath y del control. Estudiaremos la
Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO
Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características
Presentación Funciones (o rutinas) Declaración de una función Llamada a una función La pila (STACK)... 9
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas
Programación Estructurada. Sesión 4:Estructuras de control
Programación Estructurada Sesión 4:Estructuras de control Contextualización En la sesión anterior vimos las estructuras condicionales, mediante éstas somos capaces de elegir qué expresiones usaremos, pero
Conceptos de Arquitectura de Computadoras Curso 2015
PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.
El repertorio de instrucciones
El repertorio de instrucciones Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización
TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL
TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL 1. ESTRUCTURA GENERAL DE UN COMPUTADOR VON-NEUMANN. Unidad de memoria (UM) Unidad Aritmético Lógica (UAL) Unidad de control (UC) Buses. Unidades de
Unidad 3. Facultad de Ciencias Departamento de Electrónica
Universidad Autónoma de San Luis Potosí Facultad de Ciencias Departamento de Electrónica Unidad 3 Instrucciones: Lenguaje de la Computadora Dra. Ruth M. Aguilar Ponce Primavera Unidad 3 Operaciones del
Tratamiento de Excepciones en MIPS
Tratamiento de en MIPS Elías Todorovich Arquitectura I - Curso 2013 Riesgos de Control Las direcciones del PC no son secuenciales (PC = PC + 4) en los siguientes casos: Saltos condicionales (beq, bne)
Interrupciones y entrada/salida
Departamento de Automática 1 / 15 Índice Mapa de entrada/salida Instrucciones IN/OUT Modo de operación Registros Habilitación de interrupciones Marco de interrupción Procesamiento de una interrupción 2
Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio
Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:[email protected] Oficina:
Programación de los Microcontroladores 8052/8051 (II)
CAPITULO 4 Programación de los Microcontroladores 8052/8051 (II) 4.1. INSTRUCCIONES BOOLEANAS. La familia de microcontroladores 8051 incluye un procesador booleano. Esto es, un procesador especializado
FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR
MICROINSTRUCCIONES FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR La memoria de las maquinas IAS consiste en 1000 posiciones de almacenamiento, llamadas palabras, de 40 digitos binarios (bits) cada
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java II... 6 Estructuras de control... 7 Estructuras de selección... 8 Sentencia if... 9 Sentencia if - else... 12 Operador condicional...
UNIDAD 3 ARQUITECTURA DEL Z80. Microprocesadores Otoño 2011
1 UNIDAD 3 ARQUITECTURA DEL Z80 Microprocesadores Otoño 2011 Contenido 2 Arquitectura interna del Z-80 Interface Ciclos de máquina y temporización del bus de comunicación. Conjunto de Instrucciones Arquitectura
INSTITUTO TECNOLÓGICO
INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas
Sentencias de control de flujo
Bucles Sentencias de control de flujo Departamento de Electrónica Fundación San Valero Bucles Hasta ahora los programas que hemos visto eran lineales. Comenzaban por la primera instrucción y acababan por
Introducción al simulador
Departamento de Automática 1 / 17 Índice Proyecciones de dispositivos de entrada/salida Registros Instrucciones 2 / 17 Arquitectura del simulador Sitio web https://parraman.github.io/asm-simulator/ Proyecto
Lección 3 Sentencias de control
3.1. INTRODUCCIÓN - Hasta aquí: ejecución secuencial de los programas. - Aquí vamos a ver: Lección 3 Sentencias de control Sentencias de control Sentencias condicionales: if- y switch-case Sirven para
Arquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar
Arquitectura de Computadores Resumen para Certamen 2 Por Franco Zuccar Componentes básicos Compuertas logicas (AND, OR, NOT, XOR, NAND y NOR) Flip-Flop s (SR, JK, D y T) Los circuitos combinacionales se
Repaso Registros internos Z80 1/37
Repaso Registros internos Z80 1/37 Repaso Formato instrucciones Formato con 4 direcciones Acumulador: A A op oper2 PC: Program Counter dirección de la próxima instrucción Instrucciones de operación Código
Diseño del procesador MIPS R2000
Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice 1.
Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.
Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas. Sentencias de Control repetitivas (o bucles) Al igual que las estructuras selectivas, el bucle
TEMA 4. ARQUITECTURA IA-64
TEMA 4. ARQUITECTURA IA-64 Stalling, W.Computer Organization and Architecture cap. 15 Intel IA-64 Architecture Software Developer s Manual Generalidades IA-64 Desarrollo conjunto Intel-HP Nueva arquitectura
Programación en ensamblador y en alto nivel (C)
Programación en ensamblador y en alto nivel (C) Taller de Microcontroladores año 2012 Optativa de grado y Curso de Posgrado El ISAdel AVR Preliminares 32 registros de 8 bits: R0 a R31 Los registros pueden
Programación: Estructuras de Control
Programación: 2 Estructuras de Control Contenido 2.1.- Introducción 2.2.- Estructuras de Selección 2.2.1.- Sentencia if 2.2.2.- Sentencia switch 2.3.- Estructuras de Iteración 2.3.1.- Sentencia while 2.3.2.-
Organización de computadoras. Clase 8. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 8 Universidad Nacional de Quilmes Lic. Martínez Federico El Parcial Dónde estábamos? Limitaciones de Q3 Y ahora? Y ahora? Limitaciones de Q3 Flags: Qué? Cómo? Para qué?
Conocimientos previos
Tema: Estructuras de control de ciclos repetitivos Ficha de aprendizaje 15 n Logro Utiliza estructuras de control de ciclos repetitivos For Next y Loop while @ # Conocimientos previos Qué conjunto de sentencias
4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Texto estructurado (ST)
17 Texto estructurado (ST) El texto estructurado se compone de una serie de instrucciones que se pueden ejecutar, como sucede con los lenguajes superiores, de forma condicionada ("IF..THEN..ELSE") o en
El procesador: camino de datos y. IEC UTM Moisés E. Ramírez G. control
El procesador: camino de datos y IEC UTM Moisés E. Ramírez G. control 1 Introducción Se diseñará una implementación que incluya las instrucciones más importantes. Instrucciones de acceso a memoria: lw,
Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:
Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register
PYTHON. Programación estructurada
PYTHON Programación estructurada Estructuras selectivas Hasta ahora los programas que hemos hecho siguen todos una secuencia fija de operaciones: muestran datos por pantalla y/o piden datos al usuario,
Instrucción De Salto Incondicional
INSTRUCCIONES DE CONTROL DE FLUJO Los programas que se han desarrollado hasta ahora se ejecutan en forma secuencial, esto es, el programa inicia su ejecución con la primera instrucción y continúa de arriba
Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL
Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos
Arquitectura Interna del 8088
Arquitectura Interna del 8088 Intel diseñó el 8088/8086 para realizar al mismo tiempo las principales funciones internas de transferencia de datos y búsqueda de instrucciones. Para conseguir esto, el 8088
Organización de Computadoras
Organización de Computadoras SEMANA 8 UNIVERSIDAD NACIONAL DE QUILMES Qué vimos? Notación científica Punto flotante Idea Interpretación Mantisa fraccionaria vs mantisa entera Resolución Normalización Bit
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión III La Sintaxis de Java II... 6 Estructuras de Control... 7 Estructuras de Selección... 8 Sentencia
Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González [email protected] Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Parte 4: Estructuras de Control
Parte 4: Estructuras de Control Las estructuras de control le permiten controlar el flujo de ejecución del programa. Tenemos dos tipos de estructuras de control: Estructuras de decisión Estructuras de
PROGRAMACIÓN CON VBA: MACROS EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
PROGRAMACIÓN CON VBA: MACROS EXCEL 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE PROGRAMACIÓN CON VBA: MACROS Para comenzar a programar en VBA tenemos que entrar al editor de Visual
Construyendo Programas más Complejos
Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo [email protected] Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más
Tema 06: Estructuras y sentencias de control en C
Tema 06: Estructuras y sentencias de control en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A.
Arquitectura y mapa de memoria del 80C167. Cesáreo Fernández Martínez Álvaro Sánchez Miralles
Arquitectura y mapa de memoria del 80C167 Cesáreo Fernández Martínez Álvaro Sánchez Miralles Introducción Microcontrolador (Embedded Processor) de 16 bits ALU y Registros de 16 bits Diseñado para tareas
Sistemas Operativos. MODULO I. ANTECEDENTES 1.2 introducción a los ordenadores
Sistemas Operativos MODULO I. ANTECEDENTES 1.2 introducción a los ordenadores Sistema Operativo Un S.O. explota los recursos hardware de uno o mas procesadores para proporcionar un conjunto de servicios
CU6 FPGA. up16 DIV_CLK CLK_UP16 CLK PC16R MUXMAR BUS MAR RST DIR MEM MEMORIA MEMORIA BUS MUXRX DATA MEM BUS CONTROL CPU ALU BUS MDRO MDRI DATA MEM OUT
CU6 PROYECTO CU6 DISEÑO EN VHDL DE MICROPROCESADOR ELEMENTAL CON UN REGISTRO INTERNO CON ACCESO DIRECTO A LA MEMORIA DE DATOS PARA REALIZAR LECTURA Y ESCRITURA DE LA MISMA Y OPERACIONES ARITMÉTICO-LÓGICAS
