Programación en Lenguaje Máquina y Gestión de Memoria

RomanticLobster3994 avatar
RomanticLobster3994
·
·
Download

Start Quiz

Study Flashcards

40 Questions

¿Por qué son necesarias las resistencias de pull-up en la línea de datos (SDA) y en la línea de reloj (SCL) en un bus I2C?

Para mantener a nivel alto las líneas cuando no están siendo gobernadas por ningún dispositivo

¿Qué dispositivo genera el bit de reconocimiento (Acknowledge) en un bus I2C?

El esclavo

¿Cómo indica el máster al esclavo el sentido de la transferencia (Lectura o Escritura) en un bus I2C?

Durante la fase de direccionamiento de la comunicación

¿Cuál es el tamaño de la unidad de información en un bus I2C?

Un byte, 8 bits

¿Qué se entiende por “llamada general” en un bus I2C?

Cuando el paquete enviado en la fase de direccionamiento de la comunicación no contiene bits de dirección

¿Qué dispositivo genera la condición de Start y la condición de Stop en un bus I2C?

El máster

¿Por qué se dice que la línea de datos (SDA) y de reloj (SCL) se comportan como una AND por conexión en un bus I2C?

Porque para que dos dispositivos puedan comunicarse ambas líneas deben estar a nivel alto

¿Qué especificaciones se deben conocer para establecer una comunicación serie asíncrona?

Velocidad de transmisión, unidad de información y bits de sincronismo

¿Cuál es la principal ventaja de utilizar un lenguaje de alto nivel sobre un lenguaje de bajo nivel?

Mayores facilidades para la programación y depuración

¿Qué caracteriza a un código reubicable?

Puede ser cargado y ejecutado en diferentes direcciones de memoria

¿Por qué un lenguaje ensamblador está ligado a un microprocesador?

Porque trabaja directamente con elementos del hardware y operaciones de máquina de ese modelo

¿Qué contiene un archivo con extensión .hex?

Los datos del programa en formato hexadecimal

¿Cuál es la función principal de un enlazador en el proceso de ensamblado?

Combinar varios archivos objeto y bibliotecas en un único archivo ejecutable

¿Qué es lo que se busca optimizar en un compilador?

El número de instrucciones y la ocupación de la memoria

¿Qué caracteriza a un código máquina absoluto?

Es rígido en cuanto a ubicación y no permite la reubicación sin modificaciones adicionales

¿Cuál es la razón de la especificación de un archivo con la directiva #include en un programa en C?

Para incluir bibliotecas adicionales en el programa

¿Quién se encarga de agregar los bits de START y STOP en una comunicación serie asíncrona?

El dispositivo transmisor

¿Por qué se necesita una estructura de memoria temporal en los periféricos de E/S serie?

Para almacenar temporalmente los datos que se transmiten o reciben

¿Cómo se sincroniza el funcionamiento de un periférico de E/S serie con la ejecución de un programa?

Mediante la generación de interrupciones

¿Por qué es necesario sincronizar el funcionamiento de un periférico de E/S serie con la ejecución de un programa?

Para evitar errores como la pérdida de información o el desorden de los caracteres

¿Cuál es la característica principal de una estructura Harvard?

La memoria de programa y la memoria de datos se conectan al microprocesador por buses distintos

¿Cuál es la característica principal de una estructura Von Neumann?

La memoria de programa y la memoria de datos se conectan al microprocesador por un mismo bus

¿Qué sucede si no se sincroniza adecuadamente el funcionamiento del periférico de E/S serie con la ejecución del programa?

Se puede provocar la pérdida o corrupción de datos

¿Por qué se utiliza la estructura de memoria temporal en los periféricos de E/S serie?

Para permitir un procesamiento más eficiente y flexible de los datos

Cuántos desplazamientos se realizan para normalizar el número 1.0110110?

3 desplazamientos

¿Cómo se calcula el exponente real en la representación de coma flotante?

Sumando 127 al exponente

¿Cuál es el valor de la mantisa en la representación de coma flotante del número 1.0110110?

10110011

¿Cómo se comparan los exponentes de los operandos en una suma de números en coma flotante?

Los exponentes deben ser iguales

¿Cómo se desplaza el punto decimal del operando más pequeño en una suma de números en coma flotante?

Hacia la izquierda el número de veces necesario

¿Cómo se calcula el signo del resultado en una multiplicación de números en coma flotante?

XOR de los signos de los factores

¿Qué se hace con la mantisa después de multiplicar las mantisas en una multiplicación de números en coma flotante?

Se desplaza hacia la izquierda hasta que MSB = 1

¿Cuál es el formato que obtiene un mayor rango dinámico para un mismo número de bits?

Coma flotante

Cuál es el orden de bits en la trama de transmisión serie síncrona?

Start, LSB, MSB, paridad, stop

