An embedded system is a controller programmed and controlled by a real-time operating system with a dedicated function within a larger mechanical or electrical system with real-time computing constraints. It is embedded as part of a complete device including hardware and mechanical parts. Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors manufactured are used in embedded systems. Examples of properties of typical embedded computers when compared with general-purpose counterparts are low power consumption, small size, rugged operating ranges, low per-unit cost; this comes at the price of limited processing resources, which make them more difficult to program and to interact with. However, by building intelligence mechanisms on top of the hardware, taking advantage of possible existing sensors and the existence of a network of embedded units, one can both optimally manage available resources at the unit and network levels as well as provide augmented functions, well beyond those available.
For example, intelligent techniques can be designed to manage power consumption of embedded systems. Modern embedded systems are based on microcontrollers, but ordinary microprocessors are common in more complex systems. In either case, the processor used may be types ranging from general purpose to those specialized in certain class of computations, or custom designed for the application at hand. A common standard class of dedicated processors is the digital signal processor. Since the embedded system is dedicated to specific tasks, design engineers can optimize it to reduce the size and cost of the product and increase the reliability and performance; some embedded systems are mass-produced. Embedded systems range from portable devices such as digital watches and MP3 players, to large stationary installations like traffic lights, factory controllers, complex systems like hybrid vehicles, MRI, avionics. Complexity varies from low, with a single microcontroller chip, to high with multiple units and networks mounted inside a large chassis or enclosure.
One of the first recognizably modern embedded systems was the Apollo Guidance Computer, developed ca. 1965 by Charles Stark Draper at the MIT Instrumentation Laboratory. At the project's inception, the Apollo guidance computer was considered the riskiest item in the Apollo project as it employed the newly developed monolithic integrated circuits to reduce the size and weight. An early mass-produced embedded system was the Autonetics D-17 guidance computer for the Minuteman missile, released in 1961; when the Minuteman II went into production in 1966, the D-17 was replaced with a new computer, the first high-volume use of integrated circuits. Since these early applications in the 1960s, embedded systems have come down in price and there has been a dramatic rise in processing power and functionality. An early microprocessor for example, the Intel 4004, was designed for calculators and other small systems but still required external memory and support chips. In 1978 National Engineering Manufacturers Association released a "standard" for programmable microcontrollers, including any computer-based controllers, such as single board computers and event-based controllers.
As the cost of microprocessors and microcontrollers fell it became feasible to replace expensive knob-based analog components such as potentiometers and variable capacitors with up/down buttons or knobs read out by a microprocessor in consumer products. By the early 1980s, memory and output system components had been integrated into the same chip as the processor forming a microcontroller. Microcontrollers find applications. A comparatively low-cost microcontroller may be programmed to fulfill the same role as a large number of separate components. Although in this context an embedded system is more complex than a traditional solution, most of the complexity is contained within the microcontroller itself. Few additional components may be needed and most of the design effort is in the software. Software prototype and test can be quicker compared with the design and construction of a new circuit not using an embedded processor. Embedded systems are found in consumer, automotive, medical and military applications.
Telecommunications systems employ numerous embedded systems from telephone switches for the network to cell phones at the end user. Computer networking uses dedicated routers and network bridges to route data. Consumer electronics include MP3 players, mobile phones, video game consoles, digital cameras, GPS receivers, printers. Household appliances, such as microwave ovens, washing machines and dishwashers, include embedded systems to provide flexibility and features. Advanced HVAC systems use networked thermostats to more and efficiently control temperature that can change by time of day and season. Home automation uses wired- and wireless-networking that can be used to control lights, security, audio/visual, etc. all of which use embedded devices for sensing and controlling. Transportation systems from flight to automobiles use embedded systems. New airplanes contain advanced avionics such as inertial guidance systems and GPS receivers that have considerable safety requirements. Various electric motors — brushless DC motors, induction motors and DC motors — use electric/electronic motor controllers.
Automobiles, electric vehicles, hy
A coprocessor is a computer processor used to supplement the functions of the primary processor. Operations performed by the coprocessor may be floating point arithmetic, signal processing, string processing, cryptography or I/O interfacing with peripheral devices. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance. Coprocessors allow a line of computers to be customized, so that customers who do not need the extra performance do not need to pay for it. Coprocessors vary in their degree of autonomy; some rely on direct control via coprocessor instructions, embedded in the CPU's instruction stream. Others are independent processors in their own right, capable of working asynchronously, it is common for these to be driven by direct memory access, with the host processor building a command list. The PlayStation 2's Emotion engine contained an unusual DSP-like SIMD vector unit capable of both modes of operation. To make best use of mainframe computer processor time, input/output tasks were delegated to separate systems called Channel I/O.
The mainframe would not require any I/O processing at all, instead would just set parameters for an input or output operation and signal the channel processor to carry out the whole of the operation. By dedicating simple sub-processors to handle time-consuming I/O formatting and processing, overall system performance was improved. Coprocessors for floating-point arithmetic first appeared in desktop computers in the 1970s and became common throughout the 1980s and into the early 1990s. Early 8-bit and 16-bit processors used software to carry out floating-point arithmetic operations. Where a coprocessor was supported, floating-point calculations could be carried out many times faster. Math coprocessors were popular purchases for users of computer-aided design software and scientific and engineering calculations; some floating-point units, such as the AMD 9511, Intel I8231 and Weitek FPUs were treated as peripheral devices, while others such as the Intel 8087, Motorola 68881 and National 32081 were more integrated with the CPU.
Another form of coprocessor was a video display coprocessor, as used in the Atari 8-bit family, the Texas Instruments TI-99/4A and MSX home-computers, which were called "Video Display Controllers". The Commodore Amiga custom chipset included such a unit known as the Copper, as well as a Blitter for accelerating bitmap manipulation in memory; as microprocessors developed, the cost of integrating the floating point arithmetic functions into the processor declined. High processor speeds made a integrated coprocessor difficult to implement. Separately packaged mathematics coprocessors are now uncommon in desktop computers; the demand for a dedicated graphics coprocessor has grown, however due to an increasing demand for realistic 3D graphics in computer games. The original IBM PC included a socket for the Intel 8087 floating-point coprocessor, a popular option for people using the PC for computer-aided design or mathematics-intensive calculations. In that architecture, the coprocessor speeds up floating-point arithmetic on the order of fiftyfold.
Users that only used the PC for word processing, for example, saved the high cost of the coprocessor, which would not have accelerated performance of text manipulation operations. The 8087 was integrated with the 8086/8088 and responded to floating-point machine code operation codes inserted in the 8088 instruction stream. An 8088 processor without an 8087 could not interpret these instructions, requiring separate versions of programs for FPU and non-FPU systems, or at least a test at run time to detect the FPU and select appropriate mathematical library functions. Another coprocessor for the 8086/8088 central processor was the 8089 input/output coprocessor, it used the same programming technique as 8087 for input/output operations, such as transfer of data from memory to a peripheral device, so reducing the load on the CPU. But IBM didn't use it in IBM PC design and Intel stopped development of this type of coprocessor; the Intel 80386 microprocessor used an optional "math" coprocessor to perform floating point operations directly in hardware.
The Intel 80486DX processor included floating-point hardware on the chip. Intel released a cost-reduced processor, the 80486SX, that had no floating point hardware, sold an 80487SX coprocessor that disabled the main processor when installed, since the 80487SX was a complete 80486DX with a different set of pin connections. Intel processors than the 80486 integrated floating-point hardware on the main processor chip, it would be difficult to adapt circuit-board techniques adequate at 75 MHz processor speed to meet the time-delay, power consumption, radio-frequency interference standards required at gigahertz-range clock speeds. These on-chip floating point processors are still referred to as coprocessors because they operate in parallel with the main CPU. During the era of 8- and 16-bit desktop computers another common source of floating-point coprocessors was Weitek; these coprocessors had a different instruction set from the Intel coprocessors, used a different socket, which not all motherboards supported.
The Weitek processors did not provide transcendental mathematics functions like the Intel x87 family, required specific software libraries to support their functions. The Motorola 68000 family
The Motorola 68030 is a 32-bit microprocessor in the Motorola 68000 family. It was released in 1987; the 68030 was the successor to the Motorola 68020, was followed by the Motorola 68040. In keeping with general Motorola naming, this CPU is referred to as the 030; the 68030 features 273,000 transistors with on-chip data caches of 256 bytes each. It has an on-chip memory management unit but does not have a built in floating-point unit; the 68881 and the faster 68882 floating point unit chips could be used with the 68030. A lower cost version of the 68030, the Motorola 68EC030, was released, lacking the on-chip MMU, it was available in both 132 pin QFP and 128 pin PGA packages. The poorer thermal characteristics of the QFP package limited the full 68030 QFP variant to 33 MHz. There was a small supply of QFP packaged EC variants; as a microarchitecture, the 68030 is a 68020 core with an additional 256 byte data cache and a process shrink and an added burst mode for the caches, where four longwords can be placed in the cache without further CPU intervention.
Motorola used the process shrink to pack more hardware on the die. The integration of the MMU made it more cost-effective than the 68020 with an external MMU. However, the 68030 can switch between asynchronous buses without a reset; the 68030 lacks some of the 68020's instructions, but it increases performance by ≈5% while reducing power draw by ≈25% compared to the 68020. The 68030 can be used with the 68020 bus, in which case its performance is similar to 68020 that it was derived from. However, the 68030 provides an additional synchronous bus interface which, if used, accelerates memory accesses up to 33% compared to an clocked 68020; the finer manufacturing process allowed Motorola to scale the full-version processor to 50 MHz. The EC variety topped out at 40 MHz; the 68030 was used in many models of the Apple Macintosh II and Commodore Amiga series of personal computers, NeXT Cube Alpha Microsystems multiuser systems, some descendants of the Atari ST line such as the Atari TT and the Atari Falcon.
It was used in Unix workstations such as the Sun Microsystems Sun-3x line of desktop workstations, laser printers and the Nortel Networks DMS-100 telephone central office switch. More the 68030 core has been adapted by Freescale into a microcontroller for embedded applications. LeCroy has used the 68EC030 in certain models of their 9300 Series digital oscilloscopes including “C” suffix models:87-88 and high performance 9300 Series models, along with the Mega Waveform Processing hardware option for 68020-based 9300 Series models; the 68EC030 is a low cost version of the 68030, the difference between the two being that the 68EC030 omits the on-chip memory management unit and is thus an upgraded 68020. The 68EC030 was used as the CPU for the low-cost model of the Amiga 4000, on a number of CPU accelerator cards for the Commodore Amiga line of computers, it was used in the Cisco Systems 2500 Series router, a small-to-medium enterprise computer internetworking appliance. The 50 MHz speed is exclusive to the plastic' 030 stopped at 40 MHz.
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later. 68030 images and descriptions at cpu-collection.de Official information about the Freescale MC68030 microcontroller Motorola 68k family data sheets at bitsavers.org
A floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, multiplication, square root, bitshifting; some systems can perform various transcendental functions such as exponential or trigonometric calculations, though in most modern processors these are done with software library routines. In general purpose computer architectures, one or more FPUs may be integrated as execution units within the central processing unit; when a CPU is executing a program that calls for a floating-point operation, there are three ways to carry it out: A floating-point unit emulator Add-on FPU Integrated FPU Historically systems implemented floating point via a coprocessor rather than as an integrated unit. This could be an entire circuit board or a cabinet. Where floating-point calculation hardware has not been provided, floating point calculations are done in software, which takes more processor time but which avoids the cost of the extra hardware.
For a particular computer architecture, the floating point unit instructions may be emulated by a library of software functions. Emulation can be implemented on any of several levels: in the CPU as microcode, as an operating system function, or in user space code; when only integer functionality is available the CORDIC floating point emulation methods are most used. In most modern computer architectures, there is some division of floating-point operations from integer operations; this division varies by architecture. CORDIC routines has been implemented in the Intel 8087, 80287, 80387 up to the 80486 coprocessor series as well as in the Motorola 68881 and 68882 for some kinds of floating-point instructions as a way to reduce the gate counts of the FPU sub-system. Floating-point operations are pipelined. In earlier superscalar architectures without general out-of-order execution, floating-point operations were sometimes pipelined separately from integer operations. Since the early 1990s, many microprocessors for desktops and servers have more than one FPU.
The modular architecture of Bulldozer microarchitecture uses a special FPU named FlexFPU, which uses simultaneous multithreading. Each physical integer core, two per module, is single threaded, in contrast with Intel's Hyperthreading, where two virtual simultaneous threads share the resources of a single physical core; some floating-point hardware only supports the simplest operations – addition and multiplication. But the most complex floating-point hardware has a finite number of operations it can support – for example, none of them directly support arbitrary-precision arithmetic; when a CPU is executing a program that calls for a floating-point operation, not directly supported by the hardware, the CPU uses a series of simpler floating-point operations. In systems without any floating-point hardware, the CPU emulates it using a series of simpler fixed-point arithmetic operations that run on the integer arithmetic logic unit; the software that lists the necessary series of operations to emulate floating-point operations is packaged in a floating-point library.
In some cases, FPUs may be specialized, divided between simpler floating-point operations and more complicated operations, like division. In some cases, only the simple operations may be implemented in hardware or microcode, while the more complex operations are implemented as software. In some current architectures, the FPU functionality is combined with units to perform SIMD computation. In the 1980s, it was common in IBM PC/compatible microcomputers for the FPU to be separate from the CPU, sold as an optional add-on, it would only be purchased if needed to enable math-intensive programs. The IBM PC, XT, most compatibles based on the 8088 or 8086 had a socket for the optional 8087 coprocessor; the AT and 80286-based systems were socketed for the 80287, 80386/80386SX based machines for the 80387 and 80387SX although early ones were socketed for the 80287, since the 80387 did not exist yet. Other companies manufactured co-processors for the Intel x86 series; these included Weitek. Coprocessors were available for the Motorola 68000 family, the 68881 and 68882.
These were common in Motorola 68020/68030-based workstations like the Sun 3 series. They were commonly added to higher-end models of Apple Macintosh and Commodore Amiga series, but unlike IBM PC-compatible systems, sockets for adding the coprocessor were not as common in lower end systems. There are add-on FPUs coprocessor units for microcontroller units /single-board computer, which serve to provide floating-point arithmetic capability; these add-on FPUs are host-processor-independent, possess their own programming requirements and are pro
Dataindustrier AB or DIAB was a Swedish computer engineering and manufacturing firm, founded in 1970 by Lars Karlsson and active in the 1970s through 1990s. The company's first product was a board-based computer centered on a specific bus named Data Board 4680; this unit was used for automatic control in several Swedish industries as would be all of DIAB's computers. DIAB is known for engineering the ABC 80, the first Swedish home computer, manufactured by Luxor AB, they would subsequently develop all the ABC-models before rebranding their own make of the ABC 9000 as DIAB DS-90 and develop a series of Unix-compatible computers, using code licensed from AT&T Version 5 Unix release, but with a unique in-house kernel using the brand name DNIX. DIAB would continue to provide OEM services past Luxor AB, the most prominent being the entire Unix server product line from Cromemco; the compiler technology developed by Tomas Evensen at DIAB was bought by Wind River Systems and was renamed to the "Wind River Compiler".
Further information about the Wind River Compiler can be found at the Wind River Compiler product home page. The Unix computer support and customers was acquired by Bull Computer in 1990 ending the history of the company. 1974: Data Board 4680 - the number is a short form of the three microprocessors supported by the bus of this system: Intel 4004, Motorola 6800 and Zilog Z80. Only Z80 was used in this product. 1977: 7S "Seven S" a combined monochrome terminal and computer built on the Data Board 4680 bus and a Z80 processor. 1978: ABC 80 a Z80-based monochrome home computer. 1983: ABC 800 an enhanced office and home computer, 32 KB RAM based on Z80, with color graphics. 1983: ABC 802 a variant of ABC 800 with 64 KB RAM whereof 32 KB were used as a RAM disk. 1983: ABC 806 a variant of ABC 800 with 160 KB RAM whereof 128 were used as a RAM disk. 1982: ABC 838 – 2× 8-inch 1 MB floppy drive 1982: ABC 830 – 2× 5.25-inch 160 kB floppy drive 1982: ABC 890 – 8× ABC-bus slot expansion 1982: ABC 815 – 14-inch monochrome screen 1983: ABC 812 – 14-inch colour screen 1983: ABC 850 – 10 MB hard disc and 640 kB floppy disc as well as 8× ABC-bus slots 1984: ABC 834 – 2× 5.25-inch 640 kB floppy drive, compact version.
Introduction price at 12000 SEK. 1985: ABC 1656 – 40–80 MB hard disc and tape drive for backup 1985: ABC 1615 – 1024 × 768 pixel screen ABC 820 – Compact Cassette storage ABC 821 – Compact Cassette storage ABC 22 – Function and numeric-only keyboard ABC-55 – Keyboard ABC-77 – Keyboard ABC-99 – Keyboard ABC R8 – Mouse LUX-NET – 50 computer, 1000-meter range, 500 kbit/s, EIA-422 external networking adapter In 1983, DIAB independently developed the first UNIX-compatible machine, DIAB DS90, based on the Motorola 68000 CPU. DNIX here made its appearance, based on a UNIX System V license from AT&T. DIAB was however an industrial automation company, needed a real-time operating system, so the company replaced the AT&T-supplied UNIX kernel with their own in-house developed, yet compatible real-time variant. Over time, the company replaced several of the UNIX standard userspace tools with their own implementations, to the point where no code was derived from UNIX, their machines could be deployed independently of any AT&T UNIX license.
Two years and in cooperation with Luxor, a computer called ABC 1200 was developed for the office market, while in parallel, DIAB continue to produce enhanced versions of the DS90 computer using newer versions of the Motorola CPUs such as the Motorola 68010, 68020, 68030 and 68040. In 1990, after DIAB was acquired by Groupe Bull, who continued to produce and support the DS machines under the brand name DIAB, with names such as DIAB 2320, DIAB 2340 etc. still running DIABs version of DNIX. 1985: ABC 1600 a personal computer running ABCenix 1985: ABC 9000 a DS90 in disguise, running DNIX 1985: beginning of the DS90-line DS90-00, DS90-10, DS90-11, Motorola 68010-based UNIX servers intended for use via terminals DS90-20, DS90-21, quad Motorola 68020-based computers DS90-30, DS90-30S, DS90-31, dual Motorola 68030-based computers DS101 a DS90-31 with exterior design by pop-artist Richard Hamilton DS90-41, DS90-45, DS90-47, Motorola 68040-based computers the DIAB line. The Cromix UNIX dialect used in these systems is simply a rebranded DNIX.
Dynatech Computer Systems DCS-1/300: based on DS90-31 Dynatech Computer Systems DCS-1/400 Dynatech Computer Systems DCS-4/300: based on DIAB2450 Dynatech Computer Systems DCS-4/400: based on DS90-41 Ohio Scientific – this company is known to have made at least one OEM computer based on DS90-00 hardware, model number unknown. Norsk Data – made a DS90-00 OEM computers details unknown. ISC Systems Corporation DNP-10: based on DS90-10 Historien om DIAB
National Semiconductor was an American semiconductor manufacturer which specialized in analog devices and subsystems with headquarters in Santa Clara, United States. The company produced power management integrated circuits, display drivers and operational amplifiers, communication interface products and data conversion solutions. National's key markets included wireless handsets, displays and a variety of broad electronics markets, including medical, automotive and test and measurement applications. On September 23, 2011, the company formally became part of Texas Instruments as the "Silicon Valley" division. National Semiconductor was founded in Danbury, Connecticut, by Dr. Bernard J. Rothlein on May 27, 1959, when he and seven colleagues, Edward N. Clarke, Joseph J. Gruber, Milton Schneider, Robert L. Hopkins, Robert L. Koch, Richard R. Rau and Arthur V. Siefert, left their employment at the semiconductor division of Sperry Rand Corporation; the founding of the new company was followed by Sperry Rand filing a lawsuit against National Semiconductor for patent infringement.
By 1965, as it was reaching the courts, the preliminaries of the lawsuit had caused the stock value of National to be depressed. The depressed stock values allowed Peter J Sprague to invest in the company with Sprague's family funds. Sprague relied on further financial backing from a pair of West Coast investment firms and a New York underwriter to take control as the chairman of National Semiconductor. At that time Sprague was 27 years old. Jeffrey S. Young characterized the era as the beginning of venture capitalism; that same year National Semiconductor acquired Molectro. Molectro was founded in 1962 in Santa Clara, California, by J. Nall and D. Spittlehouse, who were employed at Fairchild Camera and Instrument Corporation; the acquisition brought to National Semiconductor two experts in linear semiconductor technologies, Robert Widlar and Dave Talbert, who were formerly employed at Fairchild. The acquisition of Molectro provided National with the technology to launch itself in the fabrication and manufacture of monolithic integrated circuits.
In 1967, Sprague hired five top executives away from Fairchild, among whom were Charles E. Sporck and Pierre Lamond. At the time of Sporck's hiring, Robert Noyce was de facto head of semiconductor operations at Fairchild and Sporck was his operations manager. Sporck was appointed CEO of National. To make the deal better for Sporck's hiring and appointment at half his former salary at Fairchild, Sporck was allotted a substantial share of National's stock. In essence, Sporck took four of his personnel from Fairchild with him as well as three others from TI, Perkin-Elmer, Hewlett-Packard to form a new eight-man team at National Semiconductor. Incidentally, Sporck had been Widlar's superior at Fairchild before Widlar left Fairchild to join Molectro after a compensation dispute with Sporck. In 1968, National shifted its headquarters from Connecticut, to Santa Clara, California. However, like many companies, National retained its registration as a Delaware corporation, for legal and financial expediency.
Over the years National Semiconductor acquired several companies like Fairchild Semiconductor, Cyrix. However, over time National Semiconductor spun off these acquisitions. Fairchild Semiconductor became a separate company again in 1997, the Cyrix microprocessors division was sold to VIA Technologies of Taiwan in 1999. From 1997 to 2002, National enjoyed a large amount of publicity and awards with the development of the Cyrix Media Center, Cyrix WebPad, WebPad Metro and National Origami PDA concept devices created by National's Conceptual Products Group. Based on the success of the WebPad, National formed the Information Appliance Division in 1998; the Information Appliance Division was sold to AMD in 2003. Other businesses dealing in such products as digital wireless chipsets, image sensors, PC I/O chipsets have been closed down or sold off as National has reincarnated itself as a high-performance analog semiconductor company. Peter Sprague, Pierre Lamond and the affectionately called Charlie Sporck worked hand-in-hand, with support of the board of directors to transform the company into a multinational and world-class semiconductor concern.
After becoming CEO, Sporck started a historic price war among semiconductor companies, which trimmed the number of competitors in the field. Among the casualties to exit the semiconductor business were General Electric and Westinghouse. Cost control, overhead reduction and a focus on profits implemented by Sporck was the key element to National surviving the price war and subsequently in 1981 becoming the first semiconductor company to reach the US$1 billion annual sales mark. However, the foundation that made National successful was its expertise in analog electronics, TTL and MOSFET integrated circuit technologies; as they had while employed in Fairchild and Lamond directed National Semiconductor towards the growing industrial and commercial markets and began to rely less on military and aerospace contracts. Those decisions coupled with inflationary growth in use of computers provided the market for the expansion of National. Meanwhile, sources of funds associated with Sprague coupled with creative structuring of cash flow buffering due to Sporck and Lamond provided the financing required for that expansion.
Lamond and Sporck had managed to attract and extract substantial funds to finance the expansion. Among Sporck's cost control efforts was his offshore outsourcing of labour. National Semiconductor was among the pioneers in the semicon
The Motorola 68020 is a 32-bit microprocessor from Motorola, released in 1984. It is the successor to the Motorola 68010 and is succeeded by the Motorola 68030. A lower cost version was made available, known as the 68EC020. In keeping with naming practices common to Motorola designs, the 68020 is referred to as the "020", pronounced "oh-two-oh" or "oh-twenty"; the 68020 had 32-bit internal and external data and address buses, compared to the early 680x0 models with 16-bit data and 24-bit address buses. The 68020's ALU was natively 32-bit, so could perform 32-bit operations in one clock, whereas the 68000 took two clocks minimum due to its 16-bit ALU. Newer packaging methods allowed the'020 to feature more external pins without the large size that the earlier dual in-line package method required; the 68EC020 lowered cost through a 24-bit address bus. The 68020 was produced at speeds ranging from 12 MHz to 33 MHz; the 68020 added many improvements over the 68010 including a 32-bit arithmetic logic unit, 32-bit external data and address buses, extra instructions and additional addressing modes.
The 68020 had a proper three-stage pipeline. Though the 68010 had a "loop mode", which sped loops through what was a tiny instruction cache, it held only two short instructions and was thus little used; the 68020 replaced this with a proper instruction cache of 256 bytes, the first 68k series processor to feature true on-chip cache memory. The previous 68000 and 68010 processors could only access word and long word data in memory if it were word-aligned; the 68020 had no alignment restrictions on data access. Unaligned accesses were slower than aligned accesses because they required an extra memory access; the 68020 has a coprocessor interface supporting up to eight coprocessors. The main CPU recognizes "F-line" instructions, uses special bus cycles to interact with a coprocessor to execute these instructions. Two types of coprocessors were defined, the floating point unit and the paged memory management unit. Only one PMMU can be used with a CPU. In principle multiple FPUs could be used with a CPU, but it was not done.
The coprocessor interface is asynchronous, so it is possible to run the coprocessors at a different clock rate than the CPU. Multiprocessing support was implemented externally by the use of a RMC pin to indicate an indivisible read-modify-write cycle in progress. All other processors had to hold off memory accesses. Software support for multiprocessing included the CAS and CAS2 instructions. In a multiprocessor system, coprocessors could not be shared between CPUs. To avoid problems with returns from coprocessor, bus error, address error exceptions, it was necessary in a multiprocessor system for all CPUs to be the same model, for all FPUs to be the same model as well; the new instructions included some minor improvements and extensions to the supervisor state, several instructions for software management of a multiprocessing system, some support for high-level languages which did not get used much, bigger multiply and divide instructions, bit field manipulations. While the 68000 had'supervisor mode', it did not meet the Popek and Goldberg virtualization requirements due to the single instruction'MOVE from SR' being unprivileged but sensitive.
Under the 68010 and this was made privileged, to better support virtualization software. The new addressing modes added scaled indexing and another level of indirection to many of the pre-existing modes, added quite a bit of flexibility to various indexing modes and operations. Though it was not intended, these new modes made the 68020 suitable for page printing; the 68020 had a small 256-byte direct-mapped instruction cache, arranged as 64 four-byte entries. Although small, it still made a significant difference in the performance of many applications; the resulting decrease in bus traffic was important in systems relying on DMA. The 68020 was used in the Apple Macintosh II and Macintosh LC personal computers, Sun 3 workstations, Commodore Amiga 1200, the Hewlett-Packard 8711 Series Network Analyzers and members of the HP 9000/300 family and the Alpha Microsystems AM-2000; the 68020 was an alternative upgrade to the Sinclair QL computer's 68008 in the Super Gold Card interface by Miracle Systems.
The Amiga 2500 and A2500UX was shipped with the A2620 Accelerator using a 68020, a 68881 floating point unit and the 68851 Memory Management Unit. The 2500UX shipped with Amiga Unix, requiring an'020 or'030 processor. A number of digital oscilloscopes from the mid-80s to the late-90s used the 68020, including the LeCroy 9300 Series and the earlier LeCroy 9400 series, along with certain Tektronix TDS Series models.. The HP 54520, 54522, 54540 and 54542 use the 68020, together with a 68882 math coprocessor, it is the processor used on board TGV trains to decode signalling information, sent to the trains through the rails. It is further being used in the flight control and radar systems of the Eurofighter Typhoon combat aircraft; the Nortel Networks DMS-100 telephone central office switch used the