In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, a tagged architecture
[
] is a particular type of
computer architecture
In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the ...
where every
word
A word is a basic element of language that carries an objective or practical meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consen ...
of memory constitutes a
tagged union
In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type or coproduct, is a data structure used to hold a value that could take on several different, but fixed, types. O ...
, being divided into a number of bits of data, and a ''tag'' section that describes the type of the data: how it is to be interpreted, and, if it is a reference, the type of the object that it points to. In contrast, program and data memory are indistinguishable in the
von Neumann architecture
The von Neumann architecture — also known as the von Neumann model or Princeton architecture — is a computer architecture based on a 1945 description by John von Neumann, and by others, in the '' First Draft of a Report on the EDVAC''. Th ...
, making the way the memory is referenced critical to interpret the correct meaning.
Notable examples of American tagged architectures were the
Lisp machine
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
s, which had
tagged pointer support at the hardware and
opcode
In computing, an opcode (abbreviated from operation code, also known as instruction machine code, instruction code, instruction syllable, instruction parcel or opstring) is the portion of a machine language instruction that specifies the opera ...
level, the
Burroughs large systems, which have a data-driven tagged and descriptor-based architecture, and the non-commercial
Rice Computer.
[ (mostly written in ]r before
R, or r, is the eighteenth letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''ar'' (pronounced ), plural ''ars'', or in Irelan ...
1994, and archived by the Wayback Machine
The Wayback Machine is a digital archive of the World Wide Web founded by the Internet Archive, a nonprofit based in San Francisco, California. Created in 1996 and launched to the public in 2001, it allows the user to go "back in time" and s ...
on a date indicated y "20080224"in the URL) Both the Burroughs and Lisp machine are examples of
high-level language computer architectures, where the tagging is used to support types from a
high-level language at the hardware level.
In addition to this, the original
Xerox Smalltalk implementation used the least-significant bit of each 16-bit word as a tag bit: if it was clear then the hardware would accept it as an
aligned
''Aligned'' is a 2023 drama film written and directed by Apollo Bakopoulos. The film had its world premiere at the Brooklyn Film Festival
The Brooklyn Film Festival (BFF), prior to 2011 called the Brooklyn International Film Festival (BiFF) i ...
memory address while if it was set it was treated as a (shifted) 15-bit integer. Current Intel documentation mentions that the lower bits of a memory address might be similarly used by some interpreter-based systems.
In the Soviet Union, the
Elbrus
Mount Elbrus ( rus, links=no, Эльбрус, r=Elbrus, p=ɪlʲˈbrus; kbd, Ӏуащхьэмахуэ, 'uaşhəmaxuə; krc, Минги тау, Mingi Taw) is the highest and most prominent peak in Russia and Europe. It is situated in the we ...
series of supercomputers pioneered the use of tagged architectures in 1973.
See also
*
Executable space protection
In computer security, executable-space protection marks memory regions as non-executable, such that an attempt to execute machine code in these regions will cause an exception. It makes use of hardware features such as the NX bit (no-execute bit ...
References
Computer architecture
{{comp-sci-stub