0% found this document useful (0 votes)
30 views

1 2 Introduction MC Part2

The document discusses Moore's Law and the evolution of microprocessors. It provides background on Moore's Law, which states that the number of transistors on an integrated circuit doubles approximately every two years. This has led to exponential growth in computing power over decades. The document also discusses trends in microprocessor design to manage increasing power demands, such as moving to multi-core processors with lower clock speeds and the adoption of RISC architectures. Finally, it provides key terminology related to microprocessors, memory, and computer architecture.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

1 2 Introduction MC Part2

The document discusses Moore's Law and the evolution of microprocessors. It provides background on Moore's Law, which states that the number of transistors on an integrated circuit doubles approximately every two years. This has led to exponential growth in computing power over decades. The document also discusses trends in microprocessor design to manage increasing power demands, such as moving to multi-core processors with lower clock speeds and the adoption of RISC architectures. Finally, it provides key terminology related to microprocessors, memory, and computer architecture.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

COMPUTER PROGRESS

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

TECHNOLOGY- MOORE’S LOW TECHNOLOGY- MOORE’S LOW

• 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

• The capabilities of many digital electronic devices are


strongly linked to Moore's law:
– Processing speed
– Memory capacity
– Sensors resolution and size

• The term "Moore's law" was coined around 1970 by the


Caltech (California Institute of Technology) professor, VLSI
pioneer, and entrepreneur Carver Mead

• Moore’s law criticism: Difficult to equate the growth of


equivalent transistors number with the growth of
processors performance

Reproduced from IEEE Spectrum, April 2008


5 6

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

• Heat dissipation is better for more cores.

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

Key Terminology Key Terminology


• Data: Distinct pieces of information, usually formatted in • RISC (Reduced Instruction Set Computer):
a special way. All software is divided into two general
categories: data and programs (code) - Pronounced risk a type of microprocessor that
recognizes a relatively limited number of instructions.
• Instruction: A basic (binary) command to perform a
specific task. - Load / Store architecture (memory is addressed only for
• Instruction Set: The basic set of commands, or load and store operations).
instructions, that a microprocessor understands. One of - Hardwired control and fixed instruction length.
the principal characteristics that separates for reduced - Since emergence of RISC computers, conventional
instruction set computer (RISC) from complex instruction
computers have been referred to as CISCs
set computer (CISC) microprocessors is the size of the
instruction set

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

I/O: Short for input/output (pronounced "eye-oh").

13 14

Key Terminology Microprocessors’ market evolution


• Byte (B) = 8 bits • 1970s - Scalar (8 bit)
• 1980s – Pipelined (8, 16, 32 bits), RISCs
• 1KB = 210 B = 1024 B (Kilobyte)
• 1990s – Superscalar, superpipelined, VLIW, parallel
• 1MB = 210 KB = 1024 KB (Mebabyte) processing, supercomputing, Multiprocessors - System on
Chip, 32 – 128 bits DSPs
• 1 GB = 210 MB = 1024 MB (Gigabyte)
– Capability to determine true data dependencies
• 1TB = 210 GB = 1024 GB (Gigabyte) – Parallel issuing of multiple instructions based on dependencies and
resources.
• Note: K, M, G… are capital letters – Dynamic branch prediction (history tables)
– Speculative execution
– Out of order execution
• Remember: 1kg = 103g; 1km = 103m – ………………………

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

Central Processing Unit Control Unit


• The primary function of a CPU is • Control Unit control (synchronize) the elements inside the
to execute the instructions CPU and the interface to the external datapath.
fetched from the main memory. Instruction
• An instruction tells the CPU to fetch • Techniques for implementation of the control unit:
perform one of its basic 1. Hardwired control
operations 2. Microprogrammed control
• The Control Unit (CU) is the one
which interprets (decodes) the Instruction
instruction to be executed and decode
which "tells" the different other Instruction Control signals
components what to do. Register internal to the CPU
• The CPU includes a set of registers
that are temporary storage Operand Control Unit
Control signals on
devices typically used to hold fetch the system bus
intensively used data and Status and
intermediate results. condition Flags Signals from
• Each instruction is performed as a Instruction the system bus
sequence of steps - instruction execute
cycle
Clock
23 24
Processing unit
MAIN (INTERNAL)
(ALU & Registers)
MEMORY
• Arithmetic and logic unit (ALU) performs arithmetic or logic d bits
operations with operands addressed by Control Unit
• Before processing, the operands are stored in a set of general Adress 0

purpose registers used as temporary memory Adress 1

• CPU registers are a local, high-speed memory


– The set of general purpose registers can be used, however, to store Adress k
addressing information to access data memory
• Depending on the result of operations carried out, ALU set
Adress 2a-1-1
some (condition) flags in a special register, as feedback to the
CU. Adress 2a-1

25 26

Input & Output


Peripherals
System
• Input / Output system - addressable places (ports) • Input (peripheral) devices - receive information from
through the computer exchange information with external world (through different sensors) and
external world. The system comprise circuits for: transform the physical nature and representation
– change the format of data (serial / parallel) format of information ↔ compatible with voltage
– temporarily store data (latch) levels specific to computer.
– verify / check the correctness (validity) of data transferred • Output device - inverse / opposite function to input
– synchronization between peripheral and CPU because of devices. Process data from computer and transform
the large differences in the operation speed. the information in the format acceptable for the
– decoding logic output device.

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

Interpretation Translation vs Interpretation


• A second technique is to write a program in L0 that take • Translation and interpretation are very similar
over the programs in L1 as input data and execute for every • The difference consist in the fact that
instruction in L1 the equivalent instruction sequence
directly in L0 • At translation
• This process is called interpretation and the program that – the L1 program is first entirely translated in a L0 program
examines L1 instruction and executes the sequence of – L1 program being abandoned and L0 loaded in memory
associated L0 instructions is called interpreter and executed
• Interpreter is a L0 program that run on M0 and it take over • At interpretation
the programs in L1 as input data – after examination and decoding of every L1 instruction this
• Interpreter examine and decode every L1 instruction and is immediately executed
than it immediately execute that instruction. – There is no generated a translated program
– There is no generated a translated program. – The interpreter control the computer and L1 program
represents data input.

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

Remarks on assembler and compiler


translation programs
• The link editor running after the actual assembly assumes
one or more object files (modules) by essentially solving the
following tasks:
– Solving external references
– Inclusion of other object modules (user-written, or routine from
libraries);
– Relate the code to a physical address (for loading executable program
into memory);
– Generate the executable file that can be loaded and launch to run by
the operating system
– (For this task), the link editor generates a header used by the OS to
load, open and execute the program
– Optional generation of a listing indicating the link-editing mode of the
object(s) modules.

35

You might also like