¿Cuál es el ciclo de trabajo de la señal de salida de 1 MHz?

50%

¿Cuál es la frecuencia del reloj del sistema del convertidor A/D?

100 MHz

¿Cómo se accede al recurso #1?

Lectura

¿Cuál es el tamaño del recurso #2?

8kB

¿Cómo se intercambian las posiciones en el mapa de memoria del recurso #3 y los recursos #1 y #2?

Cambiando la negación del A15

¿Cuál es el propósito del circuito en la pregunta 7.8?

Detectar los flancos ascendentes y descendentes de una señal de entrada

¿Cuál es la limitación en las características de la señal de entrada en la pregunta 7.8?

No hay limitaciones especificadas

Study Notes

Dirección Indirecta

  • La dirección indirecta se utiliza en la gestión dinámica de memoria, donde se utilizan punteros para acceder y manipular áreas de memoria asignadas dinámicamente durante la ejecución de un programa.

Ventajas y desventajas de escribir un programa en Lenguaje Máquina

  • Ventajas:
    • Máximo nivel de acceso y control al hardware
    • Máximo control sobre la eficiencia y tiempo de ejecución del programa
  • Desventajas:
    • Alta complejidad paradigmática y sintáctica
    • Código difícil de depurar y mantener al trabajar con un bajo nivel de abstracción

Lenguaje Ensamblador

  • Está ligado a un microprocesador karena trabaja directamente con elementos del hardware y operaciones de máquina de ese modelo que pueden ser diferentes a los de otros modelos.

Código Reubicable y Código Máquina Absoluto

  • Código reubicable: puede cargar y ejecutar en diferentes direcciones de memoria sin necesidad de modificaciones
  • Código máquina absoluto: es rígido en cuanto a ubicación y no permite la reubicación sin modificaciones adicionales

Lenguaje de Alto Nivel

  • Desventajas:
    • Mayor consumo de recursos y tiempo de ejecución

Archivo con Extensión .hex

  • Contiene los datos del programa en formato hexadecimal, listos para ser programados en la memoria del microcontrolador.

Ensamblado de un Programa

  • La misión del enlazador es combinar varios archivos objeto y bibliotecas en un único archivo ejecutable.

Optimización de Código de un Compilador

  • Parámetros para calificar la calidad de optimización de código de un compilador:
    • Número de instrucciones y/o ocupación de la memoria

Especificación de un Archivo con la Directiva #include

  • La dirección del dispositivo de destino forma parte de una trama de dirección enviada a través del bus, que solo recibe el dispositivo al que pertenece la dirección.

I2C

  • Resistencias de pull-up en la línea de datos (SDA) y en la línea de reloj (SCL):
    • Mantienen a nivel alto las líneas cuando no están siendo gobernadas por ningún dispositivo
    • Evitan fluctuaciones no deseadas en el bus
  • La línea de datos (SDA) y de reloj (SCL) se comportan como una AND por conexión:
    • Ambas líneas deben estar a nivel alto para que dos dispositivos puedan comunicarse
  • Dispositivo que genera el bit de reconocimiento (Acknowledge):
    • El esclavo, para dar cuenta de una trama recibida con éxito
  • Dispositivo que genera la condición de Start y Stop:
    • El máster, para indicar inicio y final de una transacción de datos
  • Tamaño de la unidad de información:
    • Un byte, 8 bits
  • Llamada general:
    • Cuando el paquete enviado en la fase de direccionamiento de la comunicación no contiene bits de dirección

Comunicación Serie Asíncrona

  • Especificaciones para establecer una comunicación serie asíncrona:
    • Tamaño del bit = Velocidad de Transmisión
    • Unidad de información (número de bits de la unidad de información)
    • Bits de sincronismo
  • El dispositivo transmisor se encarga de añadir los bits de START y STOP a la información que se transmite

Periféricos de E/S Serie

  • La conexión al bus de datos no suele hacerse directamente con el registro de desplazamiento si no a través de un registro o conjunto de registros que actúan como memoria temporal:
    • Se necesita una estructura de memoria temporal para almacenar temporalmente los datos que se transmiten o reciben, lo que permite un procesamiento más eficiente y flexible de los datos
  • El funcionamiento de un periférico de E/S serie se sincroniza con la ejecución de un programa:
    • Mediante la generación de interrupciones

Gestión de Memoria

  • Estructura Harvard:
    • La memoria de programa y la memoria de datos se conectan al microprocesador por buses distintos
    • Permite realizar búsqueda y ejecución de instrucciones de forma simultánea
  • Estructura Von Neumann:
    • La memoria de programa y la memoria de datos se conectan al microprocesador por un mismo bus

Aprende sobre las ventajas y desventajas de escribir un programa en lenguaje máquina y la aplicación del direccionamiento indirecto en la gestión dinámica de memoria.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser