Baixe o app para aproveitar ainda mais
Prévia do material em texto
Organizacao e Arquitetura de Computadores ! Aula 01 Edi �� � - Arquitetura de Computadores O que é uma Arquitetura de Computadores 2 Aplicação Física O “GAP" é muito grande para ser tratado de uma só vez ! Arquitetura de computadores é o projeto de camadas de abstração/implementação que nos permite executar aplicações de processamento de dados de forma eficiente utilizando tecnologias manufaturadas - Arquitetura de Computadores O que é uma Arquitetura de Computadores 3 Aplicação Física Dispositivos Circuitos Portas Lógicas Nível RTL Microarquitetura ISA Sistemas Operacionais Linguagens de Programação Algoritmos ISA- Instruction Set Arquitecture RTL- register Transfer Level Microarquitetura - micro instruçoes de máquina - Arquitetura de Computadores O que é uma Arquitetura de Computadores 4 Aplicação Física Dispositivos Circuitos Portas Lógicas Nível RTL Microarquitetura ISA Sistemas Operacionais Linguagens de Programação Algoritmos Arquitetura de Computadores} - Arquitetura de Computadores O que é uma Arquitetura de Computadores 5 Aplicação Física Dispositivos Circuitos Portas Lógicas Nível RTL Microarquitetura ISA Sistemas Operacionais Linguagens de Programação Algoritmos Requisitos da Aplicação! • !Sugere como melhorar a arquitetura! • Provê recursos para custear o desenvolvimento Restrições tecnológicas! • !Restringe o que efetivamente pode ser feito! • Novas tecnologias, permitem novas arquiteturas - Arquitetura de Computadores Computadores do passado … 6 - Arquitetura de Computadores Computadores de hoje … 7 - Arquitetura de Computadores Tecnologia de Sistemas Computacionais • Sistemas computacionais • Cadeia de conexão entre os componentes eletrônicos e aplicações 8 D o m ín io d e A p lic a ç ã o Visão de alto nível Visão de baixo nível Projetista de aplicação Projetista de sistema Projetista ou arquiteto de computa- dores Projetista lógico Projetista de circuito Software Hardware Arquitetura de computadores Organização de computadores C o m p o n e n te s E le tr ô n ic o s - Arquitetura de Computadores Conceitos de sistemas de Computadores • Sistemas computacionais podem ser utilizados em diversas áreas • Computação em desktop custo / desempenho – sistema dedicado • Servidores custo / desempenho em relação a: • confiabilidade, disponibilidade, throughput, escalabilidade • Computadores embarcados custo, consumo de energia (potência) 9 - Arquitetura de Computadores A tarefa de um projetista é • Determinar • requisitos funcionais • metas de preço, potência e desempenho • Influências importantes mercado, quantidade de software existente • Otimizar o projeto • de acordo com as métricas adotadas custo/desempenho (desktop) throughput e disponibilidade (servidor) consumo de energia (sistemas embarcados) etc. 10 - Arquitetura de Computadores A tarefa de um projetista é • Combinando: • Arquitetura do conjunto de instruções nível ISA – interface hardware/software • Organização do computador componentes funcionais e sua interconexão • Implementação de hardware circuitos, tecnologias de integração, etc. 11 - Arquitetura de Computadores Arquiteturas clássicas • Von Neumann 12 - Arquitetura de Computadores Arquiteturas clássicas • Harvard 13 - Arquitetura de Computadores Principais Tecnologias 14 - Arquitetura de Computadores Evolução de Custo - DRAM 15 - Arquitetura de Computadores Diferença de desempenho entre circuitos lógicos e memória 16 - Arquitetura de Computadores Soluções 17 • Aumentar número de bits recuperados de uma só vez. — Tornar DRAM “mais larga” ao invés de “mais profunda”. • Mudar interface da DRAM. — Cache. • Reduzir frequência de acesso à memória. — Cache mais complexa e cache no chip. • Aumentar largura de banda de interconexão. — Barramentos de alta velocidade. — Hierarquia de barramentos. - Arquitetura de Computadores Desempenho de Sistemas Computacionais 18 - Arquitetura de Computadores Principais Métricas de desempenho 19 - Arquitetura de Computadores Métrica: Tempo 20 - Arquitetura de Computadores Métodos para medição de desempenho 21 - Arquitetura de Computadores Benchmarks mais conhecidos • Para desktops: • SPEC (Standard Performance Evaluation Corporation) • CPU: SPEC CPU2000, SPEC CPU 2004(?) • Gráficos: SPECviewperf: OpenGL • SPECapc: problemas específicos de modelagem de sólidos e CAD 3D • Processamento de alto desempenho Java Servidores (e-mail, arquivos, Web) www.spec.org 22 - Arquitetura de Computadores Benchmarks mais conhecidos • Para desktops: • SPEC (Standard Performance Evaluation Corporation) • CPU: SPEC CPU2000, SPEC CPU 2004(?) • Gráficos: SPECviewperf: OpenGL • SPECapc: problemas específicos de modelagem de sólidos e CAD 3D • Processamento de alto desempenho Java Servidores (e-mail, arquivos, Web) www.spec.org 23 - Arquitetura de Computadores Benchmarks mais conhecidos • Para servidores: • SPEC: • SPECrate – throughput de processamento • SPECFS – servidor de arquivos • SPECWeb – servidores Web • Consideram as especificidades da arquitetura de servidores (E/S eficiente, multiprocessamento) • Processamento de transações • TPC (Transaction Processing Council) • processamento de consultas em BDs, sistemas de apoio a decisão, transações baseadas na Web www.tpc.org 24 - Arquitetura de Computadores Benchmarks mais conhecidos • Para sistemas embarcados (microcontroladores) • Dificuldade em se ter um único benchmark de uso amplo • EEMBC (EDN Embedded Microprocessor Benchmark Consortium) – 5 classes: • automotiva / industrial • eletrônica de consumo • rede • automação de escritório • telecomunicações 25 - Arquitetura de Computadores Princípios de Projeto 26 - Arquitetura de Computadores Ciclos de Clock 27 - Arquitetura de Computadores Formas de melhorar desempenho 28 - Arquitetura de Computadores Número de ciclos gastos 29 - Arquitetura de Computadores Diferente para cada tipo de instrução 30 - Arquitetura de Computadores Resumindo • Desempenho é específico para cada programa o tempo de execução total é a medida de desempenho consistente ! • Para uma dada arquitetura, melhorias de desempenho resultam de: • melhoria na freqüência de relógio • melhorias na arquitetura e na organização do processador para reduzir a contagem de CPI • melhorias nos compiladores para reduzir tanto a CPI quanto a contagem de instruções/programa • Armadilha: esperar que melhorias no desempenho de um aspecto da máquina vão afetar seu desempenho global na mesma proporção 31
Compartilhar