The Motorola 6809 ("''sixty-eight-oh-nine''") is an
8-bit
In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
with some
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
features. It was designed by
Motorola
Motorola, Inc. () was an American Multinational corporation, multinational telecommunications company based in Schaumburg, Illinois, United States. After having lost $4.3 billion from 2007 to 2009, the company split into two independent p ...
's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible with the earlier
Motorola 6800
The 6800 ("''sixty-eight hundred''") is an 8-bit computing, 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the Motorola 6800 family, M6800 Microcomputer System (latter dubbed ''68xx' ...
, the 6809 offered significant improvements over it and 8-bit contemporaries like the
MOS Technology 6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small t ...
, including a hardware multiplication instruction, 16-bit arithmetic, system and user
stack register
A stack register is a computer central processor register whose purpose is to keep track of a call stack. On an accumulator-based architecture machine, this may be a dedicated register. On a machine with mulitple general-purpose registers, it may ...
s allowing re-entrant code, improved
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s, position-independent code and an
orthogonal instruction set
In computer engineering, an orthogonal instruction set is an instruction set architecture where all instruction types can use all addressing modes. It is "orthogonal" in the sense that the instruction type and the addressing mode vary independentl ...
architecture with a comprehensive set of addressing modes.
Among the most powerful 8-bit processors of its era, it was also much more expensive. In 1980 a 6809 in single-unit quantities was compared to for a
Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples wer ...
and for a 6502. It was launched when a new generation of 16-bit processors were coming to market, like the
Intel 8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
, and 32-bit designs were on the horizon, including Motorola's own
68000
The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
. It was not feature competitive with newer designs and not price competitive with older ones.
The 6809 was used in the
TRS-80 Color Computer
The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer and sometimes nicknamed the CoCo, is a line of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Co ...
,
Dragon 32/64
The Dragon 32 and Dragon 64 are home computers that were built in the 1980s. The Dragons are very similar to the TRS-80 Color Computer, and were produced for the European market by Dragon Data, Ltd., initially in Swansea, Wales before mov ...
,
SuperPET,
ENER 1000
The ENER 1000 was a Portuguese computer released in 1982.
It had 64 KB RAM and two -inch double-density floppy disk drives.
It ran the CP/M operating system.
The machine was developed on Universidade de Coimbra and sold through Enertrónica ...
, and
Thomson MO/TO home computers, the
Vectrex
The Vectrex is a vector display-based home video game console–the only one ever designed and released for the home market, developed by Smith Engineering. It was first released for the North America market in November 1982 and then Europe and ...
game console, and early 1980s arcade machines including ''
Star Wars
''Star Wars'' is an American epic film, epic space opera multimedia franchise created by George Lucas, which began with the Star Wars (film), eponymous 1977 film and quickly became a worldwide popular culture, pop-culture Cultural impact of S ...
'', ''
Defender'', ''
Robotron: 2084'', ''
Joust
Jousting is a martial game or hastilude between two horse riders wielding lances with blunted tips, often as part of a tournament. The primary aim was to replicate a clash of heavy cavalry, with each participant trying to strike the opponent w ...
'', and ''
Gyruss
is an arcade shoot 'em up game designed by Yoshiki Okamoto and released by Konami in 1983. ''Gyruss'' was initially licensed to Centuri in the United States for dedicated machines, before Konami released their own self-distributed conversion ki ...
''. 1990s
Williams pinball machines are equipped with
WPC-series controller boards based on 68B09. Series II of the
Fairlight CMI
The Fairlight CMI (short for Computer Musical Instrument) is a digital synthesizer, sampler, and digital audio workstation introduced in 1979 by Fairlight.
— with links to some Fairlight history and photos
It was based on a commercial lic ...
digital audio workstation and Konami's ''
Time Pilot '84
''Time Pilot '84: Further Into Unknown World'' is a scrolling multidirectional shooter released in arcades in 1984 by Konami. The different time periods of 1982's ''Time Pilot'' are replaced by a top-down view of a science fiction landscape th ...
'' arcade game each use dual 6809 processors.
Hitachi
() is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Ni ...
was a major user of the 6809 and later produced an updated version as the
Hitachi 6309
The 6309 is Hitachi's CMOS version of the Motorola 6809 microprocessor, released in late 1982. It was initially marketed as a low-power version of the 6809, without reference to its many internal improvements.
While in "Emulation Mode" it is f ...
.
History
6800 and 6502
The
Motorola 6800
The 6800 ("''sixty-eight hundred''") is an 8-bit computing, 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the Motorola 6800 family, M6800 Microcomputer System (latter dubbed ''68xx' ...
was designed beginning in 1971 and released in 1974. In overall design terms, it has a strong resemblance to other CPUs that were designed from the start as 8-bit designs, like the
Intel 8080
The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
. It was initially fabricated using early
NMOS logic
N-type metal-oxide-semiconductor logic uses n-type (-) MOSFETs (metal-oxide-semiconductor field-effect transistors) to implement logic gates and other digital circuits. These nMOS transistors operate by creating an inversion layer in a p-type ...
, which normally required several different
power supply
A power supply is an electrical device that supplies electric power to an electrical load. The main purpose of a power supply is to convert electric current from a source to the correct voltage, current, and frequency to power the load. As a r ...
voltages. A key feature was an on-chip
voltage doubler
A voltage doubler is an electronic circuit which charges capacitors from the input voltage and switches these charges in such a way that, in the ideal case, exactly twice the voltage is produced at the output as at its input.
The simplest of thes ...
allowed it to run on a single supply, a major advantage over its competitors like the
Intel 8080
The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
which required , , and
ground.
The 6800 was initially fabricated using the then-current
contact lithography
Contact lithography, also known as contact printing, is a form of photolithography whereby the image to be printed is obtained by illumination of a photomask in direct contact with a substrate coated with an imaging photoresist layer.
History
The ...
process. In this process, the
photomask
A photomask is an opaque plate with holes or transparencies that allow light to shine through in a defined pattern. They are commonly used in photolithography and the production of integrated circuits (ICs or "chips") in particular. Masks are used ...
is placed in direct contact with the
wafer
A wafer is a crisp, often sweet, very thin, flat, light and dry biscuit, often used to decorate ice cream, and also used as a garnish on some sweet dishes. Wafers can also be made into cookies with cream flavoring sandwiched between them. They ...
, exposed, and then lifted off. There was a small chance that some of the etching material would be left on the wafer when it was lifted, causing future chips patterned with the mask to fail. For complex multi-patterned designs like a CPU, this led to about 90% of the chips failing when tested. To make a profit on the small number of chips that did work, the prices for the working models had to be fairly high, on the order of hundreds of dollars in small quantities.
As a result, the 6800 had relatively low market acceptance after its release.
A number of the 6800's designers were convinced that a lower-cost system would be key to widespread acceptance. Notable among them was
Chuck Peddle
Charles Ingerham Peddle (November 25, 1937 – December 15, 2019) was an American electrical engineer best known as the main designer of the MOS Technology 6502 microprocessor, the single-board computer, and its successor, the Commodore PET p ...
, who was sent on sales trips and saw prospective customers repeatedly reject the design as being too expensive for their intended uses. He began a project to produce a much less costly design, but Motorola's management proved uninterested and eventually told him to stop working on it. Peddle and a number of other members of the 6800 team left Motorola for
MOS Technology
MOS Technology, Inc. ("MOS" being short for Metal Oxide Semiconductor), later known as CSG (Commodore Semiconductor Group) and GMT Microelectronics, was a semiconductor design and fabrication company based in Audubon, Pennsylvania. It is mo ...
and introduced this design in 1975 as the
MOS Technology 6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small t ...
. The 6800 was initially sold at in single-unit quantities,
[ MC6800 microprocessor price was $360. The MC6850 asynchronous communications interface adaptor (ACIA) was slated for first quarter 1975 introduction.] but had been lowered to by this point. The 6502 sold for .
There were three reasons for the 6502's low cost. One was that the designers stripped out any feature that wasn't absolutely required. This led to the removal of one of the two accumulators and the use of smaller 8-bit
index register
An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
s, both resulting in less internal wiring. Another change was the move to
depletion-load NMOS logic
In integrated circuits, depletion-load NMOS is a form of digital logic family that uses only a single power supply voltage, unlike earlier NMOS (n-type metal-oxide semiconductor) logic families that needed more than one different power supply v ...
, a new technique that required only . The 6800 had only a single pin externally but had multiple voltages internally that required separate power rails to be routed around the chip. These two changes allowed the 6502 to be , as opposed to the 6800's , meaning twice as many chips could be produced from a single wafer. Finally, MOS was using the new
Micralign
The Perkin-Elmer Micralign was a family of aligners introduced in 1973. Micralign was the first projection aligner, a concept that dramatically improved semiconductor fabrication. According to the Chip History Center, it "literally made the modern ...
lithography system that improved average yield from around 10% to 70%.
[
With the introduction of the 6502, Motorola immediately lowered the price of the 6800 to $125, but it remained uncompetitive and sales prospects dimmed. The introduction of the Micralign to Motorola's lines allowed further reductions and by 1981 the price of the then-current 6800P was slightly less than the equivalent 6502, at least in single-unit quantities. By that point, however, the 6502 had sold tens of millions of units and the 6800 had been largely forgotten.
]
6809
While the 6502 began to take over the 6800's market, Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
was experiencing the same problem when the upstart Zilog Z80
The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples wer ...
began to steal sales from the Intel 8080
The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
. Both Motorola and Intel began new design cycles to leapfrog those designs. This process led Intel to begin the design of a series of 16-bit processors, which emerged as the Intel 8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
in 1978. Motorola also began the design of a similar high-end design, in the MACSS project. When they polled their existing 6800 customers, they found that many remained interested in 8-bit designs and were not willing to pay for a 16-bit design for their simple needs. This led to the decision to produce a greatly improved but compatible 8-bit designs that became the 6809.
Analysis of 6800 code demonstrated that loads and stores were the vast majority of all the time in CPU terms, accounting for 39% of all the operations in the code they examined. In contrast, mathematical operations were relatively rare, only 2.8% of the code. However, a careful examination of the loads and stores noted that many of these were being combined with adds and subtracts, revealing that a significant amount of those math operations were being performed on 16-bit values. This led to the decision to include basic 16-bit mathematics in the new design; load, store, add and subtract. Similarly, increments and decrements accounted for only 6.1% of the code, but these almost always occurred within loops where each one was performed many times. This led to the addition of post-incrementing and pre-decrementing modes using the index register
An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
s.
The main goal for the new design was to support position-independent code
In computing, position-independent code (PIC) or position-independent executable (PIE) is a body of machine code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used for ...
. Motorola's market was mostly embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s and similar single-purpose systems, which often ran programs that were very similar to those on other platforms. Development for these systems often took the form of collecting a series of pre-rolled subroutine
In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed.
Functions may ...
s and combining them together. However, as assembly language
In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
is generally written starting at a "base address", combining pre-written modules normally required a lengthy process of changing constants (or "equates") that pointed to key locations in the code.
Motorola's idea was to eliminate this task and make the building-block concept much more practical. System integrators would simply combine off-the-shelf code in ROMs to handle common tasks. Libraries of common routines like floating point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
arithmetic, graphics primitives, Lempel-Ziv compression, and so forth would be available to license, combine together along with custom code, and burn to ROM.
In previous processor designs, including the 6800, there was a mix of ways to refer to memory locations. Some of these were relative to the current location in memory or to a value in an index register, while others were absolute, a 16-bit value that referred to a physical location in memory. The former style allows code to be moved because the address it references will move along with the code. The absolute locations do not; code that uses this style of addressing will have to be recompiled if it moves. To address this, the 6809 filled out its instruction opcodes so that there were more instances of relative addressing where possible.
As an example, the 6800 included a special "direct" addressing mode
Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instructions in ...
that was used to make code smaller and faster; instead of a memory address having 16-bits and thus requiring two bytes to store, direct addresses were only 8-bits long. The downside was that it could only refer to memory within a 256-byte window, the "direct page
The zero page or base page is the block of memory at the very beginning of a computer's address space; that is, the page (computer memory), page whose starting address is zero. The size of a page depends on the context, and the significance of z ...
", which was normally at the bottom of memory - the 6502 referred to this as " zero page addressing". The 6809 added a new 8-bit DP register, for "direct page". Code that formerly had to be in the zero page
The zero page or base page is the block of memory at the very beginning of a computer's address space; that is, the page whose starting address is zero. The size of a page depends on the context, and the significance of zero page memory versus h ...
could now be moved anywhere in memory as long as the DP was changed to point to its new location.
Using DP solved the problem of referring to addresses within the code, but data is generally located some distance from the code, outside ROM. To solve the problem of easily referring to data while remaining position independent, the 6809 added a variety of new addressing modes. Among these was program-counter-relative addressing which allowed any memory location to be referred to by its location relative to the instruction. Additionally, the stack
Stack may refer to:
Places
* Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group
* Blue Stack Mountains, in Co. Donegal, Ireland
People
* Stack (surname) (including a list of people ...
was more widely used, so that a program in ROM could set aside a block of memory in RAM, set the SP to be the base of the block, and then refer to data within it using relative values.
To aid this type of access, the 6809 renamed the SP to U for "user", and added a second stack pointer, S, for "system". The idea was user programs would use U while the CPU itself would use S to store data during subroutine calls. This allowed system code to be easily called by changing S without affecting any other running program. For instance, a program calling a floating-point routine in ROM would place its data on the U stack and then call the routine, which could then perform the calculations using data on its own private stack pointed to by S, and then return, leaving the U stack untouched.
Another reason for the expanded stack access was to support reentrant
Reentrant or re-entrant can refer to:
*Re-entrant (landform), the low ground formed between two hill spurs.
*Reentrancy (computing) in computer programming
*Reentrant mutex in computer science
*Reentry (neural circuitry) in neuroscience
*Salients ...
code, code that can be called from various different programs concurrently without concern for coordination between them, or that can recursively call itself. This makes the construction of operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s much easier; the operating system had its own stack, and the processor could quickly switch between a user application and the operating system simply by changing which stack pointer it was using. This also makes servicing interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s much easier for the same reason. Interrupts on the 6809 save only the program counter and condition code register before calling the interrupt code, whereas the 6800, now referred saves all of the registers, taking additional cycles, then more to unwind the stack on exit.
The 6809 includes one of the earliest dedicated hardware multipliers. It takes 8-bit numbers in the A and B accumulators and produces a result in A:B, known collectively as D.
Market acceptance
Much of the design had been based around the market concept of building-block code. But the market for pre-rolled ROM modules never materialized: Motorola's only released example was the MC6839 floating-point ROM. The industry as a whole solved the problem of integrating code modules from separate sources by using automatic relocating linkers and loaders, which is the solution used today. However, the decisions made by the design team enabled multi-user, multitasking operating systems like OS-9
OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001, and ...
and UniFlex.
The added features of the 6809 were costly; the CPU had approximately 9,000 transistors compared to the 6800's 4,100 or the 6502's 3,500. While process improvements meant it could be fabricated for less cost than the original 6800, those same improvements were being applied to the other designs and so the relative cost remained the same. Such was the case in practice; in 1981 the 6809 sold in single-unit quantities for roughly six times the price of a 6502. For those systems that needed some of its special features, like the hardware multiplier, the system could justify its price, but in most roles, it was overlooked.
Another factor in its low use was the presence of newer designs with significantly higher performance. Among these was the Intel 8086
The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allowi ...
, released the same year, and its lower-cost version, the Intel 8088
The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers an ...
of 1979. A feeling for the problem can be seen in the Byte Sieve
The Byte Sieve is a computer-based implementation of the Sieve of Eratosthenes published by ''Byte'' as a programming language performance benchmark. It first appeared in the September 1981 edition of the magazine and was revisited on occasion. Al ...
assembly language results against other common designs from the era (taken from 1981 and 1983):
Although the 6809 did offer a performance improvement over the likes of the 6502 and Z80, the improvement was not in line with the increase in price. For those where price was not the primary concern, but outright performance was, the new designs outperformed it by as much as an order of magnitude
An order of magnitude is an approximation of the logarithm of a value relative to some contextually understood reference value, usually 10, interpreted as the base of the logarithm and the representative of values of magnitude one. Logarithmic dis ...
.
Even before the 6809 was released, in 1976 Motorola had launched its own advanced CPU project, then known as Motorola Advanced Computer System on Silicon project, or MACSS. Although too late to be chosen for the IBM PC
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
project, when MACSS appeared as the Motorola 68000
The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
in 1979 it took any remaining interest in the 6809. Motorola soon announced that their future 8-bit systems would be powered by cut-down versions of the 68000 rather than further improved versions of the 6809.
Major uses
Its first major use was in the TRS-80 Color Computer
The RadioShack TRS-80 Color Computer, later marketed as the Tandy Color Computer and sometimes nicknamed the CoCo, is a line of home computers developed and sold by Tandy Corporation. Despite sharing a name with the earlier TRS-80, the Color Co ...
, which happened largely by accident. Motorola had been asked to design a color-capable computer terminal
A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and ...
for an online farm-aid project, a system known as "AgVision". Tandy (Radio Shack
RadioShack, formerly RadioShack Corporation, is an American retailer founded in 1921.
At its peak in 1999, RadioShack operated over 8,000 worldwide stores named RadioShack or Tandy Electronics in the United States, Mexico, United Kingdom, Austra ...
) was brought in as a retail partner and sold them under the name "VideoTex", but the project was ultimately canceled shortly after its introduction in 1980. Tandy then re-worked the design to produce a home computer, which became one of the 6809's most notable design wins.
Looking for a low-cost programming platform for 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 Applied science, practical discipli ...
students, the University of Waterloo
The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario
Waterloo is a city in the Canadian province of Ontario. It is one of three cities in the Regional Municipality ...
developed a system that combined a 6809-based computer-on-a-card with an existing Commodore PET
The Commodore PET is a line of personal computers produced starting in 1977 by Commodore International. A single all-in-one case combines a MOS Technology 6502 microprocessor, Commodore BASIC in read-only memory, keyboard, monochrome monitor, an ...
, including a number of programming languages and program editors in ROM. The result was later picked up by Commodore, who sold it as the SuperPET, or MicroMainframe in Europe. These were relatively popular in the mid-1980s before the introduction of the PC clone
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
market took over the programming role for most users.
Other popular home computer uses include the Fujitsu FM-7
The FM-7 ("Fujitsu Micro 7") is a home computer created by Fujitsu. It was first released in 1982 and was sold in Japan and Spain. It is a stripped-down version of Fujitsu's earlier FM-8 computer, and during development it was referred to as the ...
, Canon CX-1, Dragon 32/64
The Dragon 32 and Dragon 64 are home computers that were built in the 1980s. The Dragons are very similar to the TRS-80 Color Computer, and were produced for the European market by Dragon Data, Ltd., initially in Swansea, Wales before mov ...
, and the Thomson TO7 Thomson may refer to:
Names
* Thomson (surname), a list of people with this name and a description of its origin
* Thomson baronets, four baronetcies created for persons with the surname Thomson
Businesses and organizations
* SGS-Thomson Mic ...
series. It was also available as an option on the Acorn System 2
The Acorn Eurocard systems were a series of modular microcomputer systems based on rack-mounted Eurocards developed by Acorn Computers from 1979 to 1982, aimed primarily at industrial and laboratory use, but also home enthusiasts.
The experience ...
, 3 and 4 computers. Most SS-50 bus
The SS-50 bus was an early computer bus designed as a part of the SWTPC 6800 Computer System that used the Motorola 6800 CPU. The SS-50 motherboard would have around seven 50-pin connectors for CPU and memory boards plus eight 30-pin connectors f ...
designs that had been built around the 6800 also had options for the 6809 or switched to it exclusively. Examples include machines from SWTPC
Southwest Technical Products Corporation, or SWTPC, was an American producer of electronic kits, and later complete computer systems. It was incorporated in 1967 in San Antonio, Texas, succeeding the Daniel E. Meyer Company. In 1990, SWTPC beca ...
, Gimix, Smoke Signal Broadcasting
Smoke is a suspension of airborne particulates and gases emitted when a material undergoes combustion or pyrolysis, together with the quantity of air that is entrained or otherwise mixed into the mass. It is commonly an unwanted by-product ...
, etc. Motorola also build a series of EXORmacs
VERSAdos is an operating system dating back to the early 1980s for use on the Motorola 68000 development system called the '' EXORmacs'' which featured the VERSAbus and an array of option cards. They were typically connected to CDC Phoenix disk d ...
and EXORset development systems.
Hitachi
() is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Ni ...
produced its own 6809-based machines, the MB-6890 and later the S1. These were primarily for the Japanese market, but some were exported to and sold in Australia
Australia, officially the Commonwealth of Australia, is a Sovereign state, sovereign country comprising the mainland of the Australia (continent), Australian continent, the island of Tasmania, and numerous List of islands of Australia, sma ...
, where the MB-6890 was dubbed the "Peach", probably in reference to the Apple II
The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
. The S1 was notable in that it contained paging
In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage ...
hardware extending the 6809's native 64 kilobyte
The kilobyte is a multiple of the unit byte for digital information.
The International System of Units (SI) defines the prefix ''kilo'' as 1000 (103); per this definition, one kilobyte is 1000 bytes.International Standard IEC 80000-13 Quantiti ...
addressing range to a full 1 megabyte
The megabyte is a multiple of the unit byte for digital information. Its recommended unit symbol is MB. The unit prefix ''mega'' is a multiplier of (106) in the International System of Units (SI). Therefore, one megabyte is one million bytes o ...
in 4 KB pages. It was similar in this to machines produced by SWTPC
Southwest Technical Products Corporation, or SWTPC, was an American producer of electronic kits, and later complete computer systems. It was incorporated in 1967 in San Antonio, Texas, succeeding the Daniel E. Meyer Company. In 1990, SWTPC beca ...
, Gimix, and several other suppliers. TSC produced a Unix-like operating system uniFlex which ran only on such machines. OS-9
OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001, and ...
Level II, also took advantage of such memory management facilities. Most other computers of the time with more than 64 KB of memory addressing were limited to bank switching
Bank switching is a technique used in computer design to increase the amount of usable memory beyond the amount directly addressable by the processor instructions. It can be used to configure a system differently at different times; for example ...
where much if not all the 64 KB was simply swapped for another section of memory, although in the case of the 6809, Motorola offered their own MC6829 MMU design mapping 2 megabytes in 2 KB pages.
The 6809 also saw use in various videogame
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This feedb ...
systems. Notable among these, in the 68A09 incarnation, was the unique vector graphics
Vector graphics is a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector display a ...
-based Vectrex
The Vectrex is a vector display-based home video game console–the only one ever designed and released for the home market, developed by Smith Engineering. It was first released for the North America market in November 1982 and then Europe and ...
home videogame machine. It was also used in the Milton Bradley Expansion (MBX) system (an arcade console for the TI-99/4A
The TI-99/4 and TI-99/4A are home computers released by Texas Instruments in 1979 and 1981, respectively. Based on the Texas Instruments TMS9900 microprocessor originally used in minicomputers, the TI-99/4 was the first 16-bit home computer. ...
home computer), and a series of arcade game
An arcade game or coin-op game is a coin-operated entertainment machine typically installed in public businesses such as restaurants, bars and amusement arcades. Most arcade games are presented as primarily games of skill and include arcade v ...
s released during the early to mid-1980s. Williams Electronics
WMS Industries, Inc. was an American electronic gaming and amusement manufacturer in Enterprise, Nevada. It was merged into Scientific Games in 2016. WMS's predecessor was the Williams Manufacturing Company, founded in 1943 by Harry E. Williams ...
was a prolific user of the processor, which was deployed in '' Defender'', ''Stargate
''Stargate'' (often stylized in all caps) is a military science fiction media franchise based on the Stargate (film), film directed by Roland Emmerich, which he co-wrote with producer Dean Devlin. The franchise is based on the idea of an alien E ...
'', ''Joust
Jousting is a martial game or hastilude between two horse riders wielding lances with blunted tips, often as part of a tournament. The primary aim was to replicate a clash of heavy cavalry, with each participant trying to strike the opponent w ...
'', '' Robotron: 2084'', ''Sinistar
''Sinistar'' is a 1983 multidirectional shooter arcade game developed and manufactured by Williams Electronics. It was created by Sam Dicker, Jack Haeger, Noah Falstein, RJ Mical, Python Anghelo, and Richard Witt. Players control a spacecraft pi ...
'', and other games. The 6809 CPU forms the core of the successful Williams Pinball Controller
The Williams Pinball Controller (WPC) is an arcade system board platform used for several pinball games designed by Williams and Midway (under the ''Bally'' name) between 1990 and early 1999. It is the successor to their earlier System 11 hardw ...
. The KONAMI-1 is a modified 6809 used by Konami
, is a Japanese Multinational corporation, multinational video game company, video game and entertainment company headquartered in Chūō, Tokyo, Chūō, Tokyo, it also produces and distributes trading cards, anime, tokusatsu, pachinko machin ...
in ''Roc'n Rope
(written as ''Roc 'N Rope'' on the American flyer and in ''Konami Arcade Classics'') is a platform game developed by Konami and released in arcades in 1983 by Konami, Kosuka, and Interlogic. It was designed by Tokuro Fujiwara. The player control ...
'', ''Gyruss
is an arcade shoot 'em up game designed by Yoshiki Okamoto and released by Konami in 1983. ''Gyruss'' was initially licensed to Centuri in the United States for dedicated machines, before Konami released their own self-distributed conversion ki ...
'', and ''The Simpsons
''The Simpsons'' is an American animated sitcom created by Matt Groening for the Fox Broadcasting Company. The series is a satirical depiction of American life, epitomized by the Simpson family, which consists of Homer, Marge, Bart, Lisa, ...
''.
Series II of the Fairlight CMI
The Fairlight CMI (short for Computer Musical Instrument) is a digital synthesizer, sampler, and digital audio workstation introduced in 1979 by Fairlight.
— with links to some Fairlight history and photos
It was based on a commercial lic ...
(computer musical instrument) used dual 6809 CPUs running OS-9
OS-9 is a family of real-time, process-based, multitasking, multi-user operating systems, developed in the 1980s, originally by Microware Systems Corporation for the Motorola 6809 microprocessor. It was purchased by Radisys Corp in 2001, and ...
, and also used one 6809 CPU per voice card. The 6809 was often employed in music synthesizers from other manufacturers such as Oberheim ( Xpander, Matrix 6/12/1000), PPG (Wave 2/2.2/2.3, Waveterm A), and Ensoniq
Ensoniq Corp. was an American electronics manufacturer, best known throughout the mid-1980s and 1990s for its musical instruments, principally Sampler (musical instrument), samplers and synthesizers.
Company history
In spring 1983, former MO ...
(Mirage
A mirage is a naturally-occurring optical phenomenon in which light rays bend via refraction to produce a displaced image of distant objects or the sky. The word comes to English via the French ''(se) mirer'', from the Latin ''mirari'', meanin ...
sampler, SDP-1, ESQ-1, SQ-80). The latter used the 6809E as their main CPU. The (E) version was used in order to synchronize the microprocessor's clock to the sound chip (Ensoniq 5503 DOC) in those machines; in the ESQ-1 and SQ-80 the 68B09E was used, requiring a dedicated arbiter logic in order to ensure 1 MHz bus timing when accessing the DOC chip.
In contrast to earlier Motorola products, the 6809 did not see widespread use in the microcontroller
A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
field. It was used in traffic signal
Traffic lights, traffic signals, or stoplights – known also as robots in South Africa are signalling devices positioned at road intersections, pedestrian crossings, and other locations in order to control flows of traffic.
Traffic light ...
controllers made in the 1980s by several different manufacturers, as well as Motorola's SMARTNET and SMARTZONE Trunked Central Controllers (so dubbed the "6809 Controller"). These controllers were used as the central processors in many of Motorola's trunked two-way radio communications systems.
The 6809 was used by Mitel as the main processor in its SX20 Office Telephone System.
Versions
The Motorola 6809 was originally produced in 1 MHz, 1.5 MHz (68A09) and 2 MHz (68B09) speed ratings. Faster versions were produced later by Hitachi. With little to improve, the 6809 marks the end of the evolution of Motorola's 8-bit processors; Motorola intended that future 8-bit products would be based on an 8-bit data bus version of the 68000 (the 68008). A microcontroller version with a slightly modified instruction set, the 6811, was discontinued as late as the second decade of the 21st century.
The Hitachi 6309
The 6309 is Hitachi's CMOS version of the Motorola 6809 microprocessor, released in late 1982. It was initially marketed as a low-power version of the 6809, without reference to its many internal improvements.
While in "Emulation Mode" it is f ...
is an enhanced version of the 6809 with extra registers and additional instructions, including block move, additional multiply instructions, and division.
Legacy
Motorola spun off its microprocessor division in 2004. The division changed its name to Freescale and has subsequently been acquired by NXP
NXP Semiconductors N.V. (NXP) is a Dutch semiconductor designer and manufacturer with headquarters in Eindhoven, Netherlands. The company employs approximately 31,000 people in more than 30 countries. NXP reported revenue of $11.06 billion in 2 ...
.
Neither Motorola nor Hitachi produce 6809 processors or derivatives anymore. 6809 cores are available in VHDL
The VHSIC Hardware Description Language (VHDL) is a hardware description language (HDL) that can model the behavior and structure of digital systems at multiple levels of abstraction, ranging from the system level down to that of logic gates ...
and can be programmed into an FPGA
A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
and used as an embedded processor with speed ratings up to 40 MHz. Some 6809 opcodes also live on in the Freescale
Freescale Semiconductor, Inc. was an American semiconductor manufacturer. It was created by the divestiture of the Semiconductor Products Sector of Motorola in 2004. Freescale focused their integrated circuit products on the automotive, embed ...
embedded processors. In 2015, Freescale authorized Rochester Electronics to start manufacturing the MC6809 once again as a drop-in replacement and copy of the original NMOS device. Freescale supplied Rochester the original GDSII
GDSII stream format (GDSII), is a binary database file format which is the de facto industry standard for Electronic Design Automation data exchange of integrated circuit or IC layout artwork. It is a binary file format representing planar geome ...
physical design database. At the end of 2016, Rochester's MC6809 (including the MC68A09, and MC68B09) is fully qualified and available in production.
Australian developer John Kent has synthesized the Motorola 6809 CPU in hardware description language (HDL). This has made possible the use of the 6809 core at much higher clock speeds than were available with the original 6809. Gary Becker's CoCo3FPGA runs the Kent 6809 core at 25 MHz. Roger Taylor's Matchbox CoCo runs at 7.16 MHz. Dave Philipsen's CoCoDEV runs at 25 MHz.
Description
General design
The 6809's internal design is closer to simpler, non- microcoded CPU designs. Like most 8-bit microprocessors, the 6809 implementation is a register-transfer level
In digital circuit design, register-transfer level (RTL) is a design abstraction which models a synchronous digital circuit in terms of the flow of digital signals (data) between hardware registers, and the logical operations performed on those ...
machine, using a central PLA
PLA may refer to:
Organizations Politics and military
* People's Liberation Army, the armed forces of China and of the ruling Chinese Communist Party
* People's Liberation Army (disambiguation)
** Irish National Liberation Army, formerly called ...
to implement much of the instruction decoding as well as parts of the sequencing.
Like the 6800 and 6502, the 6809 uses a two-phase clock
In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits.
A clock sign ...
to gate the latches. This two-phase clock cycle is used as a full machine cycle
The instruction cycle (also known as the fetch–decode–execute cycle, or simply the fetch-execute cycle) is the cycle that the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instruction ...
in these processors. Simple instructions can execute in as little as two or three such cycles. The 6809 has an internal two-phase clock generator (needing only an external crystal) whereas the 6809E needs an external clock generator. There are variants such as the 68A09(E) and 68B09(E); the internal letter indicates the processor's rated clock speed.
The 6800, 6502, the 6809's clock system differs from other processors of the era. For instance, the Z80 uses a single external clock and the internal steps of the instruction process continue on each transition. This means that the external clock generally runs much faster; 680x designs generally ran at 1 or 2 MHz while the Z80 generally ran at 2 or 4. Internally, the 680x's converted the slower external clock into a higher frequency internal schedule, so on an instruction-for-instruction basis, they ran roughly twice as fast when comparing the external clocks.
The advantage to the 680x style access was that dynamic RAM
Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxide ...
chips of the era generally ran at 2 MHz. Due to the cycle timing, there were periods of the internal clock where the memory bus was guaranteed to be free. This allowed the computer designer to interleave access to memory between the CPU and an external device, say a direct memory access
Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU).
Without DMA, when the CPU is using programmed input/output, it is t ...
controller, or more commonly, a graphics chip
A video display controller or VDC (also called a display engine or display interface) is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computin ...
. By running both chips at 1 MHz and stepping them one after the other, they could share access to the memory without any additional complexity or circuitry. Depending on version and speed grade, approximately 40–60% of a single clock cycle is typically available for memory access in a 6800, 6502, or 6809.
Registers and instructions
The original 6800 included two 8-bit
In computer architecture, 8-bit Integer (computer science), integers or other Data (computing), data units are those that are 8 bits wide (1 octet (computing), octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) arc ...
accumulators, A and B, a single 16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
index register
An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
, X, a 16-bit program counter
The program counter (PC), commonly called the instruction pointer (IP) in Intel x86 and Itanium microprocessors, and sometimes called the instruction address register (IAR), the instruction counter, or just part of the instruction sequencer, is ...
, PC, a 16-bit stack pointer
In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or mach ...
, SP, and an 8-bit status register
A status register, flag register, or condition code register (CCR) is a collection of status Flag (computing), flag bits for a Central processing unit, processor. Examples of such registers include FLAGS register (computing), FLAGS register in the ...
. The 6809 added a second index register, Y, a second stack pointer, U (while renaming the original S), and allowed the A and B registers to be treated as a single 16-bit accumulator, D. It also added another 8-bit register, DP, to set the base address of the direct page. These additions were invisible to 6800 code, and the 6809 was 100% source-compatible with earlier code.
Another significant addition was program-counter-relative addressing for all data manipulation instructions. This was a key addition for position-independent code
In computing, position-independent code (PIC) or position-independent executable (PIE) is a body of machine code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used for ...
, as it allows data to be referred to relative to the instruction, and as long as the resulting memory location exists then the instructions can be moved in memory freely. The system retained its previous addressing modes as well, although in the new assembler language
In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
, what were previously separate instructions were now considered to be different addressing modes on other instructions. This reduced the number of instructions from the 6800's 78 instructions to the 6809's 59. These new modes had the same opcodes as the previously separate instruction, so these changes were only visible to the programmer working on new code.
The instruction set
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
and register complement are highly orthogonal
In mathematics, orthogonality is the generalization of the geometric notion of ''perpendicularity''.
By extension, orthogonality is also used to refer to the separation of specific features of a system. The term also has specialized meanings in ...
, making the 6809 easier to program than contemporaries. Like the 6800, the 6809 includes an undocumented address bus test instruction which came to be nicknamed Halt and Catch Fire (HCF).
Notes
References
Citations
Bibliography
*
*
*
Further reading
;Datasheets and manuals
*
MC6809 Datasheet
'; Motorola; 36 pages; 1983.
*
MC6809E Datasheet
'; Motorola; 34 pages.
*
Motorola 8-bit Microprocessors Data Book
'; Motorola; 1182 pages; 1981.
;Books
* ''6809 Assembly Language Programming''; 1st Ed; Lance Leventhal; 579 pages; 1981; . (archive)
/small>
* ''The MC6809 Cookbook''; 1st Ed; Carl Warren; 180 pages; 1980; . (archive)
/small>
* ''Advanced 8-bit Microprocessor: MC6809: Its Software, Hardware, Architecture and Interfacing Techniques''; 1st Ed; Robert Simpson; 274 pages; 1998;
;Magazines
* '' A Microprocessor for the Revolution: The 6809''; Terry Ritter & Joel Boney (co-designers of 6809); BYTE magazine; Jan-Feb 1979. (archive)
* ''MC6809 microprocessor''; Ian Powers; Microprocessors, Volume 2, Issue 3; July 1978; page 162; , .
;Reference cards
* ''MC6809 Reference Card''; Motorola; 16 pages; 1981. (archive)
/small>
* ''6809/6309 Reference Card''; Chris Lomont; 10 pages; 2007. (archive)
/small>
External links
;Simulators / Emulators
6809 Emulation Page
– collection of 6809 instructions, emulators, tools, debuggers, disassemblers, assemblers
6809 Emulator based on the SWTPC 6809 system
;Boards
;FPGA
System09 6809 CPU core - VHDL source code
- OpenCores
{{Authority control
Motorola microprocessors
8-bit microprocessors