SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Professor; :
Área:
ARQUITECTURA E Organização
de computadores II
1
Metódio Franklin Armando
Tecnologias e Sistemas de Informação
Professor:
Ano Académico:
SUMÁRIO DA APRESENTAÇÃO 2
Metódio Franklin Armando
2022/2023
1 APRESENTAÇÃO
1.1 Apresentação do programa analítico;
1.2 Objectivos da UC e meios a serem utilizados
2 INTRODUÇÃO
2.1 Abstrações e Tecnologias Computacionais
2.2 Desempenho dos programas
Professor:
Ano Académico:
APRESENTAÇÃO 3
Metódio Franklin Armando
2022/2023
Programa analítico
Objectivos da Unidade Curricular (UC)
Saber como funcionam os processadores actuais e, compreender as condicionantes para
a sua evolução;
Ser capaz de avaliar estratégias para optimização de programas tendo em atenção a
arquitectura computacional subjacente, baseadas em métricas de desempenho;
Desenvolver códigos em linguagem assembly por meio de simuladores e compreender a
relação entre as linguagens de alto nível e a linguagem simbólica.
Professor:
Ano Académico:
APRESENTAÇÃO 4
Metódio Franklin Armando
2022/2023
Programa analítico
Meios a serem utilizados
Projecção de Slides
SIMULADOR Assembly (MARS)
Computadores
Templates de Jornais/Revistas científicas
Avaliação
RExame = [(PP1 + PP2)/2]* 0,4 + 0,6 Exame]
RRecurso = [(PP1 + PP2)/2]* 0,2 + 0,8 Exame]
Classificação ≥ 10 = Aprovado; Escala 0 à 20
RExame = resultado final, incluindo a nota do exame ordinário;
PP- média da avaliação das provas parcelares;
RRecurso = resultado final incluindo a nota do exame de recurso.
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 5
Metódio Franklin Armando
2022/2023
Desempenho dos programas
O desempenho de um programa depende de uma combinação entre a eficácia dos
algoritmos usados no programa, os sistemas de software usados para criar e traduzir o
programa para instruções de máquina e da eficácia do computador em executar essas
instruções, que podem incluir operações de entrada/saída (E/S).
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 6
Metódio Franklin Armando
2022/2023
Desempenho dos programas
Afectado por:
Algoritmo;
Linguagem, compilador e arquitectura;
Processador e sistema de memória;
Sistema de E/S (Incluindo SO).
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 7
Metódio Franklin Armando
2022/2023
Desempenho dos programas
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 8
Metódio Franklin Armando
2022/2023
Desempenho dos programas
Linguagem, compilador e arquitectura:
Determina o número de instruções de máquina para cada instrução em nível de fonte.
Aspectos relacionados ao longo desta disciplina e em outras do curso.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 9
Metódio Franklin Armando
2022/2023
Desempenho dos programas
Processador e sistema de memória:
Determinam a velocidade com que as instruções podem ser executadas.
.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 10
Metódio Franklin Armando
2022/2023
Desempenho dos programas
Sistema de E/S (Hardware e Sistema Operativo):
Determina a velocidade em que as operações de E/S podem ser executadas.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 11
Metódio Franklin Armando
2022/2023
Analise e responda no seu caderno de anotações.
Foi possível verificar, que o número de processadores embutidos vendidos a cada ano
supera, e muito, o número de processadores para desktops. Você pode confirmar ou
negar isso com base em sua própria experiência?
Tente contar o número de processadores embutidos na sua casa. Compare esse número
com o número de computadores desktop em sua casa.
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 12
Metódio Franklin Armando
2022/2023
Analise e responda no seu caderno de anotações.
Como mencionado anteriormente, tanto o software quanto o hardware afetam o
desempenho de um programa. Podes pensar em exemplos em que cada um dos
fatores a seguir é o responsável pelo gargalo no desempenho?
O algoritmo escolhido;
A linguagem de programação ou compilador;
O sistema operativo;
O processador;
O sistema de E/S e os dispositivos.
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 13
Metódio Franklin Armando
2022/2023
Por trás do programa
O hardware em um computador só pode executar instruções de baixo nível extremamente
simples.
Ir de uma aplicação complexa até as instruções simples envolve várias camadas de
software que interpretam ou traduzem operações de alto nível nas instruções simples do
computador.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 14
Metódio Franklin Armando
2022/2023
Por trás do programa
Uma visão simplificada do hardware e software como camadas hierárquicas, mostradas
como círculos concêntricos, em que o hardware está no centro e as aplicações aparecem
externamente. Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 15
Metódio Franklin Armando
2022/2023
Por trás do programa
Existem muitos tipos de software de sistemas, mas dois tipos são fundamentais em todos os
sistemas computacionais modernos: um sistema operativo e um compilador.
Um sistema operativo fornece a interface entre o programa de utilizador e o hardware e
disponibiliza diversos serviços e funções de supervisão. Entre as funções mais importantes
estão:
Manipular as operações básicas de entrada e saída;
Alocar armazenamento e memória;
Possibilitar e controlar o compartilhamento do computador entre as diversas aplicações
que o utilizam simultaneamente.
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 16
Metódio Franklin Armando
2022/2023
Revise os conceitos
computadores desktop – Um computador projetado para uso por uma única pessoa,
normalmente incorporando um monitor gráfico, um teclado e um mouse.
Servidor – Um computador usado para executar grandes programas para múltiplos
utilizadores, quase sempre de maneira simultânea e normalmente acedido apenas por
meio de uma rede.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 17
Metódio Franklin Armando
2022/2023
Revise os conceitos
software de sistemas Software que fornece serviços que normalmente são úteis, incluindo
sistemas operacionais, compiladores e montadores.
Sistema operativo – Programa de supervisão que gere os recursos de um computador
em favor dos programas executados nessa máquina;
Compilador Um programa que traduz as instruções de linguagem de alto nível para
instruções de linguagem assembly;
Montador (assembler) – Um programa que traduz uma versão simbólica de instruções
para
a versão binária.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 18
Metódio Franklin Armando
2022/2023
Revise os conceitos
dígito binário – Também chamado bit. Um dos dois números na base 2 (0 ou 1) que são os
componentes da informação.
Instrução – Um comando que o hardware do computador entende e obedece.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 19
Metódio Franklin Armando
2022/2023
Revise os conceitos
Linguagem assembly – Uma representação simbólica das instruções de máquina.
Linguagem de máquina – Uma representação binária das instruções de máquina.
Linguagem de programação de alto nível – Uma linguagem, como C, C++, Java ou Visual
Basic, composta de palavras e notação algébrica, que pode ser traduzida por um
compilador para a linguagem assembly.
Peterson et al. (2014)
Professor:
Ano Académico:
Abstrações e Tecnologias Computacionais 20
Metódio Franklin Armando
2022/2023
Programa em C compilado para assembly e depois montado em linguagem de máquina.
Professor:
Ano Académico:
REFERÊNCIAS BLIOBLIOGRÁFICAS 21
Metódio Franklin Armando
2022/2023
Secções 1.1 e 1.2
Principal
PATTERSON, D. A. e HENNESSY, J.L. Computer organization and design: the
hardware/software interface 4. Ed. Elsevier Editora Ltda: 2014.
Complementar
STALLINGS, W. Computer organization and architecture: designing for performance 8. Ed.
São Paulo: Pearson Pratice Hall, 2010.
MUITOOBRIGADOPELAATENÇÃO!
Volenti NihilDifficili -“A quem quer, nada é difícil”
22

