Você está na página 1de 63

Microcontroladores

Evolução dos Microcontroladores

21/02/2018
Campus Mossoró, Eng Msc Kleber Jacinto

07/03/2018 1
Sistema de representação Numérica
Como representar valores?

07/03/2018 2
Sistema de representação Numérica
Como Representar valores?

Sistema Posicionais e não posicionais

Algarismos Assumem valores distintos Cada valor é escrito em ordem, mas


por assumirem posições distintas cada valor pode ser representado por
mais de um algarismo
1546 MDXLVI

3874 MMMDCCCLXXIV

2989 MMCMLXXXIX

07/03/2018 3
Sistema de representação Numérica
Como Representar valores?

Sistema Posicionais e não posicionais

07/03/2018 4
Sistema de representação Numérica
Como Representar valores?

Sistema Decimal

Algarismos disponíveis: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

História conhecida:
• Século 4 d.C.: Índia, a numeração posicional de base 10 é criada
• 449 d.C: Índia, Aryabhatiya (obra de matemática e astronomia escrita
em sânscrito) descreve o sistema: "de lugar para lugar, cada um vale
dez vezes o precedente"
• 825 d.C: Europa, divulgado pelo matemático árabe Mohamed Ben
Musa Al Khwarizmi

De onde vem o termo Por isso o sistema é dito


“Algarismo” Indo-arábico

Mohamed Ben Musa Al Khwarizmi


07/03/2018 5
Sistema de representação Numérica
Como Representar valores?

Sistema Decimal

07/03/2018 6
Sistema de representação Numérica
Como Representar valores?

Sistema Decimal

07/03/2018 7
Sistema de representação Numérica
Como Representar valores?

Sistema Decimal

Decimal = base 10

... Milhar Centena Dezena Unidade

x10 x10 x10

07/03/2018 8
Sistema de representação Numérica
Como Representar valores?

Sistema Decimal

3874
4.100 = 4.1= 4
7.101 = 7.10= 70
8.102 = 8.100= 800
3.103 = 3.1000=3000
3874

07/03/2018 9
Sistema de representação Numérica
Como Representar valores?

Sistema Binário
Algarismos disponíveis: 0, 1

História conhecida:
• Século 17 d.C.: Alemanha, Leibniz propôs um sistema de base 2
• 1857 d.C.: Inglaterra, George Boole determina as bases da Álgebra
booleana
Vantagens:
• Operações matemáticas simplificadas
• Facilmente adaptável a sistemas elétricos e mecânicos

Desvantagens:
• Números são muito longos
• Difícil manipulação por pessoas

George Boole Gottfried Wilhelm Leibniz

07/03/2018 10
Sistema de representação Numérica
Como Representar valores?

Sistema Binário

1011
1.20 = 1.1 = 1
1.21 = 1.2 = 2
0.22 = 0.4 = 0
1.23 = 1.8 = 8
11

07/03/2018 11
Sistema de representação Numérica
Como Representar valores?

Sistema Binário

07/03/2018 12
Sistema de representação Numérica
Como Representar valores?

Sistema Binário

07/03/2018 13
Sistema de representação Numérica
Como Representar valores?

Sistema Hexadecimal
Algarismos disponíveis: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

História conhecida:
• 1950 a 1980: Vários pesquisadores estudaram as melhores formas de
representar
Vantagens:
• Operações matemáticas simplificadas
• Simplifica numeração binária

Desvantagens:
• Mais que os dígitos numéricos
• Difícil manipulação por pessoas

07/03/2018 14
Sistema de representação Numérica
Como Representar valores?

Sistema Hexadecimal

1D0A
A.160 = 10.1 = 10
0.161 = 0.16 = 0
D.162 = 13.256 = 3328
1.163 = 1.4096 = 4096
7434

07/03/2018 15
Sistema de representação Numérica
Como Representar valores?

Sistema Hexadecimal

07/03/2018 16
Sistema de representação Numérica
Como Representar valores?

