• Nenhum resultado encontrado

SSC304 Introdução à Programação Para Engenharias

N/A
N/A
Protected

Academic year: 2021

Share "SSC304 Introdução à Programação Para Engenharias"

Copied!
30
0
0

Texto

(1)

São Carlos - 2018

Universidade de São Paulo

Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação

SSC304

Introdução à Programação Para Engenharias

Prof.Dr. Danilo Spatti

Estrutura de um Computador

GE4 Bio

(2)

SSC304

Programação

2 Evolução Tecnológica do Computador

▪ É uma invenção

sem

inventor.

▪ Aperfeiçoamento

constante

de ideias

anteriores.

▪ O termo

computador

era associado a

um profissional capaz de fazer contas

mais complexas e com

extrema

velocidade

.

Filme “Estrelas Além do Tempo”

(3)

SSC304

Programação

3 Evolução Tecnológica do Computador

▪ Primeiros dispositivos eram mecânicos.

▪ 1642/1647: primeira calculadora mecânica (Pascal) ▪ 1671/1673: calculadora mecânica com +, -, *, /

(Leibniz)

▪ 1750: Início da Revolução Industrial

(4)

SSC304

Programação

4 Evolução Tecnológica do Computador

▪ Época dos dispositivos valvulados.

▪ ENIAC: desenvolvido para fins militares.

➢ 18mil válvulas, 1500 relés, 30 toneladas, 140 kW. ➢ 20 registradores de 10 dígitos decimais cada.

➢ Programação por hardware (chaves e soquetes).

(5)

SSC304

Programação

5 Evolução Tecnológica do Computador

▪ Máquina de John von Neumann.

▪ Modelo que persiste até os dias atuais quando do projeto de dispositivos computacionais.

Primeira Geração (1945-1955) Memória Unidade Lógica Aritmética Unidade de Controle Entrada Saída Acumulador

(6)

SSC304

Programação

6 Evolução Tecnológica do Computador

▪ Época dos transistores.

▪ PDP1: universidades e centros de pesquisa.

➢ US$ 120.000, 4K palavras de 18 bits, Clock de 200 kHz e vídeo.

(7)

SSC304

Programação

7 Evolução Tecnológica do Computador

▪ Era dos circuitos integrados.

▪ Múltiplos transistores encapsulados em uma única pastilha, conceito de LSI.

▪ LSI (Large Scale Integration) – mil transistores por

chip.

▪ Custo reduziu significativamente.

(8)

SSC304

Programação

8 Evolução Tecnológica do Computador

▪ Integração em

larga escala

.

▪ Popularização dos PCs e da Lei de

Moore

.

▪ VLSI (Very Large Scale Integration).

▪ 100 mil transistores por chip.

(9)

SSC304

Programação

9 Evolução Tecnológica do Computador

▪ Integração em ultra

larga escala.

▪ ULSI (Ultra Large Scale Integration).

▪ Bilhões de transistores por chip.

(10)

SSC304

Programação

10 Evolução Tecnológica do Computador

▪ Intel

➢ 4004, 8008, 8080, 8085, 8086, 8088, 80186, 80188, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium MMX,

Pentium II, Pentium III, Pentium IV, Pentium M, Pentium D, Pentium Dual Core, Core 2 Duo, Core 2 Quad, i3, i5, i7, i9...

▪ AMD

➢ x86, K6, Athlon, Duron, Turion, Sempron, Ryzen...

▪ Motorola ➢ 68000. ▪ Zilog ➢ Z80, Z8000. ▪ Texas Instruments ➢ TMS9900. Processadores Comerciais

(11)

SSC304

Programação

11 Evolução Tecnológica do Computador

(12)

SSC304

Programação

12 Evolução Tecnológica do Computador

▪ Custo: geralmente avaliado em termos de quantidade de pinos ou área de chip.

▪ Clock: velocidade efetiva do processador

numérico.

▪ Cache: tamanho de registradores encapsulados

ao processador.

▪ Instruções e operações

▪ IPS – Instruções com números inteiros / segundo.

▪ FLOPS – Operações de ponto flutuante / segundo.

▪ T/S – Transferências efetivas / segundo.

(13)

SSC304

Programação

13 Comparativo

▪ Microprocessador:

➢ Implementado em um único componente, mas com memória, entradas e saídas externas.

➢ Comportamento no tempo é determinado por um programa externo colocado em memória.

➢ Grande desempenho.

▪ Microcontrolador

➢ CPU, memória, entradas e saídas integradas em um único componente.

➢ Programa e dados são alocados em memória interna

ao microcontrolador.

➢ Desempenho inferior ao microprocessador.

(14)

SSC304

Programação

14 Comparativo

(15)

SSC304

Programação

15 Comparativo

▪ CISC (Complex Instruction Set Computing):

➢ Grande conjunto de instruções (centenas) .

➢ Armazenadas em memória não-volátil interna ao processador.

➢ Quanto mais complexa a operação, mais

microinstruções ela possuirá e mais tempo levará para ser executada.

▪ RISC (Reduced Instruction Set Computing)

➢ Conjunto pequeno de instruções (dezenas) implementadas diretamente em hardware. ➢ Realização mais rápida das instruções.

➢ Instruções são muito simples e para a realização de certas tarefas são necessárias mais instruções que no modelo CISC.

(16)

SSC304

Programação

16 Estrutura de um Computador

Composição (I)

Memória

Unidade Central de Processamento

