Saltar al contenido principal
LibreTexts Español

1.3: Arquitecturas de Von Neumann y Harvard

  • Page ID
    80680
  • \( \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}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Al discutir cómo se accede a la memoria a nivel de CPU, hay dos diseños a considerar. La primera es una arquitectura de Von Neumann, y la segunda es una arquitectura de Harvard. La principal diferencia entre las dos arquitecturas es que en una arquitectura de Von Neumann toda la memoria es capaz de almacenar todos los elementos del programa, datos e instrucciones; en una arquitectura de Harvard la memoria se divide en dos memorias, una para datos y otra para instrucciones.

    Para esta monografía, el tema principal que implica decidir qué arquitectura usar es que algunas operaciones tienen que acceder a la memoria tanto para obtener la instrucción a ejecutar, como para acceder a los datos para operar. Debido a que solo se puede acceder a la memoria una vez por ciclo de reloj, en principio una arquitectura de Von Neumann requiere al menos dos ciclos de reloj para ejecutar una instrucción, mientras que una arquitectura de Harvard puede ejecutar instrucciones en un solo ciclo.

    La capacidad en una arquitectura de Harvard para ejecutar una instrucción en una sola instrucción conduce a un diseño mucho más simple y limpio para una CPU que uno implementado usando una arquitectura de Von Neumann. Para esta primera monografía se implementará una implementación de Harvard. Posteriormente, monografías analizarán la implementación de la CPU utilizando la arquitectura de Von Neumann.

    Figura 1-8: Diferencia entre una arquitectura de Von Neumann y Harvard

    Screen Shot 2020-07-02 at 6.45.58 PM.png


    This page titled 1.3: Arquitecturas de Von Neumann y Harvard is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Charles W. Kann III via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.