D



CHAPTER I

Problem and its Background

Introduction

The part of the text is designed to introduce you to some of the more popular microprocessors. The design and operation of a microprocessor are based on the digital circuits which you studied.

You will learn the basic principles of microprocessors and how to write simple assembly language programs. In the study of computer, programming, and microprocessor one fundamental idea emerges.

If you understand the basic principles and simple programs presented here, you will depend on your way to understanding more complicated ideas.

Since the microprocessor is a “computer on a chip,” it may help to take a quick look at computer before starting to study microprocessors.8085 it was the most popular microprocessor of the early 70’s, It had several disadvantage such as needing two power supplies plus externally generated clock and control signal. In the other words the 8080 in not cpu on a chip because the clock and controller are on separate.

The 8085 microprocessor they are two types block diagram and pin configuration,. block diagram show the control signal drive all the internet register first is called address, data, and control buses on the internet the diagram is an 8 bit internal data bus. This is the CPU register. Accumulator is connected to the 8-bit internal data bus.

The pin configuration is a part of microprocessor of 8085 is not a same block diagram but is a microprocessor because the system you need a general idea of what each pin owes, from pin 1 to pin 40.

A microprocessor it also known as a CPU or central processing unit is a complete computation engine that is fabricated on a single chip. If you have ever wondered what the microprocessor in your computer is doing, or if you have ever wondered about the differences between types of microprocessors, then read on. In this article, you will learn how fairly simple digital logic techniques allow a computer to do its job, whether it’s playing a game or spell checking a document.

Objectives of the study

After completing this chapter, you should be able to:

1) List the three main units of stored-program computer

2) Identify the function of the address, data, and control buses in a stored-program computer.

3) Trace the evolution of the computer from the vacuum tube machine to the microprocessor.

4) Identify significant computer that have been built over the years.

Statement of the Problem

How Microprocessor Works

The computer you are using to read this page uses a microprocessor to do its work. The microprocessor is the heart of any normal computer, whether it is a desktop machine, a server or a laptop. The microprocessor you are using might be a Pentium, a K6, a PowerPC, a Sparc or any of the many other brands and types of microprocessors, but they all do approximately the same thing in approximately the same way.

A microprocessor -- also known as a CPU or central processing unit -- is a complete computation engine that is fabricated on a single chip. The first microprocessor was the Intel 4004, introduced in 1971. The 4004 was not very powerful -- all it could do was add and subtract, and it could only do that 4 bits at a time. But it was amazing that everything was on one chip. Prior to the 4004, engineers built computers either from collections of chips or from discrete components (transistors wired one at a time). The 4004 powered one of the first portable electronic calculators.

If you have ever wondered what the microprocessor in your computer is doing, or if you have ever wondered about the differences between types of microprocessors, then read on. In this article, you will learn how fairly simple digital logic techniques allow a computer to do its job, whether it’s playing a game or spell checking a document.

Features

, ,

Microprocessors have become the movers and shakers of our everyday world. We use them in computers, televisions, watches, microwaves and practically every other electronic device. Their micro-size is no reflection of the myriad capabilities these chips possess, ranging from 2 to 3 mm square to maybe an inch thick. Silicon makes up the material of a microprocessor chip. Sliced wafer thin, silicon serves as an ideal conductor and insulator for transmitting electrical currents throughout the components of the chip. The finished product is an integrated circuit composed of layers of built-in wiring and transistors. Through the use of laser light, circuit outlines are etched onto a silicon surface through a mask or stencil design. A simple chip can have as many as 3,000 transistors, with as narrow a spacing of 60 nanometers between each one.

Function

Figure 1.0

Microchip

A microprocessor is the central processing unit in a computer. It receives, transmits and coordinates every command and process carried out by the system. Electrical currents, moving through wires and transistors, are converted into usable messages through the use of a Boolean logic language. Based on the "on/off" frequency of current moving through transistor circuits, this Boolean logic communicates system commands to and from receiving devices within the computer. The microprocessor communicates within two primary capacities: logic and the processing of information. These processes are handled by two components within the chip: *Arithmetic logic unit (ALU), responsible for all commands requiring an arithmetic or logic function *Control unit (CU), which handles the information processing from the computer's memory.

Figure 1.1

Potential

1. From these units within the chip, clusters of wires called "bus" lines send and receive information to and from system devices.

2. The first microprocessor chip was designed in 1974. Since that time, technological advancements continue to reduce the size requirements of chips while doubling their processing capability. This continued progress has made for a more efficient unit, and material costs have gone down considerably.

3. The next step toward further development lies within the field of nanotechnology. This field works within the molecular/subatomic realm of science. Its purpose is to rebuild the most basic of materials--atoms and molecules--from the ground up. Currently, nanotechnologists are working to replicate the microprocessor chip model on a molecular scale. Once completed, information-processing capabilities will dwarf our current processing abilities. These improvements are expected to radically alter technology as we know it today.

How bits and bytes work?

If you have used a computer for more than five minutes, then you have heard the words bits and bytes. Both RAM and hard disk capacities are measured in bytes. So are file sizes when you examine them in a file viewer. For example, you might hear an advertisement that says "This computer has a 32-bit Pentium processor with 64 megabytes of RAM and 2.1 gigabytes of hard disk space." Decimal number

The easiest way to understand bits is to compare them to something you know: digits. A digit is a single place that can hold numerical values between 0 and 9. Digits are normally combined together in groups to create larger numbers. For example, 6357 has 4 digits. It is understood that in the number 6357 that the 7 is filling the "1s place", while the 5 is filling the 10s place, the 3 is filling the 100s place and the 6 is filling the 1000s place. So you could express things this way if you wanted to be explicit:

