Home | Microprocessor | Labs Index |XUP-UNM V1000 Project | Digilent Spartan2E Microblaze lab | AFX V1000 Microblaze lab| ML1 Flash Microblaze lab |ML300 PPC405 lab 1|ML300 PPC405 lab 2 | ML300 PPC405 lab 3 |Workshops | Links & Datasheets

Microprocessors Introduction


The basic tenant upon which all stored program computers are based is the fetch, decode, and execute cycle. Dr. Howard Pollard


What is a microprocessor?

To fully understand the differences and similarities between Microblaze, PowerPC, and other microprocessors it is necessary to spend a few minutes discussing microprocessors in general. We intend to introduce the reader to basic concepts on microprocessors and provide useful references in case you need to go deeper into the details. The sources of all the information posted here are detailed at the end of this webpage.

Basically, a microprocessor is an integrated circuit that contains thousands, or even millions, of transistors. The transistors work together to store and manipulate data so that the microprocessor can perform a wide variety of useful functions. The particular functions a microprocessor performs are dictated by software. [1]
A very nice site to check the history of microprocessors can be found at Intel [2]. This can help to understand the actual impact of MicroBlaze and programmable logic on today's applications.

Let's first discuss some basic ideas and concepts:

The first idea of a computer as we know it now was developed by Von Neumann and Alan Turing and is know as the "Von Neumann Machine". The first system implementing this idea was the IAS computer (1952 at the Princeton Institute for Advanced Studies). The general structure was composed of a main memory, an arithmetic logic unit (CA), a program control unit (CC) and I/O equipment (I/O). [3]


Figure 1. Structure of the IAS Computer [3].

At this very first stage of development, these systems were huge and the CPU was built using discrete elements wired together. Finally around 1971, microelectronic developments produced a breakthrough as Intel developed its 4004, the first chip to contain all of the components of a CPU on a single chip. The microprocessor was born! [3]. Many years have passed since that day. The basic ideas are still the same. A computer system still follows the very basic scheme shown in figure 1.

Another concept to discuss is "System-on-a-Chip" or SoC. SoC technology is the packaging of all the necessary electronic circuits and parts for a "system" (such as a cell phone or digital camera) on a single integrated circuit (IC), generally known as a microchip. For example, a system-on-a-chip for a sound-detecting device might include an audio receiver, an analog-to-digital converter (ADC), a microprocessor, necessary memory, and the input/output logic control for a user - all on a single microchip.


System-on-a-chip technology is used in small, increasingly complex consumer electronic devices. Some such devices have more processing power and memory than a typical 10-year-old desktop computer. In the future, SoC-equipped nanorobots (robots of microscopic dimensions) might act as programmable antibodies to fend off previously incurable diseases. SoC video devices might be embedded in the brains of blind people, allowing them to see; SoC audio devices might allow deaf people to hear. Handheld computers with small whip antennas might someday be capable of browsing the Internet at megabit-per-second speeds from any point on the surface of the earth. [4]

Finally, the concept of "Embedded Systems". An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is specifically designed for a particular kind of application. Industrial machines, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines, and toys (as well as the more obvious cellular phone and PDA) are among the myriad of possible hosts of an embedded system. Embedded systems that are programmable are provided with a programming interface, and embedded systems programming is a specialized occupation.

Certain operating systems or language platforms are tailored for the embedded market, such as EmbeddedJava and Windows XP Embedded. However, some low-end consumer products use very inexpensive microprocessors and limited storage, with the application and operating system both being part of a single program. The program is written permanently into the system's memory (in this case), rather than being loaded into Random Access Memory (RAM), as programs on a personal computer are. [4]

In this context, it is safe to describe a simple embedded microcomputer system as a combination of computer hardware and software tailored for a specific application. A good (and somehow generic example) is shown in figure 2.

Figure 2; Example of embedded microcomputer system.

A coarse division of this system is used to explain its components and to start establishing relationships with EDK, Microblaze and PPC405 as tools for us to understand the role of programmable logic and Xilinx's tools in embedded computer systems. Our arbitrary division is Microprocessor, other computer hardware as memory, peripheral blocks (timer, ADC/DAC, etc), buses and I/O interfaces.


[1] http://www.intel.com/intel/intelis/museum/exhibits/hist_micro/hof/whatis.htm
[2] http://www.intel.com/intel/intelis/museum/exhibits/hist_micro/index.htm
[3] Computer Organization & Architecture, designing for performance, W. Stallings.
[4] Whatis.com

 


alnz 2004 | UNM - XUP