Sistema Hexadecimal

07/03/2018 17
Evolução do hardware
Como surgiram os microcontroladores?

07/03/2018 18
Evolução do Hardware
Como surgiram os microcontroladores

87 a.C.: Antikythera

07/03/2018 19
Evolução do Hardware
Como surgiram os microcontroladores

1622: Régua de Cálculo

07/03/2018 20
Evolução do Hardware
Como surgiram os microcontroladores

1642: Pascaline (Blaise PASCAL)

07/03/2018 21
Evolução do Hardware
Como surgiram os microcontroladores

1673: Leibniz Stepped Reckoner calculator

07/03/2018 22
Evolução do Hardware
Como surgiram os microcontroladores

1822: Charles Babbage's difference engines

07/03/2018 23
Evolução do Hardware
Como surgiram os microcontroladores

1891: William Seward Burroughs Adding and listing machine

07/03/2018 24
Evolução do Hardware
Como surgiram os microcontroladores

1936: Konrad Zuse – mechanical binary gate

07/03/2018 25
Evolução do Hardware
Como surgiram os microcontroladores

1940s: George Stibitz computador de relés (eletromecânico)

07/03/2018 26
Evolução do Hardware
Como surgiram os microcontroladores

1944: Howard Aiken-memória magnética (magnetic shift register)

IBM Harvard Mark I


07/03/2018 27
Evolução do Hardware
Como surgiram os microcontroladores

1940: Alan Turing’s electromechanical bombe

07/03/2018 28
Evolução do Hardware
Como surgiram os microcontroladores

1945: ENIAC (Electronic Numerical Integrator And Computer)

07/03/2018 29
Evolução do Hardware
Como surgiram os microcontroladores

1946: John von Neumann with the IAS Computer

07/03/2018 30
Evolução do Hardware
Como surgiram os microcontroladores

1950s: Beckman computer at the San Francisco airport

07/03/2018 31
Evolução do Hardware
Como surgiram os microcontroladores

1954: Johnniac

07/03/2018 32
Evolução do Hardware
Como surgiram os microcontroladores

1960: CDC 1604 scientific computer

07/03/2018 33
Evolução do Hardware
Como surgiram os microcontroladores

1961: PACE TR-48 (transistorized analog computer)

07/03/2018 34
Evolução do Hardware
Como surgiram os microcontroladores

1960s: DEC PDP-8

07/03/2018 35
Evolução do Hardware
Como surgiram os microcontroladores

1972: Pong Machine

07/03/2018 36
Evolução do Hardware
Como surgiram os microcontroladores

1974: Intel 8080

07/03/2018 37
Evolução do Hardware
Como surgiram os microcontroladores

1975: IBM System/32

07/03/2018 38
Evolução do Hardware
Como surgiram os microcontroladores

1976: Apple I

07/03/2018 39
Evolução do Hardware
Como surgiram os microcontroladores

1977: TRS-80

07/03/2018 40
Evolução do Hardware
Como surgiram os microcontroladores

1977: Apple II

07/03/2018 41
Evolução do Hardware
Como surgiram os microcontroladores

1981: IBM PC

07/03/2018 42
Evolução do Hardware
Como surgiram os microcontroladores

Dias atuais...

07/03/2018 43
Arquitetura
Como são os microprocessadores?

07/03/2018 44
Arquitetura
Como são os microprocessadores?

Arquitetura von Neumann

MCU
Registradores

Memória

Unidade de
ALU
controle

Sistemas de Entra/saída

07/03/2018 45
Arquitetura
Como são os microprocessadores?

Arquitetura multicore

Processador
Core 0 Core 1 Core 2 Core 3

CPU CPU CPU CPU

Cache L1 Cache L1 Cache L1 Cache L1 Memória

Cache L2

Unidade de
controle

Sistemas de Entra/saída

07/03/2018 46
Arquitetura
Como são os microprocessadores?

Arquitetura Multicore

07/03/2018 47
Evolução do hardware
Como surgiram os microcontroladores?

