I wrote kind of report on microcontrollers (unfortunatelly not in English). Here are the terms I compiled during this - translated into English. I did my best
but it will need editing by some native speaker.
Also it is only related do microcontrollers...
BTW wiki is great resource but it's not as easy as it may seem to extract some short and usuable definitions from there.
Here is the list:
Processor – (also Central Processing Unit - CPU). Logic machine which executes instructions. It is central part of computer or microcomputer.
CPU – see processor
MCU – see microcontroller
Microcontroller (also Microcontroller unit - MCU) - computer integrated into one chip. Integrated circuit which besides CPU contains other circuits such as memory, clock generator, timer, input/output lines, A/D converter and communication interface.
Algorithm – exact recipe how to do something.
Instruction (of a CPU) – elementary action which processor can perform.
Operation code (also opcode) – code which identifies the operation which CPU should do. Opcode is part of an instruction. Instruction consists of opcode and operand(s).
Machine code (also machine language) – the lowest level of abstraction for writing computer program. It is composed of numbers which represent instructions and data.
Assembler – programming language close to machine language. Also name used for the computer program which translates program written in this language into machine code.
Compiler – in general a machine, typically computer program, which translates some input language into another, output language. In programming compiler translates program written in some programming language into machine code.
Register – very small but very fast memory which is typically integrated in the CPU. It is used to temporarily store operands and results of currently executing instructions.
Address – unique identifier for a piece of computer memory. In most computers the size of each such memory piece is 1 byte.
Program – sequence of instructions which tells the processor what to do.
Programming- the process of writing (creating) programs.
Programming language – language used for writing programs.
Variable – named space in memory, into which some value can be saved.
Array – data structure which contains certain number of items of the same size
Local variable – variable which is visible (usable) only in certain part of a program, typically inside function or subroutine or inside even smaller part of the code.
Global variable – variable which is visible (available) in a whole program. Opposite of local variable.
Loop – part of a program which is executed repeatedly until (or unless) some condition is met.
Stack – part of the RAM memory used for special purposes and with special instructions.
Subroutine- part of program which can be called (jumped into) from various places of the program. Execution automatically returns to the point from which the subroutine was called (to the next instruction after the jump) from the end of the subroutine.
Parameter (argument) – something which is passed into subroutine from the program which calls this subroutine.
Stack pointer – register which keeps the address of the next free position in the stack (or address of the last value added to stack).
Program counter (PC) – register which keeps the address of the currently executed instruction.
Bit – basic unit of information. It is the amount of information needed to distinguish two states (1 and 0; true or false, etc.).
Byte – 8 bits.
Port – part of a microcontroller which allows it to communicate with outer world.
LED – Light Emitting Diode – semiconductor part which emits lights when electrical current flows through it.
Polling – situation when program repeatedly (in a loop) tests state of some device - for example, when waiting for the device to complete some operation. The opposite of polling is the situation in which the device signals completion of its operation by an interrupt. Thus the program can perform other (more useful) tasks than testing device's state.
Interrupt – a way in which the processor is forced to respond to an external event (e.g. key press). In response to interrupt the processor temporarily stops executing the current program and executes special subroutine associated with this interrupt. The subroutine is called interrupt handler.
Interrupt handler – subroutine which is executed in response to an interrupt.
Interrupt vector – address in memory where the interrupt handler is located or index into a table which contains addresses of interrupt handlers.
A/D converter – (Analog to Digital converter) - device which converts analog signal (such as voltage) to a number.
Driver – from programmers perspective a library of subroutines (functions) which help to work with some device, e.g. with display. In general software which makes it possible to use some hardware.
Display – a device for displaying data, e.g. TV screen, computer monitor etc.
String (text) – in general set of elements of the same type with defined order. Typically set of characters which are represented in the program by single variable. In fact, array of characters. In many programming languages end of string is marked by element with value 0.
NULL – symbol for “no value” or nothing. In C language it is used as a value of pointer which points nowhere (is not set to a valid value). The value of NULL is usually 0. Sometimes null (lower case) is the symbolic name for terminating character of text strings.
ASCII code – code which defines numerical values for representing alphabetical characters. The most widely used code for encoding characters on computers.
Serial communication – kind of communication, during which data are sent by single bits, one bit after another.
Parallel communication – several bits (typically 8 bits) are sent at the same time.
Timer – (timer module) - part of microcontroller which performs time-related tasks, such as measuring length of time interval or generating interrupts at certain frequency.
Counter – main part of timer. In fact it is a register. The content of this register is incremented at regular intervals. After it reaches the maximal value it starts counting again from zero.
Prescaler – part of timer which divides input clock signal by certain value before the signal enters the timer.
Modulo register – register in a timer module which defines maximal value for timer counter. When the counter reaches this value, it is reset and counts from zero again.
PWM – (pulse-width-modulation) - kind of change (modulation) of a signal which is used to transfer information or regulate power delivered to some device. Also name for the function provided by microcontroller timer which performs this task.
Input capture – One of the functions often provided by timer module. It allows capturing (saving to a designated register) the exact time when defined change occurs at input pin of the microcontroller (e.g. when the pin goes from log 1 to log 0).
Output compare – One of the functions often provided by timer module. It allows generating change on output pin of the microcontroller at exactly given time.