Microcontroller
From CVL Wiki
(New page: =A typical microcontroller= ==The programming model== ==Memory== ===ROM=== ===PROM=== ===EPROM=== ===EEPROM=== ===Flash EEPROM=== ===RAM=== == Central Processor Unit (CPU)== ==The I/O inte...) |
|||
Line 8: | Line 8: | ||
===Flash EEPROM=== | ===Flash EEPROM=== | ||
===RAM=== | ===RAM=== | ||
− | == Central Processor Unit (CPU)== | + | ==Central Processor Unit (CPU)== |
==The I/O interface== | ==The I/O interface== | ||
==The address, data, and control buses== | ==The address, data, and control buses== | ||
+ | |||
+ | [[Image:Buses.jpg|thumb|left|Fig.1 Buses on the Spartan-3E board]]Electrical lines that travel between microcontroller components (such as memory[http://computing.ece.vt.edu/mediawiki/index.php?title=Microcontroller&action=submit#Memory] and the CPU[http://computing.ece.vt.edu/mediawiki/index.php?title=Microcontroller&action=submit#Central_Processor_Unit_.28CPU.29]) are called buses. Buses[http://en.wikipedia.org/wiki/Data_bus] are either wires (typically insulated if they are free-standing), or copper lines printed on a circuit board. Buses carry data between microcontroller components. The data carried over these buses are in digital form, which means with the exception of transition periods, they are discrete voltage values. There are three types of buses: address, data, and control buses. The two most popular microprocessor architectures, Harvard[http://www.ee.nmt.edu/~rison/ee308_spr99/supp/990119/harvard.gif] and Princeton[http://www.ee.nmt.edu/~rison/ee308_spr99/supp/990119/princeton.gif], each have different interconnects between components (such as memory, control, and processing); they, however, use the same buses to communicate with each other. | ||
+ | |||
+ | The address bus carries address data of varying size, depending on the platform and design of the microcontroller. For the MicroBlaze microcontroller, addresses are in 32-bit word form. This allows for up to 2<sup>32</sup> or 4,294,967,296 different addresses in any given component. The main components that communicate via the address bus are the processor (CPU) and memory (either data memory or instruction memory). Memory addresses are needed so that the reads and writes to memory are done in the right memory locations. | ||
+ | |||
+ | The data bus passes actual data through its communication lines. Again, the bandwidth of this bus can vary, but for the MicroBlaze it is 32 bits. The data bus is mostly used between memory and another microcontroller component. The address information for data to be passed goes through the address bus, but the actual data with reads and writes are passed through the data bus. | ||
+ | |||
+ | The control bus passes instructions and other control information between microcontroller components. This bus is mainly used to and from a major control component (a CPU or control circuit, or otherwise). A main job of the control component is to decide whether the data bus is to perform a read or write. The control circuitry also prioritizes instructions that need to be performed, and is in charge of executing them in sequence. In other words, the control bus keeps everything in order, and prevents data from being moved unsystematically. | ||
+ | |||
=Microprocessors vs microcontrollers= | =Microprocessors vs microcontrollers= | ||
==Hardware architecture== | ==Hardware architecture== |
Latest revision as of 00:36, 2 May 2007
[edit] A typical microcontroller
[edit] The programming model
[edit] Memory
[edit] ROM
[edit] PROM
[edit] EPROM
[edit] EEPROM
[edit] Flash EEPROM
[edit] RAM
[edit] Central Processor Unit (CPU)
[edit] The I/O interface
[edit] The address, data, and control buses
Electrical lines that travel between microcontroller components (such as memory[1] and the CPU[2]) are called buses. Buses[3] are either wires (typically insulated if they are free-standing), or copper lines printed on a circuit board. Buses carry data between microcontroller components. The data carried over these buses are in digital form, which means with the exception of transition periods, they are discrete voltage values. There are three types of buses: address, data, and control buses. The two most popular microprocessor architectures, Harvard[4] and Princeton[5], each have different interconnects between components (such as memory, control, and processing); they, however, use the same buses to communicate with each other.The address bus carries address data of varying size, depending on the platform and design of the microcontroller. For the MicroBlaze microcontroller, addresses are in 32-bit word form. This allows for up to 232 or 4,294,967,296 different addresses in any given component. The main components that communicate via the address bus are the processor (CPU) and memory (either data memory or instruction memory). Memory addresses are needed so that the reads and writes to memory are done in the right memory locations.
The data bus passes actual data through its communication lines. Again, the bandwidth of this bus can vary, but for the MicroBlaze it is 32 bits. The data bus is mostly used between memory and another microcontroller component. The address information for data to be passed goes through the address bus, but the actual data with reads and writes are passed through the data bus.
The control bus passes instructions and other control information between microcontroller components. This bus is mainly used to and from a major control component (a CPU or control circuit, or otherwise). A main job of the control component is to decide whether the data bus is to perform a read or write. The control circuitry also prioritizes instructions that need to be performed, and is in charge of executing them in sequence. In other words, the control bus keeps everything in order, and prevents data from being moved unsystematically.