Wednesday 28 December 2011

What are General Purpose Processors?


GENERAL PURPOSE PROCESSOR:
The designer of a general purpose processor builds a programmable device suitable for a variety of applications.
        One feature of such a processor is a program memory the designer of such a processor does not know about what program will run on the processor, so the program cannot be built into a digital circuit.
       Another feature is a general data path – the data path must be general enough to handle a variety of computations, so such a data path typically has a large register file and one or more general purpose ALU’s. An embedded system designer however need not be concerned about its design. He simply programs it to carry out required functionality. Hence it is referred as a software portion.

             GENERAL PURPOSE PROCESSOR
General Purpose Processor

           EMBEDDING SOFTWARE
Before going for a software design, one should carefully analyze the hardware circuitry to be used. Careful analysis should be done for peripherals on the chip. In an interrupt driven environment, make sure that the interrupt structure is useful. If the device is a microcontroller, does it include enough ROM and RAM? This may impact the language selection. Microcontrollers typically have a small on board memory once the chip is chosen; one is committed to making the code work on that chip.
EMBEDDED SYSTEM DEVELOPING TOOLS:
Ø   HOST AND TARGET MACHINES:
                          Most of programming work for embedded systems is done on a host – a computer system on which all the programming tools run. It’s only after the program has been written, compiled, assembled, and linked that is moved to the target system which is shipped to customer. Some people use the word “WORKSTATION” instead of “HOST”.
Ø   COMPILERS:
                          They convert the one programming language code to another programming language code. It usually compiles for the native platform on which it is running.
Ø   CROSS -  COMPILERS:


                            It produces machine code for a platform different from the one it is running on.
      Most of desktop systems used as hosts come with compiler, assemblers, linkers and building programs that will run on the host. These tools are called “NATIVE” tools.
      What is needed is a compiler that runs on your host system but produces the binary instructions that will be understand by your target microprocessor. Such a program is called a CROSS – COMPILER.
CROSS-ASSEMBLER AND TOOL CHAINS:
                  Another tool that you’ll need if you must write your programming in assembly language is a cross assembler the cross assembler runs on your host but produces binary instructions appropriate for the target. The input to the cross assembler must be assembly language appropriate for the target. There is no point in expecting that appropriate input for cross assembler has any relationship to the input for native assembler.
Figure below shows the process of building software for an embedded system. The output from each tool becomes the input file for the next. Because of this the tools must be compatible with one another. A set of tools that is compatible in this way is called “TOOL CHAIN”. The tool chain that run on the various hosts and that build programs for various targets are available.  
TOOL CHAIN FOR BUILDING EMBEDDED SOFTWARE
               CONCLUSION:
1.      Mainly developed in ‘c’ language.
2.      Code size of application varies from 500 bytes to millions of bytes.
3.      Microprocessors become smaller and cheaper.
4.      More and more products becoming ‘smart’ with microprocessor embedded in them.
5.      Examples ranges from digital watch to scientific and medical instruments to atomobiles engines

    No comments:

    Post a Comment