Mais conteúdo relacionado

Semelhante a Aula-1 Introdução - Aula 1 - Abstrações e tecnologias computacionais.pdf

Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Alex Camargo
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.pptPatrícia Melo
 
Cj027168 segurança scm mapas estratégicos
Cj027168 segurança scm mapas estratégicosCj027168 segurança scm mapas estratégicos
Cj027168 segurança scm mapas estratégicosvalneide
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Leinylson Fontinele
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16Gabriel Lima
 
Ementa informática 2011
Ementa informática 2011Ementa informática 2011
Ementa informática 2011Willian Ribeiro
 
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresAmbiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresEduardo de Lucena Falcão
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docxDiedisonRamos1
 
Trabalho final do programa da careira de scdii 5º ano
Trabalho final do programa da careira de scdii   5º anoTrabalho final do programa da careira de scdii   5º ano
Trabalho final do programa da careira de scdii 5º anoLeonelMateus1960
 
Plano de aula icc 2011.1
Plano de aula icc   2011.1Plano de aula icc   2011.1
Plano de aula icc 2011.1Daniel Moura
 
Aula 03 isc -softwares-hardwares-arquiteturas
Aula 03   isc -softwares-hardwares-arquiteturasAula 03   isc -softwares-hardwares-arquiteturas
Aula 03 isc -softwares-hardwares-arquiteturasFábio Andrade
 
paradigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfparadigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfronaldo ramos
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para LinuxChris x-MS
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 

Semelhante a Aula-1 Introdução - Aula 1 - Abstrações e tecnologias computacionais.pdf (20)

Apostila chardwere
Apostila chardwereApostila chardwere
Apostila chardwere
 
C hardware
C hardwareC hardware
C hardware
 
