This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Modified harvard architecture

Hello,

I am preparing for the AAE. ARM is a modified Harvard architecture. What is this about ? I searched in internet and got various answers.

Can anyone tell me exactly what is this modified Harvard architecture in ARM's point of view ? Please point to any relevant literature.

Regards,

Deepu

Parents
  • Hi Deepu,

    Your source of information described the ARM processors as modified Harvard architecture because recent releases of high-performance versions of the ARM architecture provide separate instruction and data buses to the core but these buses access a unified memory space.

    That said, if you read the technical documents relating to these processors, the facts can confuse you. The list below designate some core as Harvard architecture while others are von Neumann:

    1.1.2 Memory access

    The ARM7TDMI core has a Von Neumann architecture, with a single 32-bit data bus carrying both instructions and data.

    1.1 About the ARM920T

    The ARM9TDMI processor core is a Harvard architecture device implemented using a five-stage pipeline consisting of Fetch, Decode, Execute, Memory, and Write stages.

    The ARM920T processor is a Harvard cache architecture processor that is targeted at multiprogrammer applications where full memory management, high performance, and low power are all-important. The separate instruction and data caches in this design are 16KB each in size, with an 8-word line length.

    The ARM920T interface to the rest of the system is over unified address and data buses.

    1.1 About the Cortex-M0 processor and core peripherals

    The Cortex-M0 processor is built on a high-performance processor core, with a 3-stage pipeline von Neumann architecture, making it ideal for demanding embedded applications.

    1.1 About the Cortex-M4 processor and core peripherals

    The Cortex-M4 processor is built on a high-performance processor core, with a 3-stage pipeline Harvard architecture, making it ideal for demanding embedded applications.

    1.1 About the Cortex-M7 processor and core peripherals

    The Cortex-M7 processor is built on a high-performance processor core, with a 6-stage pipeline Harvard architecture, making it ideal for demanding embedded applications.

    Regardless how a particular core is categorized, you can find that the processors access a unified memory space. Read the last line for the ARM920T above. Open the respective (ARM Architecture) Reference Manual and search for any of these keywords:

    address space, memory model, memory space

    you will be able to read

    unified or single, flat address space

    Based on my understanding the ARM architecture was originally of von Neumann architecture and even to this day the processor cores retain this inherent attribute. Advances in technology allowed the designers to employ a separate path for instruction and data from a single memory space to the core. As you can see from the list, Harvard architecture features are implemented only at the pipeline and cache and this modification is generally transparent to the programmer. Just note though that processors other than ARM such as the 80x86 and POWER  Architecture also implemented such a modification prior to ARM.

    This particular variant of modified Harvard architecture is where the ARM architecture can be generally classified but cores designed for lower cost might still use the von Neumann architecture. You can observe this from the list as the older ARM7TDMI and the relatively new but low cost Cortex-M0 are those which were categorized as von Neumann. Processors that implement a cache can be configured to have a Harvard or unified cache.

    It's very unlikely that I have told you "exactly what is this modified Harvard architecture in ARM's point of view" so please try to get more dependable information from these books:

    • ARM Architecture Reference Manual, Second Edition

    Edited by David Seal

    • The Definitive Guide to ARM Cortex-M0 and Cortex-M0+ Processors, Second Edition

    by Joseph Yiu

    • The Definitive Guide to ARM Cortex-M3 and Cortex®-M4 Processors, Third Edition

    by Joseph Yiu

    • Computer Organization and Design: The Hardware/Software Interface - ARM Edition, Fourth Edition

    by David Patterson and John Hennessy

    Good Luck on your AAE.

    Goodwin

Reply
  • Hi Deepu,

    Your source of information described the ARM processors as modified Harvard architecture because recent releases of high-performance versions of the ARM architecture provide separate instruction and data buses to the core but these buses access a unified memory space.

    That said, if you read the technical documents relating to these processors, the facts can confuse you. The list below designate some core as Harvard architecture while others are von Neumann:

    1.1.2 Memory access

    The ARM7TDMI core has a Von Neumann architecture, with a single 32-bit data bus carrying both instructions and data.

    1.1 About the ARM920T

    The ARM9TDMI processor core is a Harvard architecture device implemented using a five-stage pipeline consisting of Fetch, Decode, Execute, Memory, and Write stages.

    The ARM920T processor is a Harvard cache architecture processor that is targeted at multiprogrammer applications where full memory management, high performance, and low power are all-important. The separate instruction and data caches in this design are 16KB each in size, with an 8-word line length.

    The ARM920T interface to the rest of the system is over unified address and data buses.

    1.1 About the Cortex-M0 processor and core peripherals

    The Cortex-M0 processor is built on a high-performance processor core, with a 3-stage pipeline von Neumann architecture, making it ideal for demanding embedded applications.

    1.1 About the Cortex-M4 processor and core peripherals

    The Cortex-M4 processor is built on a high-performance processor core, with a 3-stage pipeline Harvard architecture, making it ideal for demanding embedded applications.

    1.1 About the Cortex-M7 processor and core peripherals

    The Cortex-M7 processor is built on a high-performance processor core, with a 6-stage pipeline Harvard architecture, making it ideal for demanding embedded applications.

    Regardless how a particular core is categorized, you can find that the processors access a unified memory space. Read the last line for the ARM920T above. Open the respective (ARM Architecture) Reference Manual and search for any of these keywords:

    address space, memory model, memory space

    you will be able to read

    unified or single, flat address space

    Based on my understanding the ARM architecture was originally of von Neumann architecture and even to this day the processor cores retain this inherent attribute. Advances in technology allowed the designers to employ a separate path for instruction and data from a single memory space to the core. As you can see from the list, Harvard architecture features are implemented only at the pipeline and cache and this modification is generally transparent to the programmer. Just note though that processors other than ARM such as the 80x86 and POWER  Architecture also implemented such a modification prior to ARM.

    This particular variant of modified Harvard architecture is where the ARM architecture can be generally classified but cores designed for lower cost might still use the von Neumann architecture. You can observe this from the list as the older ARM7TDMI and the relatively new but low cost Cortex-M0 are those which were categorized as von Neumann. Processors that implement a cache can be configured to have a Harvard or unified cache.

    It's very unlikely that I have told you "exactly what is this modified Harvard architecture in ARM's point of view" so please try to get more dependable information from these books:

    • ARM Architecture Reference Manual, Second Edition

    Edited by David Seal

    • The Definitive Guide to ARM Cortex-M0 and Cortex-M0+ Processors, Second Edition

    by Joseph Yiu

    • The Definitive Guide to ARM Cortex-M3 and Cortex®-M4 Processors, Third Edition

    by Joseph Yiu

    • Computer Organization and Design: The Hardware/Software Interface - ARM Edition, Fourth Edition

    by David Patterson and John Hennessy

    Good Luck on your AAE.

    Goodwin

Children