1 2 Introduction MC Part2
1 2 Introduction MC Part2
MICROCONTROLLERS
Introduction – part 2 • The growth of computer performance is based
on two main trends:
Professor Mihai ROMANCA – Developing the semiconductor technology
Electronics and Computers Department
email: [email protected]
– Innovations in organization and design of
computer machines
1 2
• Gordon E. Moore, Intel co-founder, described the trend in one of • Other formulations:
his 1965 paper – The number of
(equivalent)
• The quantity of transistors that can be placed inexpensively on transistors on a
an integrated circuit has doubled approximately every two chip will double
every 18 / 24
years. month
– The trend has continued for more than half a century and is not – The computing
expected to stop until 2015 or 2020 or later power will growth
exponentially, being
• The Moore paper noted that the number of components in doubled every 18 -
integrated circuits had doubled every year from the invention of 24 month
the integrated circuit in 1958 until 1965 and predicted that the
trend would continue "for at least ten years“
• Picture from
https://www.computerhistory.org
3 4
TECHNOLOGY- MOORE’S LOW
48 years from the Moore’s law
Trend: stop the growing of clock frequency Trend: lowering the clock frequency
• Multi-core processors that work in parallel
• As many operations as many clock cycles per second • Intel: reducing the clock frequency with 20% for a core lead to halve
the power consumption and only 13% loss of performance
• The growing power related to the growing of frequency ! (heat
dissipation) • Two core processing, with clock frequency reduced at 80%, retake to
a performance higher with 73% at a similar power consumption
7 8
Quad core chip Key Terminology
• Hardware: Refers to objects that you can actually touch,
like disks, display screens, keyboards, printers, boards
and chips
• Software: Computer instructions or data. Anything that
can be stored electronically is software.
• Program: An organized list of instructions that, when
executed, causes the computer to behave in a
predetermined manner. Without programs, computers
are useless
9 10
11 12
Key Terminology Key Terminology
• CISC (Complex Instruction Set Computer): • Memory: Storage areas in the computer
- Pronounced sisk Bus: A collection of wires
- Most personal computers, use a CISC architecture, in through which data is I/O 1 I/O 2 I/O n
which the CPU supports as many as two hundred transmitted from one part of a
instructions computer to another. Usually the
internal bus of a computer Control Bus
- All Intel microprocessors using CISC architecture consist in data bus, address bus System Bus
Data Bus
- Arithmetic and logic operations with operands in and control bus. Address Bus
memory.
- Variable instruction length. Main
CPU memory
13 14
15 16
Embedded systems What is an EmS ?
• Disappearing computer (processor/microcontroller/computer
embedded in a system)
• An embedded system:
• Post-PC computing era
• Ubiquitous computing (the “disappearing” computer is present
– Is designed to perform a dedicated function
anywhere and integrated in the environment. – Has a limited amount of hardware and software
– “The best computer is a quiet, invisible servant” - Mark Weiser) capability
• Pervasive computing (universal and distributed computing) – Is a computer system with higher quality and reliability
• Ambient intelligence (Ubiquitous computing and communication, requirements
friendly intelligent interfaces)
– It is not designed to be programmed by the end user
– It works with time constrains (real type system)
A paraphrase to Moore’s law: For many products in the area of
consumer electronics the amount of code is doubling every two years
[Vaandrager, 1998].
17 18
Structural representation of a
Embedded systems main market areas
computer: role of the CPU
• Consumer electronics / Multimedia: microwave ovens, freezers,
coffee makers, automatic washing machines, cameras, TV sets,
remote controls, multimedia interactive games, smart toys, security
and alarm systems, etc.
• Automotives / Transport equipment: engine control, safety • Computer system composed from many functional
(airbags, ABS, door lock), navigation control, comfort, elevators,
naval and aerospace transport units, interconnected in a manner that permit
• Computers / Peripherals / Office equipment: printers, photocopier, processing of information.
keyboard, ATMs, DVD drives, scanners, USB devices
• Telecommunications, networks: smart phone, automatic switching • A small set of circuits can be driven to perform very
systems, router, radar, etc. different tasks, depending on the software program
• Industrial measuring and control technology: PLCs, robotics, which is executed
industrial automation systems, surveillance and automatic
recording systems, digital oscilloscopes, logical analyzers, spectral Logical reconfiguration of Data Path
analyzers, etc.
• Medical technology: monitors, medical imaging, control of complex
instrumentation (radiation, ultrasound, etc.), infusion pumps
19 20
Structural representation of a
Central Processing Unit (CPU)
computer: role of the CPU
Computer system - "stored program" concept
• The primary function of a CPU is to execute the instructions
fetched from the main memory.
• An instruction tells the CPU to perform one of its basic
Input Input Main Output Output operations (an arithmetic or logic operation, to transfer a data
devices system Memory system devices from/to main memory, etc.).
I D
• The CU is the one which interprets (decodes) the instruction
to be executed and which "tells" the different other
Arithmetic
Control & Logic
components what to do.
Unit Unit • The CPU includes a set of registers which are temporary
CPU storage devices typically used to hold intensively used data
Computer
and intermediate results.
21 22
25 26
27 28
Functional representation of a
Translation
computer
• To command a computer's hardware you must speak its • Need to design a new instruction set (that form language L1),
language. more easily to use for humans
• The words of a machine's language are called instructions, • We can think that L1 run on a virtual machine M1 (with his
and its vocabulary is called an instruction set. specific inputs, outputs and functions - instruction set).
• The actual (physical) computer machine M0 executes only • For execute a program in L1 we must replace every L1
programs written in the (machine) language L0 - very difficult instruction with an equivalent sequence of instruction in L0,
to use in direct programming that can be executed by the actual machine M0.
• It is a binary language (only sequences of 0 and 1) • This technique is called translation from L1 to L0:
– L1 program is first entirely translated in a L0 program;
• For example: 0000 0100 0000 0110 in L0 – For every L1 instruction corresponds a sequence of instruction in L0
• Can have de means: add al,6 ; in L1 – Program in L0 is loaded in memory and executed, and L1 program is
abandoned.
– Translater: Compiler, Assembler.
29 30
31 32
Remarks on assembler and compiler
Virtual machines
translation programs
• In order to simplify operations of translation or interpretation, • Even we considered above that the executable program was
languages L0 and L1 must be not too different directly generated by the translator (assembler or compiler),
• This restriction means that even L1 is a more appropriate language an additional system program called link editor is necessary in
than L0, in many application the programming can be a hard work the translation process
• The solution is to invent another language L2 (for a virtual machine – Programs run on a machine with multitasking OS
M2). Language L1 can be translated in L1 and then in L0. • For example, in the assembly operation, the translation is
• ...... done in two successive stages:
• Language Ln for Mn virtual machine 1. In the first step it makes a lexical and syntactic analysis of the source
program and then generates a table with the symbolic addresses
• Therefore a programmer can see a computer, from the point of
used;
view of offered functions, as a multilevel (virtual) machines
2. In the second pass, based on the table, a relocatable object code is
• Every level has specific inputs and outputs and a specific set of generated (all addresses are relative to the start address of the
functions program, not related to physical memory addresses).
33 34
35