Sistemas_Operacionais_web.pdf
Sistemas_Operacionais_web.pdfSistemas_Operacionais_web.pdf
Sistemas_Operacionais_web.pdf
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
middlewareReflexivo.ppt
middlewareReflexivo.pptmiddlewareReflexivo.ppt
middlewareReflexivo.ppt
 
Cj027168 segurança scm mapas estratégicos
Cj027168 segurança scm mapas estratégicosCj027168 segurança scm mapas estratégicos
Cj027168 segurança scm mapas estratégicos
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16
 
Ementa informática 2011
Ementa informática 2011Ementa informática 2011
Ementa informática 2011
 
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresAmbiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docx
 
Trabalho final do programa da careira de scdii 5º ano
Trabalho final do programa da careira de scdii   5º anoTrabalho final do programa da careira de scdii   5º ano
Trabalho final do programa da careira de scdii 5º ano
 
Plano de aula icc 2011.1
Plano de aula icc   2011.1Plano de aula icc   2011.1
Plano de aula icc 2011.1
 
Aula 03 isc -softwares-hardwares-arquiteturas
Aula 03   isc -softwares-hardwares-arquiteturasAula 03   isc -softwares-hardwares-arquiteturas
Aula 03 isc -softwares-hardwares-arquiteturas
 
NFC
NFCNFC
NFC
 
paradigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfparadigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdf
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para Linux
 
Apostila c
Apostila cApostila c
Apostila c
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 