(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357

Another way to express it would be to use powers of 10. Assuming that we are going to represent the concept of "raised to the power of" with the "^" symbol (so "10 squared" is written as "10^2"), another way to express it is like this:

(6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (7 * 10^0) = 6000 + 300 + 50 + 7 = 6357

What you can see from this expression is that each digit is a placeholder for the next higher power of 10, starting in the first digit with 10 raised to the power of zero.

That should all feel comfortable - we all work with decimal digits every day and have no problems. The neat thing about number systems is that there is nothing that forces you to have 10 different values in a digit. Our "base-10" number system likely grew up because we have 10 fingers, but if we happened to evolve to have 8 fingers instead we would probably have a base-8 number system. You can have base-anything numbers systems. In fact, there are lots of good reasons to use different bases in different situations.

Bits

Computers happen to operate using the base-2 number system, also known as the binary number system (just like the base-10 number system is known as the decimal number system). The reason computers use the base-2 system is because it makes it a lot easier to implement them with current electronic technology. You could wire up and build computers that operate in base-10, but they would be fiendishly expensive right now. On the other hand, base-2 computers are dirt cheap.

So computers use binary numbers, and therefore use binary digits in place of decimal digits. The word bit is a shortening of the words "Binary digIT". Where decimal digits have 10 possible values ranging from 0 to 9, bits have only 2 possible values: 0 and 1. Therefore a binary number is composed of only 0s and 1s, like this: 1011. How do you figure out what the value of the binary number 1011 is? You do it in the same way we did it above for 6357, but you use a base of 2 instead of a base of 10. So:

(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11

You can see that in binary numbers, each bit holds the value of increasing powers of 2. That makes counting in binary pretty easy. Starting at zero and going though 20, counting in decimal and binary look like this

 0 =     0

 1 =     1

 2 =    10

 3 =    11

 4 =   100

 5 =   101

 6 =   110

 7 =   111

 8 =  1000

 9 =  1001

10 =  1010

11 =  1011

12 =  1100

13 =  1101

14 =  1110

15 =  1111

16 = 10000

17 = 10001

18 = 10010

19 = 10011

20 = 10100

When you look at this sequence, 0 and 1 are the same for decimal and binary number systems. At the number 2 you see carrying first take place in the binary system. If a bit is 1, and you add 1 to it, the bit becomes zero and the next bit becomes 1. In the transition from 15 to 16 this effect roles over through 4 bits, turning 1111 into 10000.

Bytes

Bits are rarely seen alone in computers. They are almost always bundled together into 8-bit collections, and these collections are called bytes. Why are there 8 bits in a byte? A similar question is, "Why are there 12 eggs in a dozen?" The 8-bit byte is something that people settled on through trial and error over the past 50 years.

With 8 bits in a byte, you can represent 256 values ranging from 0 to 255, as shown here:

  0 = 00000000

  1 = 00000001

  2 = 00000010

   ...

254 = 11111110

255 = 11111111

In the How Stuff Works article on CDs you saw that a CD uses 2 bytes, or 16 bits, per sample. That gives each sample a range from 0 to 65,535, like this:

    0 = 0000000000000000

    1 = 0000000000000001

    2 = 0000000000000010

     ...

65534 = 1111111111111110

65535 = 1111111111111111

Bytes are frequently used to hold individual characters in a text document. In the ASCII character set, each binary value between 0 and 127 is given a specific character. Most computers extend the ASCII character set to use the full range of 256 characters available in a byte. The upper 128 characters handle special things like accented characters from common foreign languages.

The table at the right shows the 127 standard ASCII codes. Computers store text documents, both on disk and in memory, using these codes. For example, if you use Notepad in Windows 95/98 to create a text file containing the words, "Four score and seven years ago", Notepad would use one byte of memory per character (including one byte for each space character between the words (ASCII value 32)). When Notepad stores the sentence in a file on disk, the file will also contain one byte per character and space. Try this experiment: open up a new file in Notepad and insert the sentence, "Four score and seven years ago" in it. Save the file to disk under the name getty.txt. Then use the explorer and look at the size of the file. You will find that the file has a size of 30 bytes on disk: one byte for each character. If you add another word to the end of the sentence and re-save it, the file size will jump to the appropriate number of bytes. Each character consumes a byte.

If you were to look at the file as a computer looks at it, you would find that each byte contains not a letter but a number. The number is the ASCII code corresponding to the character. So on disk The numbers for the file look like this:

F  o   u   r      a  n   d      s   e   v   e   n      ...

70 111 117 114 32 97 110 100 32 115 101 118 101 110 32 ...

By looking in the ASCII table you can see a one-to-one correspondence between each character and the ASCII code used. Note the use of 32 for a space - 32 is the right ASCII code for a space. We could expand these decimal numbers out to binary numbers (so 32 = 00100000) if we wanted to be technically correct - that is how the computer really deals with things.

How Boolean Logic Work

Figure 1.2

A solder less breadboard

In the article How Boolean Logic Works, we looked at seven fundamental gates. These gates are the building blocks of all digital devices. We also saw how to combine these gates together into higher-level functions, such as full adders. If you would like to experiment with these gates so you can try things out yourself, the easiest way to do it is to purchase something called TTL chips and quickly wire circuits together on a device called a solder less breadboard. Let's talk a little bit about the technology and the process so you can actually try it out!

If you look back at the history of computer technology, you find that all computers are designed around Boolean gates. The technologies used to implement those gates, however, have changed dramatically over the years. The very first electronic gates were created using relays. These gates were slow and bulky. Vacuum tubes replaced relays. Tubes were much faster but they were just as bulky, and they were also plagued by the problem that tubes burn out (like light bulbs). Once transistors were perfected (transistors were invented in 1947), computers started using gates made from discrete transistors. Transistors had many advantages: high reliability, low power consumption and small size compared to tubes or relays. These transistors were discrete devices, meaning that each transistor was a separate device. Each one came in a little metal can about the size of a pea with three wires attached to it. It might take three or four transistors and several resistors and diodes to create a gate.

In the early 1960s, integrated circuits (ICs) were invented. Transistors, resistors and diodes could be manufactured together on silicon "chips." This discovery gave rise to SSI (small scale integration) ICs. An SSI IC typically consists of a 3-mm-square chip of silicon on which perhaps 20 transistors and various other components have been etched. A typical chip might contain four or six individual gates. These chips shrank the size of computers by a factor of about 100 and made them much easier to build.

As chip manufacturing techniques improved, more and more transistors could be etched onto a single chip. This led to MSI (medium scale integration) chips containing simple components, such as full adders, made up of multiple gates. Then LSI (large scale integration) allowed designers to fit all of the components of a simple microprocessor onto a single chip. The 8080 processor, released by Intel in 1974, was the first commercially successful single-chip microprocessor. It was an LSI chip that contained 4,800 transistors. VLSI (very large scale integration) has steadily increased the number of transistors ever since. The first Pentium processor was released in 1993 with 3.2 million transistors, and current chips can contain up to 20 million transistors.

In order to experiment with gates, we are going to go back in time a bit and use SSI ICs. These chips are still widely available and are extremely reliable and inexpensive. You can build anything you want with them, one gate at a time. The specific ICs we will use are of a family called TTL (Transistor Logic, named for the specific wiring of gates on the IC). The chips we will use are from the most common TTL series, called the 7400 series. There are perhaps 100 different SSI and MSI chips in the series, ranging from simple AND gates up to complete ALUs (arithmetic logic units).

Figure 1.3

Integrated circuit

The 7400-series chips are housed in DIPs (dual inline packages). As pictured on the right, a DIP is a small plastic package with 14, 16, 20 or 24 little metal leads protruding from it to provide connections to the gates inside. The easiest way to construct something from these gates is to place the chips on a solder less breadboard. The breadboard lets you wire things together simply by plugging pieces of wire into connection holes on the board.

All electronic gates need a source of electrical power. TTL gates use 5 volts for operation. The chips are fairly particular about this voltage, so we will want to use a clean, regulated 5-volt power supply whenever working with TTL chips. Certain other chip families, such as the 4000 series of CMOS chips, are far less particular about the voltages they use. CMOS chips have the additional advantage that they use much less power. However, they are very sensitive to static electricity, and that makes them less reliable unless you have a static-free environment to work in. Therefore, we will stick with TTL here.

CHAPTER II

Conceptual Framework

Microprocessor History

Figure 1.3

Various microprocessors

A microprocessor (sometimes abbreviated µP) is a digital electronic component with transistors on a single semiconductor integrated circuit (IC). One or more microprocessors typically serve as a central processing unit (CPU) in a computer system or handheld device.

Microprocessors made possible the advent of the microcomputer. Before this, electronic CPUs were typically made from bulky discrete switching devices (and later small-scale integrated circuits) containing the equivalent of only a few transistors. By integrating the processor onto one or a very few large-scale integrated circuit packages (containing the equivalent of thousands or millions of discrete transistors), the cost of processor power was greatly reduced. Since the advent of the IC in the mid-1970s, the microprocessor has become the most prevalent implementation of the CPU, nearly completely replacing all other forms.

The evolution of microprocessors has been known to follow Moore's Law when it comes to steadily increasing performance over the years. This law suggests that the complexity of an integrated circuit, with respect to minimum component cost, doubles every 24 months. This dictum has generally proven true since the early 1970s. From their humble beginnings as the drivers for calculators, the continued increase in power has led to the dominance of microprocessors over every other form of computer; every system from the largest mainframes to the smallest handheld computers now uses a microprocessor at its core.

The first microprocessors

As with many advances in technology, the microprocessor was an idea whose time had come. Three projects arguably delivered a complete microprocessor at about the same time, Intel's 4004, Texas Instruments' TMS 1000, and Garrett Air search’s Central Air Data Computer.

In 1968, Garrett was invited to produce a digital computer to compete with electromechanical systems then under development for the main flight control computer in the US Navy's new F-14 Tomcat fighter. The design was complete by 1970, and used a MOS-based chipset as the core CPU. The design was smaller and much more reliable than the mechanical systems it competed against, and was used in all of the early Tomcat models. However, the system was considered so advanced that the Navy refused to allow publication of the design, and continued to refuse until 1997. For this reason the CADC, and the MP944 chipset it used, are fairly unknown even today.

TI developed the 4-bit TMS 1000 and stressed pre-programmed embedded applications, introducing a version called the TMS1802NC on September 17, 1971, which implemented a calculator on a chip. The Intel chip was the 4-bit 4004, released on November 15, 1971, developed by Federico Faggin.

TI filed for the patent on the microprocessor. Gary Boone was awarded U.S. Patent 3,757,306 for the single-chip microprocessor architecture on September 4, 1973. It may never be known which company actually had the first working microprocessor running on the lab bench. In both 1971 and 1976, Intel and TI entered into broad patent cross-licensing agreements, with Intel paying royalties to TI for the microprocessor patent. A nice history of these events is contained in court documentation from a legal dispute between Cyrix and Intel, with TI as intervener and owner of the microprocessor patent.

A computer-on-a-chip is a variation of a microprocessor which combines the microprocessor core (CPU), some memory, and I/O (input/output) lines, all on one chip. The computer-on-a-chip patent, called the "microcomputer patent" at the time, U.S. Patent 4,074,351, was awarded to Gary Boone and Michael J. Cochran of TI. Aside from this patent, the standard meaning of microcomputer is a computer using one or more microprocessors as its CPU(s), while the concept defined in the patent is perhaps more akin to a microcontroller.

According to A History of Modern Computing, (MIT Press), pp. 220-21, Intel entered into a contract with Computer Terminals Corporation, later called Data point, of San Antonio TX, for a chip for a terminal they were designing. Data point later decided not to use the chip, and Intel marketed it as the 8008 in April, 1972. This was the world's first 8-bit microprocessor. It was the basis for the famous "Mark-8" computer kit advertised in the magazine Radio-Electronics in 1974. The 8008 and its successor, the world-famous 8080, opened up the microprocessor component marketplace.

Notable 8-bit designs

The 4004 was later followed in 1972 by the 8008, the world's first 8-bit microprocessor. These processors are the precursors to the very successful Intel 8080 (1974), Zilog Z80 (1976), and derivative Intel 8-bit processors. The competing Motorola 6800 was released in August 1974. Its architecture was cloned and improved in the MOS Technology 6502 in 1975, rivaling the Z80 in popularity during the 1980s.

Both the Z80 and 6502 concentrated on low overall cost, through a combination of small packaging, simple computer bus requirements, and the inclusion of circuitry that would normally have to be provided in a separate chip (for instance, the Z80 included a memory controller). It was these features that allowed the home computer "revolution" to take off in the early 1980s, eventually delivering semi-usable machines that sold for US$99.

The Western Design Center, Inc. (WDC) introduced the CMOS 65C02 in 1982 and licensed the design to several companies which became the core of the Apple IIc and IIe personal computers, medical implantable grade pacemakers and defibrillators, automotive, industrial and consumer devices. WDC pioneered the licensing of microprocessor technology which was later followed by ARM and other microprocessor Intellectual Property (IP) providers in the 1990s.

Motorola trumped the entire 8-bit world by introducing the MC6809 in 1978, arguably one of the most powerful, orthogonal, and clean 8-bit microprocessor designs ever fielded - and also one of the most complex hardwired logic designs that ever made it into production for any microprocessor. Micro coding replaced hardwired logic at about this point in time for all designs more powerful than the MC6809 - specifically because the design requirements were getting too complex for hardwired logic.

Another early 8-bit microprocessor was the Signe tics 2650, which enjoyed a brief flurry of interest due to its innovative and powerful instruction set architecture.

A seminal microprocessor in the world of spaceflight was RCA's RCA 1802 (aka CDP1802, RCA COSMAC) (introduced in 1976) which was used in NASA's Voyager and Viking space probes of the 1970s, and onboard the Galileo probe to Jupiter (launched 1989, arrived 1995). RCA COSMAC was the first to implement C-MOS technology. The CDP1802 was used because it could be run at very low power, and because its production process (Silicon on Sapphire) ensured much better protection against cosmic radiation and electrostatic discharges than that of any other processor of the era. Thus, the 1802 is said to be the first radiation-hardened microprocessor.

16-bit designs

The first multi-chip 16-bit microprocessor was the National Semiconductor IMP-16, introduced in early 1973. An 8-bit version of the chipset was introduced in 1974 as the IMP-8. In 1975, National introduced the first 16-bit single-chip microprocessor, the PACE, which was later followed by an NMOS version, the INS8900.

Other early multi-chip 16-bit microprocessors include one used by Digital Equipment Corporation (DEC) in the LSI-11 OEM board set and the packaged PDP 11/03 minicomputer, and the Fairchild Semiconductor Micro Flame 9440, both of which were introduced in the 1975 to 1976 timeframe.

The first single-chip 16-bit microprocessor was TI's TMS 9900, which was also compatible with their TI 990 line of minicomputers. The 9900 was used in the TI 990/4 minicomputer, the TI-99/4A home computer, and the TM990 line of OEM microcomputer boards. The chip was packaged in a large ceramic 64-pin DIP package while most 8-bit microprocessors such as the Intel 8080 used the more common, smaller, and less expensive plastic 40-pin DIP. A follow-on chip, the TMS 9980, was designed to compete with the Intel 8080, had the full TI 990 16-bit instruction set, used a plastic 40-pin package, moved data 8 bits at a time, but could only address 16KB. A third chip, the TMS 9995, was a new design. The family later expanded to include the 99105 and 99110.

The Western Design Center, Inc. (WDC) introduced the CMOS 65816 16-bit upgrade of the WDC CMOS 65C02 in 1984. The 65816 16-bit microprocessor was the core of the Apple IIgs and later the Super Nintendo Entertainment System, making it one of the most popular 16-bit designs of all time.

Intel followed a different path, having no minicomputers to emulate, and instead "upsized" their 8080 design into the 16-bit Intel 8086, the first member of the x86 family which powers most modern PC type computers. Intel introduced the 8086 as a cost effective way of porting software from the 8080 lines, and succeeded in winning a lot of business on that premise. The 8088, a version of the 8086 that used an external 8-bit data bus, was the microprocessor in the first IBM PC, the model 5150. Following up their 8086 and 8088, Intel released the 80186, 80286 and, in 1985, the 32-bit 80386, cementing their PC market dominance with the processor family's backwards compatibility.

The integrated microprocessor memory management unit (MMU) was developed by Childs et al. of Intel, and awarded US patent number 4,442,484.

Figure 1.4

Upper interconnect layers on an Intel 80486 DX2

16-bit designs were in the market only briefly when full 32-bit implementations started to appear.

The world's first single-chip 32-bit microprocessor was the AT&T Bell Labs BELLMAC-32A, with first samples in 1980, and general production in 1982. After the divestiture of AT&T in 1984, it was renamed the WE 32000 (WE for Western Electric), and had two follow-on generations, the WE 32100 and WE 32200. These microprocessors were used in the AT&T 3B5 and 3B15 minicomputers; in the 3B2, the world's first desktop super microcomputer; in the "Companion", the world's first 32-bit laptop computer; and in "Alexander", the world's first book-sized super microcomputer, featuring ROM-pack memory cartridges similar to today's gaming consoles. All these systems ran the original Bell Labs Unix Operating System, which included the first Windows-type software called xt-layers.

The most famous of the 32-bit designs is the MC68000, introduced in 1979. The 68K, as it was widely known, had 32-bit registers but used 16-bit internal data paths, and a 16-bit external data bus to reduce pin count. Motorola generally described it as a 16-bit processor, though it clearly has 32-bit architecture. The combination of high speed, large (16 megabyte) memory space and fairly low costs made it the most popular CPU design of its class. The Apple Lisa and Macintosh designs made use of the 68000, as did a host of other designs in the mid-1980s, including the Atari ST and Commodore Amiga.

Intel's first 32-bit microprocessor was the iAPX 432, which was introduced in 1981 but was not a commercial success. It had an advanced capability-based object-oriented architecture, but poor performance compared to other competing architectures such as the Motorola 68000.

Motorola's success with the 68000 led to the MC68010, which added virtual memory support. The MC68020, introduced in 1985 added full 32-bit data and address busses. The 68020 became hugely popular in the Unix super microcomputer market, and many small companies (e.g., Altos, Charles River Data Systems) produced desktop-size systems. Following this with the MC68030, which added the MMU into the chip, the 68K family became the processor for everything that wasn't running DOS. The continued success led to the MC68040, which included an FPU for better math performance. A 68050 failed to achieve its performance goals and was not released, and the follow-up MC68060 was released into a market saturated by much faster RISC designs. The 68K family faded from the desktop in the early 1990s.

Other large companies designed the 68020 and follow-ones into embedded equipment. At one point, there were more 68020s in embedded equipment than there were Intel Pentiums in PCs. The Cold Fire processor cores are derivatives of the venerable 68020.

During this time (early to mid 1980s), National Semiconductor introduced a very similar 16-bit pin out, 32-bit internal microprocessor called the NS 16032 (later renamed 32016), the full 32-bit version named the NS 32032, and a line of 32-bit industrial OEM microcomputers. By the mid-1980s, Sequent introduced the first symmetric multiprocessor (SMP) server-class computer using the NS 32032. This was one of the design's few wins, and it disappeared in the late 1980s.

Other designs included the interesting Zilog Z8000, which arrived too late to market to stand a chance and disappeared quickly.

In the late 1980s, "microprocessor wars" started killing off some of the microprocessors. Apparently, with only one major design win, Sequent, the NS 32032 just faded out of existence, and Sequent switched to Intel microprocessors.

64-bit microchips on the desktop

While 64-bit microprocessor designs have been in use in several markets since the early 1990s, the early 2000s have seen the introduction of 64-bit microchips targeted at the PC market. With AMD's introduction of the first 64-bit IA-32 backwards-compatible architecture, AMD64, in September 2003, followed by Intel's own x86-64 chips, the 64-bit desktop era began. Both processors can run 32-bit legacy apps as well as the new 64-bit software. With 64-bit Windows XP and Linux that run 64-bit native, the software too is geared to utilize the full power of such processors.

In reality the move to 64-bits is more than just an increase in register size from the ia32 as it also includes a small increase in register quantity for the aging CISC designs.

The move to 64 bits by PowerPC processors had been intended since the processor's design in the early 90s and was not a major cause of incompatibility. Existing integer registers are extended as are all related data pathways but in common with the IA32 designs both floating point and vector units had been operating at or above 64 bits for several years. Unlike the IA32 no new general purpose registers are added so any performance gained when using the 64-bit mode is minimal.

RISC

In the mid-1980s to early-1990s, a crop of new high-performance RISC (reduced instruction set computer) microprocessors appeared, which were initially used in special purpose machines and Unix workstations, but have since become almost universal in all roles except the Intel-standard desktop.

The first commercial design was released by MIPS Technologies, the 32-bit R2000 (the R1000 was not released). The R3000 made the design truly practical, and the R4000 introduced the world's first 64-bit design. Competing projects would result in the IBM POWER and Sun SPARC systems, respectively. Soon every major vendor was releasing a RISC design, including the AT&T CRISP, AMD 29000, Intel i860 and Intel i960, Motorola 88000, DEC Alpha and the HP-PA.

Market forces have "weeded out" many of these designs, leaving the PowerPC as the main desktop RISC processor, with the SPARC being used in Sun designs only. MIPS continues to supply some SGI systems, but is primarily used as an embedded design, notably in Cisco routers. The rest of the original crop of designs have either disappeared, or are about to. Other companies have attacked niches in the market, notably ARM, originally intended for home computer use but since focused at the embedded processor market. Today RISC design based on the MIPS, ARM or PowerPC core power the vast majority of computing device. In 64-bit computing, DEC Alpha, AMD64, MIPS, SPARC, Power Architecture, and HP-Intel Itanium are all popular designs.

Special-purpose microprocessors

Though the term "microprocessor" has traditionally referred to a single- or multi-chip CPU or System-on-a-chip (SoC), several types of specialized processing devices have followed from the technology. The most common examples are microcontrollers, Digital Signal Processors (DSP) and Graphics processing units (GPU). Many examples of these are either not programmable, or have limited programming facilities. For example, in general GPUs through the 1990s were mostly non-programmable and have only recently gained limited facilities like programmable vertex shedders. There is no universal consensus on what defines a "microprocessor", but it is usually safe to assume that the term refers to a general-purpose CPU of some sort and not a special-purpose processor unless specifically noted.

The RCA 1802 had what is called a static design, meaning that the clock frequency could be made arbitrarily low, even to 0 Hz, a total stop condition. This let the Voyager/Viking/Galileo spacecraft use minimum electric power for long uneventful stretches of a voyage. Timers and/or sensors would awaken/speed up the processor in time for important tasks, such as navigation updates, attitude control, data acquisition, and radio communication.

Microprocessor Progress: INTEL

Figure 1.5

The Intel 8080 was the first microprocessor in a home computer

The first microprocessor to make it into a home computer was the Intel 8080, a complete 8-bit computer on one chip, introduced in 1974. The first microprocessor to make a real splash in the market was the Intel 8088, introduced in 1979 and incorporated into the IBM PC (which first appeared around 1982). If you are familiar with the PC market and its history, you know that the PC market moved from the 8088 to the 80286 to the 80386 to the 80486 to the Pentium to the Pentium II to the Pentium III to the Pentium 4. All of these microprocessors are made by Intel and all of them are improvements on the basic design of the 8088. The Pentium 4 can execute any piece of code that ran on the original 8088, but it does it about 5,000 times faster!

The following table helps you to understand the differences between the different processors that Intel has introduced over the years.

|Name |Date |Transistors |Microns |Clock speed |

|1971 |Intel 4004 |First "computer-on-a-chip" |Arithmetic , i.e. Busicom |Limited resources |

| | | |calculator | |

|1972 |Intel 8008 |8-bit bus width; first to |Dumb terminals, calculators, |Interrupts worked poorly|

| | |implement interrupts |bottling machines | |

|1972 |Texas Instruments |On-chip memory |Low-cost embedded applications|Programmers couldn't add|

| |TMS 1000 | | |external memory |

|1974 |Intel 8080 |10x performance of the |Altair computer (first PC); |Difficult to program |

| | |8008; separate address and |traffic light controller | |

| | |data buses | | |

|1978 |Intel 8086 |16-bit bus width |Desktop and portable computing|Convoluted addressing |

| | | | |scheme |

|1979 |Motorola 68000 |16-/32-bit chip powerful |Apple Lisa ('83), Unix |Integer unit and |

| | |enough to handle advanced |workstations, home videogame |ex-ternal data bus only |

| | |graphics |machines |16 bits wide |

|1979 |Intel 8088 |16-bit internal |IBM PCs and clones |Same convoluted |

| | |architecture with 8-bit | |addressing scheme as the|

| | |external bus | |8086 |

|1982 |Intel 80286 |Added memory protection; 16|Standard PC CPU |Couldn't do page faults,|

| | |MB of addressable memory; | |lacked virtual memory |

| | |1GB of virtual memory | | |

|1985 |Intel 386 DX |64 terabytes of virtual |Desktop PCs |Didn't yet have an |

| | |memory; 32-bit bus; 4-GB | |on-chip FPU or on-chip |

| | |addressable memory | |cache |

|1986 |MIPS Computer Systems |First motherboard-level |Unix workstations; later, |Difficult to program; |

| |R2000 |RISC chip for workstations |midrange computers |incompatible with PC |

| | | | |software |

|1987 |Sun Microsystems |An open RISC architecture |Laptops to workstations to |Required multiple chips |

| |SPARC | |supercomputers |due to pair of CMOS gate|

| | | | |arrays and external FPUs|

|1989 |Intel i486 |First x86 with on-chip |Desktop PCs, CAD |Lacked advanced |

| | |cache, FPU, and pipelined | |techniques of some RISC |

| | |instructions | |chips |

|1989 |Intel i960CA |First superscalar chip |Primarily embedded |Fairly expensive |

| | | |applications | |

|1992 |Digital Equipment |200-MHz clock |Workstations and servers |Ran hot; expensive |

| |Corp. | | | |

| |Alpha 21064 | | | |

|1993 |IBM and Motorola |First out-of-order |Apple Macintoshes, desktop |Programs not usually |

| |PowerPC 601 |execution microprocessor |PCs, servers |written for out-of-order|

| | | | |execution |

|1993 |Intel Pentium |Dynamic branch prediction; |Desktop PCs and network |Ran very hot |

| | |64-bit external data bus |servers | |

| | |and 32-bit address bus | | |

|1995 |Digital Equipment |First to execute four |High-end desktop PCs, |Runs hot; expensive |

| |Corp. |instructions per cycle and |workstations, and servers | |

| |Alpha 21164 |the first with three | | |

| | |on-chip caches | | |

|1995 |Intel Pentium Pro |Has CPU chip and cache chip|High-end desktop computers, |Expensive |

| | |in same package |graphics workstations, servers| |

Figure 1.1

Microprocessor statistical

Microprocessor Comparison

There are many microprocessors available to the public. Not knowing the differences can be quite frustrating -- especially when it means saving or spending a couple hundred dollars.

Below is a chart that compares and contrasts important features found on some of the more popular chips in the market today.

  |Celeron |Pentium II |Pentium III |Pentium III Xeon |Pentium 4 |K6-II |K6-III |Athlon (K7) |Athlon XP |Duron |PowerPC G3 |PowerPC G4 | |Transistors |7,500,000 |7,500,000 |9,500,000 |28,100,000 |55,000,000 |9,300,000 |21,300,000 |22,000,000 |37,500,000 |N/A |6,500,000 |10,500,000 | |CPU Speed |1.06 GHz - 2 GHz |233 MHz - 450 MHz |450 MHz - 1 GHz |500 MHz - 1 GHz |1.4 GHz - 2.2 GHz |500 MHz - 550 MHz |400 MHz - 450 MHz |850 MHz - 1.2 GHz |1.67 GHz |700-800 MHz |233 MHz - 333 MHz |400 MHz - 800 MHz | |L2 Cache |256 KB,

full speed |512 KB,

half speed |256 KB,

full speed |256 KB - 2 MB,

full speed |256 KB,

full speed |N/A |256 KB,

full speed |256 KB,

full speed |384 KB,

full speed |64 KB,

full speed |512 KB, 1 MB,

half speed |1 MB,

half speed | |Front-Side Bus Speed |133 MHz and 400 MHz |100 MHz |133 MHz |100 MHz |533 MHz |100 MHz |100 MHz |200 MHz and 266 MHz |266 MHz |200 MHz |100 MHz |100 MHz | |Floating Point |strong |strong |strong |strong |N/A |N/A |Strong |very strong |very strong |very strong |very strong |Strong | |Integer |strong |strong |strong |strong |N/A |N/A |Excellent |very strong |N/A |N/A |N/A |N/A | |Table 1.2

Comparison Chart

Microprocessor Instruction

An instruction is a binary pattern designed inside a microprocessor to perform a specific function. The entire group of instructions, called the instruction set, determines what functions the microprocessor can perform. These instructions can be classified into the following five functional categories: data transfer (copy) operations, arithmetic operations, logical operations, branching operations, and machine-control operations.

• Data Transfer (Copy) Operations-This group of instructions copy data from a location called a source to another location called a destination, without modifying the contents of the source. In technical manuals, the term data transfer is used for this copying function. However, the term transfer is misleading; it creates the impression that the contents of the source are destroyed when, in fact, the contents are retained without any modification. The various types of data transfer (copy) are listed below together with examples of each type:

• Arithmetic Operations-These instructions perform arithmetic operations such as addition, subtraction, increment, and decrement.

• Addition - Any 8-bit number, or the contents of a register or the contents of a memory location can be added to the contents of the accumulator and the sum is stored in the accumulator. No two other 8-bit registers can be added directly (e.g., the contents of register B cannot be added directly to the contents of the register C). The instruction DAD is an exception; it adds 16-bit data directly in register pairs.

• Subtraction - Any 8-bit number, or the contents of a register, or the contents of a memory location can be subtracted from the contents of the accumulator and the results stored in the accumulator. The subtraction is performed in 2's compliment, and the results if negative, are expressed in 2's complement. No two other registers can be subtracted directly.

• Increment/Decrement - The 8-bit contents of a register or a memory location can be incremented or decrement by 1. Similarly, the 16-bit contents of a register pair (such as BC) can be incremented or decrement by 1. These increment and decrement operations differ from addition and subtraction in an important way; i.e., they can be performed in any one of the registers or in a memory location.

• Logical Operations-These instructions perform various logical operations with the contents of the accumulator.

AND, OR Exclusive-OR - Any 8-bit number, or the contents of a register, or of a memory location can be logically ANDed, Ored, or Exclusive-Ored with the contents of the accumulator. The results are stored in the accumulator.

• Rotate- Each bit in the accumulator can be shifted either left or right to the next position.

• Compare- Any 8-bit number or the contents of a register, or a memory location can be compared for equality, greater than, or less than, with the contents of the accumulator.

• Complement - The contents of the accumulator can be complemented. All 0s are replaced by 1s and all 1s are replaced by 0s.

Branching Operations

This group of instructions alters the sequence of program execution either conditionally or unconditionally.

• Jump - Conditional jumps are an important aspect of the decision-making process in the programming. These instructions test for a certain conditions (e.g., Zero or Carry flag) and alter the program sequence when the condition is met. In addition, the instruction set includes an instruction called unconditional jump.

• Call, Return, and Restart - These instructions change the sequence of a program either by calling a subroutine or returning from a subroutine. The conditional Call and Return instructions also can test condition flags.

Machine Control Operations

These instructions control machine functions such as Halt, Interrupt, or do nothing. The microprocessor operations related to data manipulation can be summarized in four functions:

1. Copying data

2. Performing arithmetic operations

3. Performing logical operations

4. Testing for a given condition and alerting the program sequence

Some important aspects of the instruction set are noted below:

1. In data transfer, the contents of the source are not destroyed; only the contents of the destination are changed. The data copy instructions do not affect the flags.

2. Arithmetic and Logical operations are performed with the contents of the accumulator, and the results are stored in the accumulator (with some expectations). The flags are affected according to the results.

3. Any register including the memory can be used for increment and decrement.

4. A program sequence can be changed either conditionally or by testing for a given data condition.

Microprocessor Trends

Dual-core microprocessors are currently the center of attention in computing design. There is a definite shift away from ever higher frequencies to multicore processors to meet higher-performance requirements without pushing power consumption beyond what can be tolerated in many applications.

Figure 1.6

A single-core processor needing a large heat sink doesn’t

Suit most embedded applications.

Other significant developments that are focused on delivering “more MIPS per watt” include on-chip memory controllers, more sophisticated dynamic power management and the growth of single-instruction multiple-data (SIMD) engines. Process and transistor technologies have been the primary means to higher processor performance driven by higher frequencies. Recently, however, the focus has moved away from frequency and onto power consumption. Until recently, designers’ primary power consideration was the AC component because of the charging and discharging of gates.

Dual-core processors

HF devices require higher voltage supplies and, therefore, exponentially higher power-consumption and dissipation allowances. Increased interrupt latencies, which are critical in real-time applications, are also a product of higher-frequency processors that require deeper pipelines to feed the core. Stalls caused by pipeline flushes—this happens when the processor takes an unpredicted branch in code—can seriously impact performance. Other factors are forcing chip designers to find performance gains by new means. Higher frequencies require additional clocking overhead. A safety margin has to be built into processors around the clock edges to ensure correct operation. Since the safety margin remains approximately constant, there is effectively less usable time within a clock period as the frequency increases. Thus, increased frequencies have not been delivering similar levels of performance. Hence, system designers are moving toward multicore processor architectures rather than higher-frequency devices to enable higher system performance while minimizing increases in power consumption. Dual-core microprocessors, originally conceived for computationally intensive applications such as servers, are now being designed and deployed across a range of embedded application

Microprocessor Units

The Z80180™ is an 8-bit MPU which provides the benefits of reduced system costs and also provides full backward compatibility with existing ZiLOG Z80 devices. Reduced system costs are obtained by incorporating several key system functions on-chip with the CPU. These key functions include I/O devices such as DMA, UART, and timer Z80180

Figure 1.8

Functional Block Diagram

Figure 1.9

Block diagram

Chapter 3

DEVELOPMENT OF THE PROJECT

Project Development

Figure 1.7

The two experimenter board for the MSP430 chipset. On the left the larger chip version, on the right a small version in USB format.

A Microprocessor Development Board is a printed circuit board containing a microprocessor and the minimal support logic needed for an engineer to become acquainted with the microprocessor on the board, and to learn to do some elementary assembler programming on it. It also served for the producer of the microprocessor as a platform for testing their new chip.

It differs from a home computer by not having any logic above what is absolutely necessary to create a working system with an ability to enter and execute a machine language program, and evaluate the result. So normally all the things you would expect to have in a computer system designed for entertainment, such as a Video Display Controller, a sound-chip, and a keyboard usable for Basic, would not be available as a standard feature.

Synthesis and Development Procedure of Microprocessor Software Program for Spacecraft Digital Attitude Control

A systematic procedure is developed for the synthesis of attitude control software for three-axis stabilized satellites. In discussing the systematic procedure, emphasis is placed on the fixed-point arithmetic scaling strategy, and three types of simulation. These simulation processes are: numerical simulation on a large-scale digital computer; full-instruction simulation for the digital controller with dynamics simulated numerically; and hardware simulation using an air bearing table on which are mounted sensors, actuators, and a microcomputer adopted for the prototype attitude controller.

CHAPTER IV

Summary, Conclusion and Recommendation

Summary

Microprocessor they have three Units of 8085 first Processing Unit, Instruction Unit, Storage and Interface Unit.

• Processing unit it is arithmetic and logic unit, accumulator, status flag and temporary register

• Instruction Unit it is Instruction Register ,Instruction Decoder, Timing and Control Unit

6

Conclusion

 In this project, simulation of Intel 8085 microprocessor instructions on a different CPU and operating system is discussed. For this purpose, a program, which called as Sim8085, is written in a high level visual language on an Intel 80386 based CPU and Windows 95 based operating system. For the point of engineering, program developing on an 8085-µp environment is hard and hence, means that losing time. With the Sim8085, writing 8085-µp assembly language based algorithms and checking them for error is so much easy; Sim8085 has come over all these difficulties easily.

The Intel 8085 is an 8-bit microprocessor introduced by Intel in 1977. It was binary-compatible with the more-famous Intel 8080 but required less supporting hardware, thus allowing simpler and less expensive microcomputer systems to be built. The "5" in the model number came from the fact that the 8085 required only a +5-volt (V) power supply rather than the +5V, -5V and +12V supplies the 8080 needed. Both processors were sometimes used in computers running the CP/M operating system, and the 8085 later saw use as a microcontroller, by virtue of its low component count. Both designs were eclipsed for desktop computers by the compatible Zilog Z80, which took over most of the CP/M computer market as well as taking a share of the booming home computer market in the early-to-mid-1980s.The 8085 had a long life as a controller. Once designed into such products as the DEC tape controller and the VT100 video terminal in the late 1970s, it continued to serve for new production throughout the life span of those products (generally longer than the product life of desktop.

APPENDICES

-----------------------

LYCEUM OF ALABANG

#88 GNT Business Center, National Road, Muntinlupa City

%12•´ x ˜ ¶ æ í î

Ml~г

º

&

;

U

[

©

°

[pic]

[?]

&

D

Š



¿ßàãäåýþ34hiÄ÷ïç÷âÔÉÔÉÔÉÔÉÔÉÔÉÔÉÔÉÔɾɾɾɾɷ³·³·¬·³·³§š“?‡?‡?‡hò*?PJh?/äPJh}IPJ

hò*?5?PJhÉWk5?OJ[?]PJQJ[?]^J[?] h/=5?

h/=h/=h/=

hÉWkh/=hò*?OJ[?]QJ[?]\?^J[?]h/=DEPARTMENT OF COMPUTER STUDIES

Page

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download