Unidade de Entrada Unidade de Saída Arquitetura Interna

(17)

SSC304 Programação 17 Estrutura de um Computador Composição (II) Memória Unid. Lógica e de Aritmética

Unidade Central de Processamento

Unidade de Entrada

Unidade de Saída

(18)

SSC304 Programação 18 Estrutura de um Computador Composição (III) Memória Unidade de Entrada Unidade de Saída Unid. Lógica e de Aritmética Unidade Central de Processamento

(19)

SSC304 Programação 19 Estrutura de um Computador Composição (IV) Memória Unidade de Entrada Unidade de Saída Unid. Lógica e de Aritmética

(20)

SSC304

Programação

20 Linguagens de Programação

▪ As instruções são fornecidas a partir de um conjunto de cadeias ou dígitos binários.

▪ Parte da instrução representa a operação e o restante é o endereço do dado onde será

realizada a operação. ▪ 1001101012

Linguagem de Máquina (I)

(21)

SSC304

Programação

21 Linguagens de Programação

Linguagem de Máquina (II)

▪ Um dígito binário é

chamado de bit (BInary digiT).

▪ O bit mais significativo é chamado de MSB (most significant bit) e o menos significativo de LSB

(least significant bit). ▪ Nibble – 4 dígitos

binários

▪ Byte – 8 dígitos binários

Decimal Pesos 22 21 20 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 MSB LSB

(22)

SSC304

Programação

22 Linguagens de Programação

▪ As instruções são fornecidas a partir de um conjunto de cadeias ou dígitos binários.

▪ Grande dificuldade de compreensão e

desenvolvimento de programas para a maioria.

Linguagem de Máquina (III)

Código de

Operação Significado

00100000 Carregue: copie no acumulador o conteúdo da palavra endereçada

01001100 Armazene: copie na palavra endereçada o valor do acumulador

(23)

SSC304

Programação

23 Linguagens de Programação

▪ Um código especial é definido para cada uma das operações da máquina

▪ Instrução alfanumérica

▪ Linguagem mais próxima do nível do hardware ▪ Assembly

Linguagem de Montagem (I)

Código de Operação Significado

MOV(destino, fonte) Copia o conteúdo do operando fonte para o operando destino

ADD (destino, fonte) Executa a adição direta entre dois operandos, o fonte e o destino

(24)

SSC304

Programação

24 Linguagens de Programação

▪ Montador: Traduz as instruções

simbólicas

.

▪ Para cada processador há uma relação

direta

entre a linguagem de

montagem

e a

linguagem

de máquina.

▪ Código não é

portável

.

(25)

SSC304

Programação

25 Linguagens de Programação

▪ Em meados de

1950

apareceram as

primeiras linguagens de programação de

alto nível

.

▪ Alto nível: nível mais

distante

das

características do

hardware

.

Exemplos: FORTRAN (“FORmula

TRANSlation

system”) e Matlab (Matrix

LABoratory).

(26)

SSC304

Programação

26 Linguagens de Programação

▪ Podem ser compiladas ou interpretadas:

▪ Compiladas

não necessitam

do

compilador

após o processo de criação

do software.

▪ Interpretadas

necessitam

do

compilador

(interpretador) após a criação do

software.

▪ Linguagens de alto nível requerem uma

forma mais

sofisticada

de

tradução

.

(27)

SSC304

Programação

27 Linguagens de Programação

▪ Tempo necessário para realizar a

conversão

do programa

fonte

em programa

objeto

.

Linguagem de Alto Nível (III)

Programa Fonte Compilação Programa Objeto Execução Saída do Programa

(28)

SSC304

Programação

28 Linguagens de Programação

(29)

SSC304

Programação

29 Considerações

▪ Para um

iniciante

, mesmo a linguagem de

alto nível pode ser

complexa

.

▪ A linguagem é dirigida a orientar uma

máquina

e não

pessoas

.

▪ Não escolhe

alternativas

.

▪ Não pode

corrigir

comandos

mal redigidos

.

▪ Não consegue tomar

decisões

baseadas no

(30)

SSC304

Programação

30 Fim

spatti@icmc.usp.br

GE4

Bio

Referências

Documentos relacionados

A primeira explica as normas do novo Código Florestal para pequenos proprietários rurais, utilizando como exemplo o Bairro dos Pereiras- Amparo- SP e a segunda cartilha aborda

A não disponibilidade do diagnóstico laboratorial precoce limita a rápida identificação, diagnóstico e manejo de casos; identificação e seguimento dos contatos;

Atualmente são mais de 35.000 famílias, que tem como principal renda recursos da produção e venda de produtos oriundos das florestas da acácia negra ou atividades

Consulte a Secção 11 para obter informações pormenorizadas sobre sintomas e efeitos na saúde.. Classificação conforme Regulamentação (EC)

As imagens postas para acompanhar o texto parece-me que, neste caso, funcionam como eficazes interpretações pontuais, como um precioso substituto visual do comentário escrito,

Como profissional da saúde, aprendi a importância da Atenção Primária e da Estratégia de Saúde da Família, uma rede que necessita de todos os elos (agente

ARREMATANTE, se ausente ao Leilão, será informado do resultado, via fac-símile ou pela Internet, devendo depositar os valores referentes à comissão do leiloeiro e ao

IX - encaminhar à coordenação de área de gestão de processos educacionais relatório individualizado acerca da atuação de supervisor ou licenciando, caso