Tipos de memória

• Registradores
• Cache
• ROM (Read Only Memory)
• RAM (Random Access Memory)
• Armazenamento permanente
• Fita
• Disquete (disco flexível)
• Disco Rígido (HD)
• Memória Flash

07/03/2018 48
Evolução do hardware
Como surgiram os microcontroladores?

Tipos de memória

07/03/2018 49
Evolução do hardware
Como surgiram os microcontroladores?

Tipos de memória

07/03/2018 50
Software
A alma da máquina

07/03/2018 51
Software
A alma da máquina

Tipos de software

• Sistema operacional
• Aplicativos de sistema
• Aplicativos de usuário

07/03/2018 52
Software
A alma da máquina

Entrada de dados

07/03/2018 53
Software
A alma da máquina

Entrada de dados

07/03/2018 54
Software
A alma da máquina

Entrada de dados

07/03/2018 55
Software
A alma da máquina

Entrada de dados

07/03/2018 56
Software
A alma da máquina

Entrada de dados

07/03/2018 57
Software
A alma da máquina

Entrada de dados

07/03/2018 58
Software
A alma da máquina

Time line das principais linguagens de programação


1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL (forerunner to LISP)
1955 – FLOW-MATIC (led to COBOL)
1957 – FORTRAN (First compiler) e COMTRAN (precursor to COBOL)
1958 – LISP e ALGOL 58
1959 – FACT (forerunner to COBOL), COBOL e RPG
1962 – APL, Simula, SNOBOL
1963 – CPL (forerunner to C)
1964 – Speakeasy (computational environment), BASIC, PL/I
1966 – JOSS
1967 – BCPL (forerunner to C)
1968 – Logo
1969 – B (forerunner to C)
1970 – Pascal, Forth
1972 – C, Smalltalk, Prolog

07/03/2018 59
Software
A alma da máquina

Time line das principais linguagens de programação


1973 – ML
1975 – Scheme
1978 – SQL (a query language, later extended)
1980 – C++ (as C with classes, renamed in 1983)
1983 – Ada
1984 – Common Lisp, MATLAB, dBase III, dBase III Plus
(Clipper and FoxPro as FoxBASE, later developing into Visual FoxPro)
1985 – Eiffel
1986 – Objective-C, LabVIEW (Visual Programming Language), Erlang
1987 – Perl
1988 – Tcl, Wolfram Language
1989 – FL (Backus)
1990 – Haskell
1991 – Python, Visual Basic
1993 – Lua, R
1994 – CLOS (part of ANSI Common Lisp)
1995 – Ruby, Ada 95, Java, Delphi (Object Pascal), JavaScript, PHP

07/03/2018 60
Software
A alma da máquina

Time line das principais linguagens de programação


1997 – Rebol
2000 – ActionScript
2001 – C#, D
2002 – Scratch
2003 – Groovy, Scala
2005 – F#
2006 – PowerShell
2007 – Clojure
2009 – Go
2010 – Rust
2011 – Dart, Kotlin, Red, Elixir
2012 – Julia
2014 – Swift
2016 – Ring

07/03/2018 61
Software
A alma da máquina

Comparação entre linguagens


lea si, string ; Atribui a string ao SI.
call printf ; Coloca o endereço atual na pilha e chama o processo printf
hlt ; Encerra o programa.
string db "Ola mundo!", 0
printf PROC
mov AL, [SI] ; Atribui à AL o valor no endereço SI.
cmp AL, 0 ; Compara AL com nulo.
je pfend ; Pula se comparação der igual.
mov AH, 0Eh
int 10h ; Executa uma função da BIOS que imprime o caractere em AL.
inc SI ; Incrementa em um o valor de SI.
jmp printf ; Pula para o início do processo.
pfend:
ret ; Retorna para o endereço na posição atual da pilha.
printf ENDP

clc
disp(‘Olá, Mundo!’)

07/03/2018 62
Estudem!

07/03/2018 63