Microprocessor
• Microprocessor is an electronic device that is capable of
performing arithmetic, logical and control operations.
• It acts as a CPU in computing systems.
Microprocessor
•General purpose microprocessor such as Intel’s x86 family (8086, 80286,
80386, 80486 and Pentium) or Motorola’s 680x0 family (68000, 68010, etc)
contain no RAM, ROM or I/O on the chip itself
•They require these devices externally to make them function
Microcontroller
•A microcontroller consists of CPU, ROM, RAM, I/O port and
timer embedded together in a single chip
•It is an ideal for applications in which cost and space are critical
Microprocessors and Microcontrollers
Programming Language
•There are three main languages
• Machine language
• Only language understand by computer differ for each
processor and normally is upward compatible
• Fast execution and can control every component in a system
• Complex programming and need to understand system configuration
• Memorizing codes are out of question
Programming Language
•Assembly language
• Much easier to write the programming
• Require the assembler to convert to machine code
•High-level language
• Solve all problem without much attention to CPU and configuration
• Easy to write a program even involves floating point calculation
• Difficult to control the hardware C, C++, Python to name a few
Programming Language
Development tools
• Software Tools
• Hardware Tools
• Assembler
• Linker
• Loader • In Circuit Emulator (ICE)
• Compiler
• Logic Analyzer
• Libraries
• Simulator • Emulator
• Debugger
• Locator
Software Development tools model
Compiler & Assembler
• Compiler
• Converts high level language to assembly language
• Assembler
• Converts assembly language to machine language
Linker
• Linker combines object files, generated by compiler/assembler,
and other pieces of codes to originate executable file with .exe
extension.
• In object file, linker searches and append all libraries needed for
execution of file.
• It regulates memory space that will hold code from each module.
• It also merges two or more separate object programs and
establishes link among them
Loader
• Loader takes input of object code from linker, loads it to main
memory, and prepares this code for execution by computer.
• It allocates memory space to program.
• Even it settles down symbolic reference between objects.
• It is in charge of loading programs and libraries in operating
system.
Locator
• Locator is used to assign specific addresses of where segments of
object code are to be loaded into memory.