Saltar al contenido principal
LibreTexts Español

15.4: Memoria y Hardware

  • Page ID
    81913
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    La mayoría de las aplicaciones integradas solo ejecutan una pieza de código. Por lo tanto, se puede pensar en un programa como “poseerlo” de todo. No hay reparto de recursos. Esto facilita la vida en muchos aspectos. Por ejemplo, no hay mucha necesidad de un sistema operativo. Además, el sistema es “conocido” en que su código se ejecutará en hardware fijo. Los tiempos de ejecución son muy predecibles. Por supuesto, el poder computacional de los procesadores tiende a ser mucho menor que en el mundo de los escritorios. Aún así, puedes hacer cosas que no son prácticas en el mundo de los escritorios debido a la variación del hardware. Un ejemplo clásico es un “bucle de sincronización”. A veces es necesario crear un retraso de tiempo o “perder” una cierta cantidad de tiempo, tal vez para la sincronización con algún hardware externo. Puedes hacer esto con un bucle simple que itera un número específico de veces:

    for( c=0; c<1000; c++ );
    

    Este bucle no hace más que contar, pero cada conteo requerirá un cierto número de ciclos de reloj del microcontrolador, y por lo tanto un tiempo específico. Estos suelen determinarse experimentalmente. Podrías sentarte con los manuales del procesador y averiguar cuánto tiempo tardará un bucle, pero suele ser más fácil simplemente escribir la cosa y probar algunos valores. El resultado dependerá del microcontrolador específico utilizado así como de su frecuencia de reloj.


    This page titled 15.4: Memoria y Hardware is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by James M. Fiore via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.