Aula-1 Introdução - Aula 1 - Abstrações e tecnologias computacionais.pdf

  • 1. Professor; : Área: ARQUITECTURA E Organização de computadores II 1 Metódio Franklin Armando Tecnologias e Sistemas de Informação
  • 2. Professor: Ano Académico: SUMÁRIO DA APRESENTAÇÃO 2 Metódio Franklin Armando 2022/2023 1 APRESENTAÇÃO 1.1 Apresentação do programa analítico; 1.2 Objectivos da UC e meios a serem utilizados 2 INTRODUÇÃO 2.1 Abstrações e Tecnologias Computacionais 2.2 Desempenho dos programas
  • 3. Professor: Ano Académico: APRESENTAÇÃO 3 Metódio Franklin Armando 2022/2023 Programa analítico Objectivos da Unidade Curricular (UC) Saber como funcionam os processadores actuais e, compreender as condicionantes para a sua evolução; Ser capaz de avaliar estratégias para optimização de programas tendo em atenção a arquitectura computacional subjacente, baseadas em métricas de desempenho; Desenvolver códigos em linguagem assembly por meio de simuladores e compreender a relação entre as linguagens de alto nível e a linguagem simbólica.
  • 4. Professor: Ano Académico: APRESENTAÇÃO 4 Metódio Franklin Armando 2022/2023 Programa analítico Meios a serem utilizados Projecção de Slides SIMULADOR Assembly (MARS) Computadores Templates de Jornais/Revistas científicas Avaliação RExame = [(PP1 + PP2)/2]* 0,4 + 0,6 Exame] RRecurso = [(PP1 + PP2)/2]* 0,2 + 0,8 Exame] Classificação ≥ 10 = Aprovado; Escala 0 à 20 RExame = resultado final, incluindo a nota do exame ordinário; PP- média da avaliação das provas parcelares; RRecurso = resultado final incluindo a nota do exame de recurso.
  • 5. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 5 Metódio Franklin Armando 2022/2023 Desempenho dos programas O desempenho de um programa depende de uma combinação entre a eficácia dos algoritmos usados no programa, os sistemas de software usados para criar e traduzir o programa para instruções de máquina e da eficácia do computador em executar essas instruções, que podem incluir operações de entrada/saída (E/S). Peterson et al. (2014)
  • 6. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 6 Metódio Franklin Armando 2022/2023 Desempenho dos programas Afectado por: Algoritmo; Linguagem, compilador e arquitectura; Processador e sistema de memória; Sistema de E/S (Incluindo SO).
  • 7. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 7 Metódio Franklin Armando 2022/2023 Desempenho dos programas
  • 8. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 8 Metódio Franklin Armando 2022/2023 Desempenho dos programas Linguagem, compilador e arquitectura: Determina o número de instruções de máquina para cada instrução em nível de fonte. Aspectos relacionados ao longo desta disciplina e em outras do curso. Peterson et al. (2014)
  • 9. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 9 Metódio Franklin Armando 2022/2023 Desempenho dos programas Processador e sistema de memória: Determinam a velocidade com que as instruções podem ser executadas. . Peterson et al. (2014)
  • 10. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 10 Metódio Franklin Armando 2022/2023 Desempenho dos programas Sistema de E/S (Hardware e Sistema Operativo): Determina a velocidade em que as operações de E/S podem ser executadas. Peterson et al. (2014)
  • 11. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 11 Metódio Franklin Armando 2022/2023 Analise e responda no seu caderno de anotações. Foi possível verificar, que o número de processadores embutidos vendidos a cada ano supera, e muito, o número de processadores para desktops. Você pode confirmar ou negar isso com base em sua própria experiência? Tente contar o número de processadores embutidos na sua casa. Compare esse número com o número de computadores desktop em sua casa.
  • 12. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 12 Metódio Franklin Armando 2022/2023 Analise e responda no seu caderno de anotações. Como mencionado anteriormente, tanto o software quanto o hardware afetam o desempenho de um programa. Podes pensar em exemplos em que cada um dos fatores a seguir é o responsável pelo gargalo no desempenho? O algoritmo escolhido; A linguagem de programação ou compilador; O sistema operativo; O processador; O sistema de E/S e os dispositivos.
  • 13. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 13 Metódio Franklin Armando 2022/2023 Por trás do programa O hardware em um computador só pode executar instruções de baixo nível extremamente simples. Ir de uma aplicação complexa até as instruções simples envolve várias camadas de software que interpretam ou traduzem operações de alto nível nas instruções simples do computador. Peterson et al. (2014)
  • 14. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 14 Metódio Franklin Armando 2022/2023 Por trás do programa Uma visão simplificada do hardware e software como camadas hierárquicas, mostradas como círculos concêntricos, em que o hardware está no centro e as aplicações aparecem externamente. Peterson et al. (2014)
  • 15. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 15 Metódio Franklin Armando 2022/2023 Por trás do programa Existem muitos tipos de software de sistemas, mas dois tipos são fundamentais em todos os sistemas computacionais modernos: um sistema operativo e um compilador. Um sistema operativo fornece a interface entre o programa de utilizador e o hardware e disponibiliza diversos serviços e funções de supervisão. Entre as funções mais importantes estão: Manipular as operações básicas de entrada e saída; Alocar armazenamento e memória; Possibilitar e controlar o compartilhamento do computador entre as diversas aplicações que o utilizam simultaneamente.
  • 16. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 16 Metódio Franklin Armando 2022/2023 Revise os conceitos computadores desktop – Um computador projetado para uso por uma única pessoa, normalmente incorporando um monitor gráfico, um teclado e um mouse. Servidor – Um computador usado para executar grandes programas para múltiplos utilizadores, quase sempre de maneira simultânea e normalmente acedido apenas por meio de uma rede. Peterson et al. (2014)
  • 17. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 17 Metódio Franklin Armando 2022/2023 Revise os conceitos software de sistemas Software que fornece serviços que normalmente são úteis, incluindo sistemas operacionais, compiladores e montadores. Sistema operativo – Programa de supervisão que gere os recursos de um computador em favor dos programas executados nessa máquina; Compilador Um programa que traduz as instruções de linguagem de alto nível para instruções de linguagem assembly; Montador (assembler) – Um programa que traduz uma versão simbólica de instruções para a versão binária. Peterson et al. (2014)
  • 18. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 18 Metódio Franklin Armando 2022/2023 Revise os conceitos dígito binário – Também chamado bit. Um dos dois números na base 2 (0 ou 1) que são os componentes da informação. Instrução – Um comando que o hardware do computador entende e obedece. Peterson et al. (2014)
  • 19. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 19 Metódio Franklin Armando 2022/2023 Revise os conceitos Linguagem assembly – Uma representação simbólica das instruções de máquina. Linguagem de máquina – Uma representação binária das instruções de máquina. Linguagem de programação de alto nível – Uma linguagem, como C, C++, Java ou Visual Basic, composta de palavras e notação algébrica, que pode ser traduzida por um compilador para a linguagem assembly. Peterson et al. (2014)
  • 20. Professor: Ano Académico: Abstrações e Tecnologias Computacionais 20 Metódio Franklin Armando 2022/2023 Programa em C compilado para assembly e depois montado em linguagem de máquina.
  • 21. Professor: Ano Académico: REFERÊNCIAS BLIOBLIOGRÁFICAS 21 Metódio Franklin Armando 2022/2023 Secções 1.1 e 1.2 Principal PATTERSON, D. A. e HENNESSY, J.L. Computer organization and design: the hardware/software interface 4. Ed. Elsevier Editora Ltda: 2014. Complementar STALLINGS, W. Computer organization and architecture: designing for performance 8. Ed. São Paulo: Pearson Pratice Hall, 2010.
  • 22. MUITOOBRIGADOPELAATENÇÃO! Volenti NihilDifficili -“A quem quer, nada é difícil” 22