Differently from the Neumann architecture, The Harvard architecture has different storage and buses for code instructions and data.
Modern processors appear to the user to be systems with von Neumann
architectures, with the program code stored in the same main memory as the
data. For performance reasons, internally and largely invisible to the user,
most designs have separate processor caches for the instructions and data,
with separate pathways into the processor for each. This is one form of what
is known as the modified Harvard architecture.
An important note is that:
A modified Harvard architecture is a variation of the Harvard computer
architecture that, unlike the pure Harvard architecture, allows memory that
contains instructions to be accessed as data. Most modern computers that are
documented as Harvard architecture are, in fact, modified Harvard
architecture.
This modification is widespread in modern processors, such as the ARM
architecture, Power ISA and x86 processors. It is sometimes loosely called a
Harvard architecture, overlooking the fact that it is actually "modified".
Harvard architecture model is mainly used in microcontrollers:
microcontrollers have a small program and data memory that needs to be
accessed simultaneously. However, Harvard architecture is not always used in
microcontrollers; some microcontroller families use hybrid or Von Neumann
architecture models.