·
Engenharia de Computação ·
Arquitetura de Computadores
Send your question to AI and receive an answer instantly
Recommended for you
2
Exercícios de MIPS - Arquitetura e Instruções
Arquitetura de Computadores
INATEL
3
Conversão de Instruções C para MIPS
Arquitetura de Computadores
INATEL
2
Exercícios de Arquitetura de Referência - INATEL Engenharia da Computação
Arquitetura de Computadores
INATEL
121
Introdução à Arquitetura de Computadores: Processadores e Ciclo de Instrução
Arquitetura de Computadores
INATEL
2
Subconjunto de Instruções do MIPS
Arquitetura de Computadores
INATEL
24
Instruções de Ponto Flutuante e Pseudoinstruções no MIPS
Arquitetura de Computadores
INATEL
36
Introdução à Arquitetura MIPS e Componentes de Hardware
Arquitetura de Computadores
INATEL
Preview text
Inatel C208 Arquitetura de Computadores Prof Yvo 1 C208 Arquitetura de Computadores Capítulo 1 Introdução à Arquitetura de Computadores parte 1 Prof Yvo Marcelo Chiaradia Masselli Inatel C208 Arquitetura de Computadores Prof Yvo 2 1970 2020 Inatel C208 Arquitetura de Computadores Prof Yvo CAPÍTULO 1 Introdução à Arquitetura de Computadores Linguagens níveis e máquinas virtuais Máquinas multiníveis As gerações de computadores Tipos de Computadores Descartáveis Embarcados Móveis Pessoais Servidores e Mainframes Arquiteturas CISC x RISC Processadores Organização da CPU Estrutura Interna Registradores Processamento das Instruções Conjunto de Instruções O Caminho de Dados e de Controle Paralelismo no nível de instrução pipelining 3 Inatel C208 Arquitetura de Computadores Prof Yvo Computador É um sistema de grande complexidade podendo conter milhões de componentes diferentes se intercomunicando É um sistema hierárquico constituído de um conjunto de subsistemas interrelacionados cada um contendo outros subsistemas A visão hierárquica facilita o projeto pois o projetista pode concentrarse em um nível de cada vez Possui uma arquitetura definida e organização de seus componentes Introdução à Arquitetura de Computadores 4 Inatel C208 Arquitetura de Computadores Prof Yvo ARQUITETURA e ORGANIZAÇÃO 5 Inatel C208 Arquitetura de Computadores Prof Yvo Arquitetura de Computadores Referese ao comportamento funcional de um computador do ponto de vista do programador Descreve um nível de compatibilidade entre diferentes processadores de uma mesma linhafamília a nível de instruções Exemplos de Arquiteturas IA86 X86 IA64 X64 MIPS SPARC VAX PowerPC ARMv5 ARMv6 ARMv7 Termo Arquitetura Introduzido pela IBM Lyle R Johnson Muhammad Usman Khan e Frederick P Brooks Jr Em 1959 Definição da ISA Instruction Set Architecture Instruções em Hardware Assembly Formato de Instrução Representação numérica Tamanho das palavras Registradores disponíveis Modos de endereçamento etc 6 Inatel C208 Arquitetura de Computadores Prof Yvo Organização de Computadores Referese aos aspectos estruturais que definem um processador como Circuitos digitais internos e suas interconexões Tecnologias e capacidades das memórias Implementa as especificações da arquitetura Detalhes de Hardware transparentes ao programador Sinais de Controle da CPU Interfaces com o dispositivos de EntradaSaída Tecnologia de Memória utilizada cache instruçõesdados etc 7 Inatel C208 Arquitetura de Computadores Prof Yvo Interpretação microprograma ou execução direta Hardware componentes digitais Tradução assembler Interpretação parcial sistema operacional Nível lógico digital Nível de microarquitetura Nível de arquitetura do conjunto de instruções Nível de máquina do sistema operacional Nivel 1 Nivel 2 Nivel 3 Nivel 5 Nivel 0 Nível de linguagem assembly Nivel 4 Tradução compiladorInterpretador Nível de linguagem orientada a problema Estrutura em Camadas Máquinas Multiníveis 8 a b c 0011001001010 add R2 R1 R0 APIs Inatel C208 Arquitetura de Computadores Prof Yvo Níveis voltados aos programadores de sistemas Nível lógico digital 0 nível formado por portas lógicas ou gates Nível de microarquitetura 1 formado por registradores e pela ULA Unidade Lógica Aritmética Responsável pelas operações lógicas e aritméticas Nível de arquitetura do conjunto de instruções 2 também conhecido como nível ISA Instruction Set Architecture responsável pela interpretação do conjunto de instruções de máquina através da execução do microprograma ou de forma direta pela UC unidade de Controle da CPU Nível de máquina do sistema operacional 3 acrescenta novos recursos como uma organização de memória diferente a capacidade de executar dois ou mais programas simultaneamente entre outros 9 Inatel C208 Arquitetura de Computadores Prof Yvo Níveis voltados aos programadores de aplicações linguagens baseadas em palavras e abreviações Nível de linguagem de montagem assembly 4 permite aos desenvolvedores escreverem programas para os níveis 1 2 e 3 em linguagem de baixo nível assembly traduzidos pelo assembler montador Alta dependência e conhecimento do hardware níveis 0 e 1 Nível de Linguagem orientada a problema 5 linguagens projetadas para serem usadas por programadores de aplicações linguagens de alto nível Estas linguagens são traduzidas para os níveis 3 e 4 através dos compiladores ou as vezes são interpretadas 10 Inatel C208 Arquitetura de Computadores Prof Yvo 11 Linguagens níveis e máquinas virtuais Fonte httpwwwtridindiacomblogindustryinsightstohumantranslationvsmachinetranslation Linguagem das pessoas Linguagem dos computadores É necessário um tradutor entre eles Tradução Montador Compilador Interpretador Inatel C208 Arquitetura de Computadores Prof Yvo 12 01101010 11101010 10101111 Programa Objeto Linguagem de Baixo Nível Assembly Símbolos mnemônicos são usados para representar um código de máquina que será gerado LOAD AC ADD AB STORE A Montador Assembler Programa Tradutor Programa Fonte Linguagem Assembly Linguagem de Máquina Inatel C208 Arquitetura de Computadores Prof Yvo 13 MONTADOR ASSEMBLER É um programa tradutor porém só é utilizado para traduzir um programa fonte em linguagem de baixo nível ASSEMBLY para o programa objeto Este processo é bem simples pois é uma tradução direta dos símbolos utilizados no ASSEMBLY mnemônicos para seus respectivos códigos de máquina Opcodes A linguagem ASSEMBLY é específica para cada processador pois ela nada mais é do que a representação simbólica das instruções de máquina do processador Montador LinkEdição ligação Prog Fonte Prog Objeto Inatel C208 Arquitetura de Computadores Prof Yvo LIGADOR LINKEDITOR É o programa que transforma o código objeto gerado pelo compilador em código executável Ele liga o código objeto do programa compilado com outros códigos objetos biblioteca de funções componentes DLLs chamadas das rotinas da BIOS etc e recursos do sistema operacional resolvendo todas as referências simbólicas existentes entre os módulos objetos Gera o programa executável com informações necessárias para o Sistema Operacional poder carregálo na memória para execução 14 Inatel C208 Arquitetura de Computadores Prof Yvo 15 Ligação LINKEDIÇÃO processo para gerar o código executável para a máquina alvo Sistema Operacional Execução do programa Montador LinkEdição ligação Prog Fonte Prog Objeto Outros Prog Objetos Informações para geração do código executável de acordo com o SOp Bibliotecas Programa Executável Inatel C208 Arquitetura de Computadores Prof Yvo 16 Linguagens de Alto Nível As linguagens de Alto Nível podem traduzidas para código objeto de forma COMPILADA ou INTERPRETADA Compilador traduz uma linguagem de alto nível Programa Fontenuma linguagem alvo ou objeto que possa ser executada pelo computador Código objeto gerado na máquina fonte for igual a máquina alvo Compilador Direto Código objeto gerado na máquina fonte for diferente da máquina alvo Compilador Cruzado 01101010 11101010 10101111 10000111 10101011 11100011 11001100 11101110 10100001 Programa Objeto READ X Y X 1 WRITE X COMPILADOR Programa Tradutor Programa Fonte Inatel C208 Arquitetura de Computadores Prof Yvo 17 Alguns compiladores produzem código Assemby que é passado para um montador para posterior processamento Montagem e Linkedição Alguns compiladores produzem o trabalho dos montadores sem gerar o código Assembly Linguagens de Alto Nível Inatel C208 Arquitetura de Computadores Prof Yvo 18 Linguagens níveis e máquinas virtuais Linguagem de Alto Nível x Linguagem de Baixo Nível x Linguagem Máquina Inatel C208 Arquitetura de Computadores Prof Yvo 19 Linguagens níveis e máquinas virtuais Exemplos de Linguagens de Programação Compiladas Linguagens de Alto Nível FORTRAN 1957 ALGOL 1958 COBOL 1959 PASCAL 1963 BASIC 1965 ADA 1968 C 1972 C 1983 Delphi 1985 C 2001 Swift 2014 Inatel C208 Arquitetura de Computadores Prof Yvo 20 Linguagens de Alto Nível INTERPRETADOR faz a tradução de comando por comando do programa fonte e o executa de imediato sem gerar um programa objeto A maior desvantagem na utilização de um interpretador é o tempo gasto na tradução das instruções de um programa toda vez que este for executado A grande vantagem é a flexibilidade durante o desenvolvimento de uma Aplicação já que o interpretador permite ao programador uma maior interação online com o código Inatel C208 Arquitetura de Computadores Prof Yvo 21 Linguagens de Alto Nível ASP SMALLTALK BASIC LISP LOGO MUMPS HTML PHYTON entre outras Exemplos de Linguagens de Programação Interpretadas Inatel C208 Arquitetura de Computadores Prof Yvo 22 Linguagens níveis e máquinas virtuais Em linguagens compiladas como a linguagem C por exemplo o código é compilado para uma máquina de arquitetura especifica e só poderá ser executado em máquinas de mesma arquitetura e sistema operacional Para execução do código em máquinas com outra arquitetura eou outro sistema operacional é necessário ajustar as bibliotecas de acordo com as necessidades e recompilar todo o código Maquina Virtual É um software que simula uma máquina física e consegue executar vários programas gerenciar processos memória e arquivos Constitui de uma plataforma onde a memória o processador e seus outros recursos são totalmente virtuais não dependendo de hardwares específicos Inatel C208 Arquitetura de Computadores Prof Yvo 23 Maquina Virtual Em um ambiente de máquina virtual uma linguagem como Java por exemplo passa por um processo de compilação geração de ByteCodes depois por uma interpretação de cada ByteCode em um interpretador nativo em cada SO conhecido como JVM Java Virtual Machine Assim o mesmo código Java pode ser executado em máquinas com diferentes arquiteturas eou sistema operacional Inatel C208 Arquitetura de Computadores Prof Yvo 24 Exercícios 1 Diferencie Organização de computadores e Arquitetura de Computadores 2 Qual a diferença entre Código Objeto e Código Executável 3 Quem transforma o Código Fonte em Código Objeto 4 Quem transforma o Código Objeto em Código Executável 5 Por que o Código Objeto gerado pelo tradutor ainda não pode ser executado 6 Por que a execução de programas interpretados é mais lenta que as de programas compilados 7 Quais as funções de um LIGADOR LinkEditor 8 Qual a diferença entre compilador Direto e Cruzado 9 O que é uma máquina virtual Inatel C208 Arquitetura de Computadores Prof Yvo 25 10 Supondo dois computadores diferentes em arquitetura e SO um MacOS e um PCWindows Nos dois existe um compilador C Um programador fez um programa fonte em linguagem C para um problema específico Perguntase a O programa fonte pode ser o mesmo nos dois computadores Justifique b O programa Objeto gerado pelos respectivos compiladores serão iguais Justifique c O programa executável gerado em um dos computadores se copiado para o outro será executado normalmente Justifique d O programa do compilador executável pode ser o mesmo nos dois computadores Justifique e Se o programa fosse agora desenvolvido em Java o programa poderia ser o mesmo para os dois computadores 11 Faça a mesma análise da questão anterior supondo que os dois computadores possuem a mesma arquitetura PC porém um usando Windows e o outro usando o Linux Analise também se o programa fosse feito em java para este caso Inatel C208 Arquitetura de Computadores Prof Yvo As Gerações de Arquitetura de Computadores 26 Inatel C208 Arquitetura de Computadores Prof Yvo 1642 1945 1945 1955 1955 1965 1965 1980 1980 Marcos das Arquiteturas de Computadores Inatel C208 Arquitetura de Computadores Prof Yvo 16421945 Geração Zero Computadores Mecânicos São considerados precursores dos computadores todos os instrumentos ou máquinas que contribuíram com ideias para a criação dos mesmos Dentre eles o surgimento de uma máquina programável foi um grande marco na história dos computadores Inatel C208 Arquitetura de Computadores Prof Yvo 19451955 Computadores de Primeira Geração Válvulas Circuitos eletrônicos a válvulas muito aquecimento maior tamanho e peso Uso restrito somente por pessoal técnico especializado Precisava ser reprogramado a cada tarefa monotarefa Grande consumo de energia Normalmente as válvulas quebravamqueimavam após algumas horas de uso e tinham o processamento bastante lento Inatel C208 Arquitetura de Computadores Prof Yvo 19451955 Computadores de Primeira Geração Válvulas Nesta geração os computadores calculavam com uma velocidade de milésimos de segundo e eram programados em linguagem de máquina 0s e 1s ENIAC Electronic Numerical Integrator And Computer Peso 33 toneladas Tamanho área de 180 m² Custo US 500 mil na época 18 mil válvulas consumo 200KWattshora Algumas operações por segundo capacidade de processamento de uma calculadora de bolso moderna Inatel C208 Arquitetura de Computadores Prof Yvo 19551965 Computadores de Segunda Geração Transistores Início do uso comercial dos computadores Uso de transistores em substituição às válvulas Redução de tamanho peso e custo Tamanho de 100 vezes menor que o da válvula não precisa de tempo para aquecimento consume menos energia é mais rápido e confiável Inatel C208 Arquitetura de Computadores Prof Yvo 19551965 Computadores de Segunda Geração Transistores Os computadores desta geração já calculavam em microssegundos e eram programados em linguagem de montagem símbolosmnemônicos Foi o primeiro computador de uso comercial do mundo Pesando apenas 400 Kg sua configuração original vinha com 7 Mbytes de memória secundária e 128 Kbytes de memória RAM SYSTEM360 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Surgem os CIs circuitos integrados SSI MSI e LSI Diminuição do tamanho e maior capacidade de processamento Início da utilização dos microcomputadores pessoais 33 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Os computadores com o CI são muito mais confiáveis bem menores tornando os equipamentos mais compactos e rápidos possuem baixíssimo consumo de energia e menor custo Nesta geração surgiram as linguagens de alto nível orientada para as aplicações 34 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Em 1971 surge o microprocessador INTEL 4004 Foi o primeiro microprocessador do mundo inicialmente criado para operar uma calculadora da empresa japonesa Busicom Contudo os dirigentes da Intel perceberam que aquele microprocessador poderia realizar muito mais funções e empregaram uma evolução do 4004 o microprocessador 8080 para o desenvolvimento do primeiro computador pessoal o ALTAIR 8800 Microcomputador ALTAIR com processador Intel 8080 40 vezes mais rápido que o ENIAC 35 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Em 1977 surge o Apple II A Apple Computers lança em 1977 o primeiro computador doméstico de sucesso o Apple II sucessor do menos afortunado Apple I Parecendo mais um eletrodoméstico que um computador o Apple II deu inicio a revolução dos Computadores pessoais 36 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Em 1978 A família PC arquitetura x86 Também desenvolvido pela pioneira Intel a evolução do 8080 o Intel 8086 deu origem a uma das mais populares linhas de computadores domésticos os x86 empregados nos primeiros PCs da IBM Foram os chips da linha X86 que popularizaram os computadores domésticos como o IBM PCXT e depois seu sucessor o IBM PCAT 37 PCXT 47MHz 64KB RAM PCAT 8MHz 64KB RAM Inatel C208 Arquitetura de Computadores Prof Yvo 1980 Quarta Geração CIs com alta escala de integração Surgiram os microprocessadores os microcomputadores e os supercomputadores O processo de miniaturização continuou e surgiram escalas de integração de circuito em grau muito mais elevado VLSI ULSI e SLSI Inatel C208 Arquitetura de Computadores Prof Yvo 1980 Quarta Geração CIs com alta escala de integração Houve uma explosão no mercado de microprocessadores sendo fabricados em escala comercial e a partir daí a evolução foi sendo cada vez maior até chegar aos microprocessadores atuais 39 Inatel C208 Arquitetura de Computadores Prof Yvo Quinta Geração Computadores de Baixa Potência e Invisíveis É mais uma mudança de paradigma do que de arquitetura Dispositivos muito pequenos PDA Smartphones Tablets etc Interconexão de todos os dispositivos Redes Virtualização de Computadores Nuvem de Computadores Inteligência Artificial PDA Iphone e Surface 40 Inatel C208 Arquitetura de Computadores Prof Yvo Os disquetes ou discos flexíveis tiveram diferentes tamanhos e formatos desde que foram inventados Curiosidades na Evolução dos Computadores 41 Inatel C208 Arquitetura de Computadores Prof Yvo 1981 disquete de 514 360 KB 1985 disquete de 3 ½ 144 MB 1986 640 MB 2003 16 GB Em 35 anos mudamos para um novo tipo de armazenamento de dados 2018 128 GB 2000 47GB à 85Gb Curiosidades na Evolução dos Computadores 42 Inatel C208 Arquitetura de Computadores Prof Yvo O primeiro disco rígido foi construído pela IBM em 1957 e era formado por nada menos que 50 discos de 24 polegadas de diâmetro com uma capacidade total de 5 megabytes incrível para a época Este primeiro disco rígido foi chamado de 305 RAMAC Random Access Method of Accounting and Control Curiosidades na Evolução dos Computadores 43 Inatel C208 Arquitetura de Computadores Prof Yvo Em 1960 surgiu o primeiro disco rígido HD de alta capacidade Era de 1GBytes pesava 250Kg e custava US 8100000 Curiosidades na Evolução dos Computadores 44 Inatel C208 Arquitetura de Computadores Prof Yvo A evolução dos discos rígidos HDs Curiosidades na Evolução dos Computadores 45 Inatel C208 Arquitetura de Computadores Prof Yvo Processadores quânticos Processadores biológicos Tecnologias como vidro inteligente epaper e a nanotecnologia provavelmente revolucionarão novamente nossa interação com os computadores Curiosidades E o futuro 46 Inatel C208 Arquitetura de Computadores Prof Yvo Caneta com 13GB de memória que grava o que voce escreve Nokia Telas Aderentes 47 Inatel C208 Arquitetura de Computadores Prof Yvo CelularSmartPhone com tela expansível Celular dobrável SAMSUNG 48 Inatel C208 Arquitetura de Computadores Prof Yvo Tipos de Computadores Esta parte do material cedido pelo prof Gabriel Dias Scarpioni 2019 49 Inatel C208 Arquitetura de Computadores Prof Yvo DESCARTÁVEIS Baseados em tecnologia RFID Radio Frequency Identification Contém um minúsculo transponder e um número único de 128 bits embutido Algumas aplicações Substiuição aos códigos de barras Rastreamento de veículos Sem Parar Transporte de bagagens Identificação de valores Identificação de animais 50 Inatel C208 Arquitetura de Computadores Prof Yvo EMBARCADOS Computadores ou sistemas embarcados Pequenos computadores compostos de processador memória e capacidade de ES Algumas aplicações Eletrodomésticos Aparelhos de comunicação Periféricos de computadores Equipamentos de entretenimento Aparelhos de reprodução de imagem Equipamentos médicos Etc 51 Inatel C208 Arquitetura de Computadores Prof Yvo MOVEIS e de JOGOS Computadores normais mas Recursos gráficos especiais Capacidade de som Software limitado Pouca extensão Baixo consumo móveis Algumas aplicações Videogames Smartphones 52 Inatel C208 Arquitetura de Computadores Prof Yvo PESSOAIS Abrangem tanto os desktops quanto os notebooks Gigabytes de memória HDs na ordem de terabytes Placa de som Interface de rede Monitor Outros periféricos 53 Inatel C208 Arquitetura de Computadores Prof Yvo SERVIDORES Computadores com alta capacidade Processamento memória armazenamento Aplicações Clusters data centers 54 Inatel C208 Arquitetura de Computadores Prof Yvo Mainframes Computadores do tamanho de uma sala volta ao passado Maior capacidade de armazenamento Tbytes Maior desempenho de processamento TFLOPS Empresas evitam migrar o software antigo COBOL para novos servidores 55 Inatel C208 Arquitetura de Computadores Prof Yvo Tipo Preço US Exemplo de Aplicação Computador descartável 05 Cartões de identificação Sistemas embarcados microcontroladores 5 Relógios carros eletrodomésticos Computador móvel e de jogos 50 Videogames domésticos e smartphones Computador pessoal 500 Computador de desktop ou notebook Servidor 5K Servidor de rede Mainframe 5M Processamento de dados em bloco em um banco 56 Inatel C208 Arquitetura de Computadores Prof Yvo 57 Exercícios 1 Faça uma pesquisa dos maiores fabricantes de Microprocessadores e cite alguns modelos de cada um deles 2 Faça uma pesquisa dos top 5 supercomputadores existentes atualmente Liste as características deles como desempenho memória tamanho e peso 3 Faça uma pesquisa dos microprocessadores com arquitetura IA32 e IA64 listando os modelos velocidade tamanho de barramento memória cache etc 4 Faça uma pesquisa semelhante ao item 3 para os processadores ARM
Send your question to AI and receive an answer instantly
Recommended for you
2
Exercícios de MIPS - Arquitetura e Instruções
Arquitetura de Computadores
INATEL
3
Conversão de Instruções C para MIPS
Arquitetura de Computadores
INATEL
2
Exercícios de Arquitetura de Referência - INATEL Engenharia da Computação
Arquitetura de Computadores
INATEL
121
Introdução à Arquitetura de Computadores: Processadores e Ciclo de Instrução
Arquitetura de Computadores
INATEL
2
Subconjunto de Instruções do MIPS
Arquitetura de Computadores
INATEL
24
Instruções de Ponto Flutuante e Pseudoinstruções no MIPS
Arquitetura de Computadores
INATEL
36
Introdução à Arquitetura MIPS e Componentes de Hardware
Arquitetura de Computadores
INATEL
Preview text
Inatel C208 Arquitetura de Computadores Prof Yvo 1 C208 Arquitetura de Computadores Capítulo 1 Introdução à Arquitetura de Computadores parte 1 Prof Yvo Marcelo Chiaradia Masselli Inatel C208 Arquitetura de Computadores Prof Yvo 2 1970 2020 Inatel C208 Arquitetura de Computadores Prof Yvo CAPÍTULO 1 Introdução à Arquitetura de Computadores Linguagens níveis e máquinas virtuais Máquinas multiníveis As gerações de computadores Tipos de Computadores Descartáveis Embarcados Móveis Pessoais Servidores e Mainframes Arquiteturas CISC x RISC Processadores Organização da CPU Estrutura Interna Registradores Processamento das Instruções Conjunto de Instruções O Caminho de Dados e de Controle Paralelismo no nível de instrução pipelining 3 Inatel C208 Arquitetura de Computadores Prof Yvo Computador É um sistema de grande complexidade podendo conter milhões de componentes diferentes se intercomunicando É um sistema hierárquico constituído de um conjunto de subsistemas interrelacionados cada um contendo outros subsistemas A visão hierárquica facilita o projeto pois o projetista pode concentrarse em um nível de cada vez Possui uma arquitetura definida e organização de seus componentes Introdução à Arquitetura de Computadores 4 Inatel C208 Arquitetura de Computadores Prof Yvo ARQUITETURA e ORGANIZAÇÃO 5 Inatel C208 Arquitetura de Computadores Prof Yvo Arquitetura de Computadores Referese ao comportamento funcional de um computador do ponto de vista do programador Descreve um nível de compatibilidade entre diferentes processadores de uma mesma linhafamília a nível de instruções Exemplos de Arquiteturas IA86 X86 IA64 X64 MIPS SPARC VAX PowerPC ARMv5 ARMv6 ARMv7 Termo Arquitetura Introduzido pela IBM Lyle R Johnson Muhammad Usman Khan e Frederick P Brooks Jr Em 1959 Definição da ISA Instruction Set Architecture Instruções em Hardware Assembly Formato de Instrução Representação numérica Tamanho das palavras Registradores disponíveis Modos de endereçamento etc 6 Inatel C208 Arquitetura de Computadores Prof Yvo Organização de Computadores Referese aos aspectos estruturais que definem um processador como Circuitos digitais internos e suas interconexões Tecnologias e capacidades das memórias Implementa as especificações da arquitetura Detalhes de Hardware transparentes ao programador Sinais de Controle da CPU Interfaces com o dispositivos de EntradaSaída Tecnologia de Memória utilizada cache instruçõesdados etc 7 Inatel C208 Arquitetura de Computadores Prof Yvo Interpretação microprograma ou execução direta Hardware componentes digitais Tradução assembler Interpretação parcial sistema operacional Nível lógico digital Nível de microarquitetura Nível de arquitetura do conjunto de instruções Nível de máquina do sistema operacional Nivel 1 Nivel 2 Nivel 3 Nivel 5 Nivel 0 Nível de linguagem assembly Nivel 4 Tradução compiladorInterpretador Nível de linguagem orientada a problema Estrutura em Camadas Máquinas Multiníveis 8 a b c 0011001001010 add R2 R1 R0 APIs Inatel C208 Arquitetura de Computadores Prof Yvo Níveis voltados aos programadores de sistemas Nível lógico digital 0 nível formado por portas lógicas ou gates Nível de microarquitetura 1 formado por registradores e pela ULA Unidade Lógica Aritmética Responsável pelas operações lógicas e aritméticas Nível de arquitetura do conjunto de instruções 2 também conhecido como nível ISA Instruction Set Architecture responsável pela interpretação do conjunto de instruções de máquina através da execução do microprograma ou de forma direta pela UC unidade de Controle da CPU Nível de máquina do sistema operacional 3 acrescenta novos recursos como uma organização de memória diferente a capacidade de executar dois ou mais programas simultaneamente entre outros 9 Inatel C208 Arquitetura de Computadores Prof Yvo Níveis voltados aos programadores de aplicações linguagens baseadas em palavras e abreviações Nível de linguagem de montagem assembly 4 permite aos desenvolvedores escreverem programas para os níveis 1 2 e 3 em linguagem de baixo nível assembly traduzidos pelo assembler montador Alta dependência e conhecimento do hardware níveis 0 e 1 Nível de Linguagem orientada a problema 5 linguagens projetadas para serem usadas por programadores de aplicações linguagens de alto nível Estas linguagens são traduzidas para os níveis 3 e 4 através dos compiladores ou as vezes são interpretadas 10 Inatel C208 Arquitetura de Computadores Prof Yvo 11 Linguagens níveis e máquinas virtuais Fonte httpwwwtridindiacomblogindustryinsightstohumantranslationvsmachinetranslation Linguagem das pessoas Linguagem dos computadores É necessário um tradutor entre eles Tradução Montador Compilador Interpretador Inatel C208 Arquitetura de Computadores Prof Yvo 12 01101010 11101010 10101111 Programa Objeto Linguagem de Baixo Nível Assembly Símbolos mnemônicos são usados para representar um código de máquina que será gerado LOAD AC ADD AB STORE A Montador Assembler Programa Tradutor Programa Fonte Linguagem Assembly Linguagem de Máquina Inatel C208 Arquitetura de Computadores Prof Yvo 13 MONTADOR ASSEMBLER É um programa tradutor porém só é utilizado para traduzir um programa fonte em linguagem de baixo nível ASSEMBLY para o programa objeto Este processo é bem simples pois é uma tradução direta dos símbolos utilizados no ASSEMBLY mnemônicos para seus respectivos códigos de máquina Opcodes A linguagem ASSEMBLY é específica para cada processador pois ela nada mais é do que a representação simbólica das instruções de máquina do processador Montador LinkEdição ligação Prog Fonte Prog Objeto Inatel C208 Arquitetura de Computadores Prof Yvo LIGADOR LINKEDITOR É o programa que transforma o código objeto gerado pelo compilador em código executável Ele liga o código objeto do programa compilado com outros códigos objetos biblioteca de funções componentes DLLs chamadas das rotinas da BIOS etc e recursos do sistema operacional resolvendo todas as referências simbólicas existentes entre os módulos objetos Gera o programa executável com informações necessárias para o Sistema Operacional poder carregálo na memória para execução 14 Inatel C208 Arquitetura de Computadores Prof Yvo 15 Ligação LINKEDIÇÃO processo para gerar o código executável para a máquina alvo Sistema Operacional Execução do programa Montador LinkEdição ligação Prog Fonte Prog Objeto Outros Prog Objetos Informações para geração do código executável de acordo com o SOp Bibliotecas Programa Executável Inatel C208 Arquitetura de Computadores Prof Yvo 16 Linguagens de Alto Nível As linguagens de Alto Nível podem traduzidas para código objeto de forma COMPILADA ou INTERPRETADA Compilador traduz uma linguagem de alto nível Programa Fontenuma linguagem alvo ou objeto que possa ser executada pelo computador Código objeto gerado na máquina fonte for igual a máquina alvo Compilador Direto Código objeto gerado na máquina fonte for diferente da máquina alvo Compilador Cruzado 01101010 11101010 10101111 10000111 10101011 11100011 11001100 11101110 10100001 Programa Objeto READ X Y X 1 WRITE X COMPILADOR Programa Tradutor Programa Fonte Inatel C208 Arquitetura de Computadores Prof Yvo 17 Alguns compiladores produzem código Assemby que é passado para um montador para posterior processamento Montagem e Linkedição Alguns compiladores produzem o trabalho dos montadores sem gerar o código Assembly Linguagens de Alto Nível Inatel C208 Arquitetura de Computadores Prof Yvo 18 Linguagens níveis e máquinas virtuais Linguagem de Alto Nível x Linguagem de Baixo Nível x Linguagem Máquina Inatel C208 Arquitetura de Computadores Prof Yvo 19 Linguagens níveis e máquinas virtuais Exemplos de Linguagens de Programação Compiladas Linguagens de Alto Nível FORTRAN 1957 ALGOL 1958 COBOL 1959 PASCAL 1963 BASIC 1965 ADA 1968 C 1972 C 1983 Delphi 1985 C 2001 Swift 2014 Inatel C208 Arquitetura de Computadores Prof Yvo 20 Linguagens de Alto Nível INTERPRETADOR faz a tradução de comando por comando do programa fonte e o executa de imediato sem gerar um programa objeto A maior desvantagem na utilização de um interpretador é o tempo gasto na tradução das instruções de um programa toda vez que este for executado A grande vantagem é a flexibilidade durante o desenvolvimento de uma Aplicação já que o interpretador permite ao programador uma maior interação online com o código Inatel C208 Arquitetura de Computadores Prof Yvo 21 Linguagens de Alto Nível ASP SMALLTALK BASIC LISP LOGO MUMPS HTML PHYTON entre outras Exemplos de Linguagens de Programação Interpretadas Inatel C208 Arquitetura de Computadores Prof Yvo 22 Linguagens níveis e máquinas virtuais Em linguagens compiladas como a linguagem C por exemplo o código é compilado para uma máquina de arquitetura especifica e só poderá ser executado em máquinas de mesma arquitetura e sistema operacional Para execução do código em máquinas com outra arquitetura eou outro sistema operacional é necessário ajustar as bibliotecas de acordo com as necessidades e recompilar todo o código Maquina Virtual É um software que simula uma máquina física e consegue executar vários programas gerenciar processos memória e arquivos Constitui de uma plataforma onde a memória o processador e seus outros recursos são totalmente virtuais não dependendo de hardwares específicos Inatel C208 Arquitetura de Computadores Prof Yvo 23 Maquina Virtual Em um ambiente de máquina virtual uma linguagem como Java por exemplo passa por um processo de compilação geração de ByteCodes depois por uma interpretação de cada ByteCode em um interpretador nativo em cada SO conhecido como JVM Java Virtual Machine Assim o mesmo código Java pode ser executado em máquinas com diferentes arquiteturas eou sistema operacional Inatel C208 Arquitetura de Computadores Prof Yvo 24 Exercícios 1 Diferencie Organização de computadores e Arquitetura de Computadores 2 Qual a diferença entre Código Objeto e Código Executável 3 Quem transforma o Código Fonte em Código Objeto 4 Quem transforma o Código Objeto em Código Executável 5 Por que o Código Objeto gerado pelo tradutor ainda não pode ser executado 6 Por que a execução de programas interpretados é mais lenta que as de programas compilados 7 Quais as funções de um LIGADOR LinkEditor 8 Qual a diferença entre compilador Direto e Cruzado 9 O que é uma máquina virtual Inatel C208 Arquitetura de Computadores Prof Yvo 25 10 Supondo dois computadores diferentes em arquitetura e SO um MacOS e um PCWindows Nos dois existe um compilador C Um programador fez um programa fonte em linguagem C para um problema específico Perguntase a O programa fonte pode ser o mesmo nos dois computadores Justifique b O programa Objeto gerado pelos respectivos compiladores serão iguais Justifique c O programa executável gerado em um dos computadores se copiado para o outro será executado normalmente Justifique d O programa do compilador executável pode ser o mesmo nos dois computadores Justifique e Se o programa fosse agora desenvolvido em Java o programa poderia ser o mesmo para os dois computadores 11 Faça a mesma análise da questão anterior supondo que os dois computadores possuem a mesma arquitetura PC porém um usando Windows e o outro usando o Linux Analise também se o programa fosse feito em java para este caso Inatel C208 Arquitetura de Computadores Prof Yvo As Gerações de Arquitetura de Computadores 26 Inatel C208 Arquitetura de Computadores Prof Yvo 1642 1945 1945 1955 1955 1965 1965 1980 1980 Marcos das Arquiteturas de Computadores Inatel C208 Arquitetura de Computadores Prof Yvo 16421945 Geração Zero Computadores Mecânicos São considerados precursores dos computadores todos os instrumentos ou máquinas que contribuíram com ideias para a criação dos mesmos Dentre eles o surgimento de uma máquina programável foi um grande marco na história dos computadores Inatel C208 Arquitetura de Computadores Prof Yvo 19451955 Computadores de Primeira Geração Válvulas Circuitos eletrônicos a válvulas muito aquecimento maior tamanho e peso Uso restrito somente por pessoal técnico especializado Precisava ser reprogramado a cada tarefa monotarefa Grande consumo de energia Normalmente as válvulas quebravamqueimavam após algumas horas de uso e tinham o processamento bastante lento Inatel C208 Arquitetura de Computadores Prof Yvo 19451955 Computadores de Primeira Geração Válvulas Nesta geração os computadores calculavam com uma velocidade de milésimos de segundo e eram programados em linguagem de máquina 0s e 1s ENIAC Electronic Numerical Integrator And Computer Peso 33 toneladas Tamanho área de 180 m² Custo US 500 mil na época 18 mil válvulas consumo 200KWattshora Algumas operações por segundo capacidade de processamento de uma calculadora de bolso moderna Inatel C208 Arquitetura de Computadores Prof Yvo 19551965 Computadores de Segunda Geração Transistores Início do uso comercial dos computadores Uso de transistores em substituição às válvulas Redução de tamanho peso e custo Tamanho de 100 vezes menor que o da válvula não precisa de tempo para aquecimento consume menos energia é mais rápido e confiável Inatel C208 Arquitetura de Computadores Prof Yvo 19551965 Computadores de Segunda Geração Transistores Os computadores desta geração já calculavam em microssegundos e eram programados em linguagem de montagem símbolosmnemônicos Foi o primeiro computador de uso comercial do mundo Pesando apenas 400 Kg sua configuração original vinha com 7 Mbytes de memória secundária e 128 Kbytes de memória RAM SYSTEM360 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Surgem os CIs circuitos integrados SSI MSI e LSI Diminuição do tamanho e maior capacidade de processamento Início da utilização dos microcomputadores pessoais 33 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Os computadores com o CI são muito mais confiáveis bem menores tornando os equipamentos mais compactos e rápidos possuem baixíssimo consumo de energia e menor custo Nesta geração surgiram as linguagens de alto nível orientada para as aplicações 34 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Em 1971 surge o microprocessador INTEL 4004 Foi o primeiro microprocessador do mundo inicialmente criado para operar uma calculadora da empresa japonesa Busicom Contudo os dirigentes da Intel perceberam que aquele microprocessador poderia realizar muito mais funções e empregaram uma evolução do 4004 o microprocessador 8080 para o desenvolvimento do primeiro computador pessoal o ALTAIR 8800 Microcomputador ALTAIR com processador Intel 8080 40 vezes mais rápido que o ENIAC 35 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Em 1977 surge o Apple II A Apple Computers lança em 1977 o primeiro computador doméstico de sucesso o Apple II sucessor do menos afortunado Apple I Parecendo mais um eletrodoméstico que um computador o Apple II deu inicio a revolução dos Computadores pessoais 36 Inatel C208 Arquitetura de Computadores Prof Yvo 19651980 Computadores de Terceira Geração Circuitos Integrados Em 1978 A família PC arquitetura x86 Também desenvolvido pela pioneira Intel a evolução do 8080 o Intel 8086 deu origem a uma das mais populares linhas de computadores domésticos os x86 empregados nos primeiros PCs da IBM Foram os chips da linha X86 que popularizaram os computadores domésticos como o IBM PCXT e depois seu sucessor o IBM PCAT 37 PCXT 47MHz 64KB RAM PCAT 8MHz 64KB RAM Inatel C208 Arquitetura de Computadores Prof Yvo 1980 Quarta Geração CIs com alta escala de integração Surgiram os microprocessadores os microcomputadores e os supercomputadores O processo de miniaturização continuou e surgiram escalas de integração de circuito em grau muito mais elevado VLSI ULSI e SLSI Inatel C208 Arquitetura de Computadores Prof Yvo 1980 Quarta Geração CIs com alta escala de integração Houve uma explosão no mercado de microprocessadores sendo fabricados em escala comercial e a partir daí a evolução foi sendo cada vez maior até chegar aos microprocessadores atuais 39 Inatel C208 Arquitetura de Computadores Prof Yvo Quinta Geração Computadores de Baixa Potência e Invisíveis É mais uma mudança de paradigma do que de arquitetura Dispositivos muito pequenos PDA Smartphones Tablets etc Interconexão de todos os dispositivos Redes Virtualização de Computadores Nuvem de Computadores Inteligência Artificial PDA Iphone e Surface 40 Inatel C208 Arquitetura de Computadores Prof Yvo Os disquetes ou discos flexíveis tiveram diferentes tamanhos e formatos desde que foram inventados Curiosidades na Evolução dos Computadores 41 Inatel C208 Arquitetura de Computadores Prof Yvo 1981 disquete de 514 360 KB 1985 disquete de 3 ½ 144 MB 1986 640 MB 2003 16 GB Em 35 anos mudamos para um novo tipo de armazenamento de dados 2018 128 GB 2000 47GB à 85Gb Curiosidades na Evolução dos Computadores 42 Inatel C208 Arquitetura de Computadores Prof Yvo O primeiro disco rígido foi construído pela IBM em 1957 e era formado por nada menos que 50 discos de 24 polegadas de diâmetro com uma capacidade total de 5 megabytes incrível para a época Este primeiro disco rígido foi chamado de 305 RAMAC Random Access Method of Accounting and Control Curiosidades na Evolução dos Computadores 43 Inatel C208 Arquitetura de Computadores Prof Yvo Em 1960 surgiu o primeiro disco rígido HD de alta capacidade Era de 1GBytes pesava 250Kg e custava US 8100000 Curiosidades na Evolução dos Computadores 44 Inatel C208 Arquitetura de Computadores Prof Yvo A evolução dos discos rígidos HDs Curiosidades na Evolução dos Computadores 45 Inatel C208 Arquitetura de Computadores Prof Yvo Processadores quânticos Processadores biológicos Tecnologias como vidro inteligente epaper e a nanotecnologia provavelmente revolucionarão novamente nossa interação com os computadores Curiosidades E o futuro 46 Inatel C208 Arquitetura de Computadores Prof Yvo Caneta com 13GB de memória que grava o que voce escreve Nokia Telas Aderentes 47 Inatel C208 Arquitetura de Computadores Prof Yvo CelularSmartPhone com tela expansível Celular dobrável SAMSUNG 48 Inatel C208 Arquitetura de Computadores Prof Yvo Tipos de Computadores Esta parte do material cedido pelo prof Gabriel Dias Scarpioni 2019 49 Inatel C208 Arquitetura de Computadores Prof Yvo DESCARTÁVEIS Baseados em tecnologia RFID Radio Frequency Identification Contém um minúsculo transponder e um número único de 128 bits embutido Algumas aplicações Substiuição aos códigos de barras Rastreamento de veículos Sem Parar Transporte de bagagens Identificação de valores Identificação de animais 50 Inatel C208 Arquitetura de Computadores Prof Yvo EMBARCADOS Computadores ou sistemas embarcados Pequenos computadores compostos de processador memória e capacidade de ES Algumas aplicações Eletrodomésticos Aparelhos de comunicação Periféricos de computadores Equipamentos de entretenimento Aparelhos de reprodução de imagem Equipamentos médicos Etc 51 Inatel C208 Arquitetura de Computadores Prof Yvo MOVEIS e de JOGOS Computadores normais mas Recursos gráficos especiais Capacidade de som Software limitado Pouca extensão Baixo consumo móveis Algumas aplicações Videogames Smartphones 52 Inatel C208 Arquitetura de Computadores Prof Yvo PESSOAIS Abrangem tanto os desktops quanto os notebooks Gigabytes de memória HDs na ordem de terabytes Placa de som Interface de rede Monitor Outros periféricos 53 Inatel C208 Arquitetura de Computadores Prof Yvo SERVIDORES Computadores com alta capacidade Processamento memória armazenamento Aplicações Clusters data centers 54 Inatel C208 Arquitetura de Computadores Prof Yvo Mainframes Computadores do tamanho de uma sala volta ao passado Maior capacidade de armazenamento Tbytes Maior desempenho de processamento TFLOPS Empresas evitam migrar o software antigo COBOL para novos servidores 55 Inatel C208 Arquitetura de Computadores Prof Yvo Tipo Preço US Exemplo de Aplicação Computador descartável 05 Cartões de identificação Sistemas embarcados microcontroladores 5 Relógios carros eletrodomésticos Computador móvel e de jogos 50 Videogames domésticos e smartphones Computador pessoal 500 Computador de desktop ou notebook Servidor 5K Servidor de rede Mainframe 5M Processamento de dados em bloco em um banco 56 Inatel C208 Arquitetura de Computadores Prof Yvo 57 Exercícios 1 Faça uma pesquisa dos maiores fabricantes de Microprocessadores e cite alguns modelos de cada um deles 2 Faça uma pesquisa dos top 5 supercomputadores existentes atualmente Liste as características deles como desempenho memória tamanho e peso 3 Faça uma pesquisa dos microprocessadores com arquitetura IA32 e IA64 listando os modelos velocidade tamanho de barramento memória cache etc 4 Faça uma pesquisa semelhante ao item 3 para os processadores ARM