Arquitetura e Organização de Computadores Capítulo 0 - Introdução
POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2
https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão indo: Capacidades futuras dirigem o mundo (da computação); Impacto no mundo real: sem arquitetura de computadores não há computadores! Entender conceitos de alto-nível: Os melhores arquitetos conhecem todos os níveis; Dispositivos, circuitos, arquitetura, compilador, aplicações; Por que estudar arquitetura de computadores? 3
https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender o desempenho do computador: Escrever um software rápido requer conhecimento do hardware; Escrever um software melhor: Os melhores engenheiros de software também entendem de hardware; Projetar hardware: Trabalhe para Intel, AMD, IBM, ARM, Qualcomm, Oracle, NVIDIA, Samsung, Microsoft, Google, Apple, etc. Por que estudar arquitetura de computadores? 4
Experiência significante em programação! (Java, C, C++, Verilog) Por quê? Projeto da disciplina requer programação para escrever um simulador de hardware; Não será difícil se você for um programador competente, mas... Extremamente difícil se você não for. Pré-requisitos 5
Programação I: Funcionamento de for, while, switch, chamada de função, etc.; Alocação de memória (malloc); Compilação; Programação II: Alocação de memória (new); Modularização; Thread; Interpretação + Máquina virtual. Pré-requisitos 6
Algoritmos e Estrutura de Dados: Fila, pilha, heap; Teoria da Computação: Modelagem e implementação de máquinas de estado (autômatos); Pré-requisitos 7
Circuitos Digitais: Base numérica (2, 8, 10, 16); Ponto-fluante (representação); Lógica combinacional; Lógica sequêncial; Verilog. Pré-requisitos 8
Livro: 1. David A. Patterson, Jonh L. Henessy, Computer Organization and Design - The Hardware/Software Interface, 4th edition, Revised Printed. 2. William Stallings, Computer Organization and Architecture 8th Edition. Recursos 9
Estante Ebrary (leitura complementar): http://site.ebrary.com/lib/ufrpe/viewfolder.action?sharedkey=uo XCURVUBMGQAWKAQTIAGQZOQJPGJUMN&userName=a ndreaziz Site: http://www.deinfo.ufrpe.br/14064 Lista de discussão: ufrpe-arquitetura-2014-1@googlegroups.com https://groups.google.com/forum/#!forum/ufrpe-arquitetura-2014-1 Recursos 10
1ª V.A. = Prova (50%) + Projeto I (50%) 2ª V.A. = Prova (50%) + Projeto II (50%) 3ª V.A. = Prova (100%) Final = Prova (100%) Avaliação 11
Programação CH 01/abr Semana Acadêmica 03/abr Semana Acadêmica 08/abr Apresentação da disciplina e Introdução à Arquitetura de Computadores 2 10/abr Abstrações e Tecnologias 3 15/abr Abstrações e Tecnologias 2 17/abr Conjunto de Instruções 3 22/abr Conjunto de Instruções 2 24/abr Processador Multiciclo 3 29/abr Processador Multiciclo 2 01/mai Feriado Dia do Trabalho 06/mai Processador Pipeline 2 08/mai Processador Pipeline 3 13/mai Processador Superescalar 2 15/mai Processador Superescalar 3 20/mai 1 VA 2 Cronograma 12
22/mai Memória Cache 2 27/mai Memória Cache 2 29/mai Memória Cache 2 03/jun Memória Virtual 2 05/jun Memória Virtual 3 10/jun Memória Virtual 2 12/jun JOGO COPA 17/jun JOGO COPA 19/jun Feriado Corpus Christi 24/jun Feriado São João - Entrega do Projeto CPU até as 23:59 26/jun JOGO COPA 01/jul Armazenamento e Entrada e Saída 2 03/jul Armazenamento e Entrada e Saída 3 08/jul JOGO COPA - Entrega do Projeto Cache até as 23:59 10/jul Multicore, Multiprocessadores e Clusters 3 15/jul Multicore, Multiprocessadores e Clusters 2 17/jul Multicore, Multiprocessadores e Clusters 3 22/jul 2 VA 2 24/jul 3 VA 2 29/jul Aula vaga 31/jul Final 2 Cronograma 13
O QUE É ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES? 14
Material adaptado de: William Stallings, Computer Organization and Architecture 8th Edition 15
16
Arquitetura são os atributos visíveis ao programador: Conjunto de instruções, número de bits utilizados para representação do dado, mecanismos de entrada e saída, tipos de endereçamento; Ex. Existe uma instrução de multiplicação? Organização é como essas funcionalidades são implementadas: Sinais de controle, interfaces, tecnologia da memória. Ex. Existe uma unidade de multiplicação ou ela é feita através de adições sucessivas? Arquitetura e Organização 17
A família Intel x86 possuem a mesma arquitetura básica; A família IBM System/370 compartilham a mesma arquitetura básica; Isso garante compatibilidade de código: Pelo menos dos mais antigos. Organização varia entre as várias versões. Arquitetura e Organização 18
Estrutura é maneira pela qual os componentes se relacionam; Função é a operação de componentes individuais como parte da estrtutura. Estrutura e Função 19
As funções básicas de um computador são: Processamento de dados; Armazenamento de dados; Transferência de dados; Controle de dados. Função 20
Visão Funcional 21
Transferência de dados 22
Armazenamento de Dados 23
Processamento de Dados 24
Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Estrutura Top Level 25
CPU I/O Computer System Bus Memory CPU Registers Internal CPU Interconnection Arithmetic and Login Unit Control Unit Estrutura - CPU 26
Control Unit ALU CPU Internal Bus Registers Control Unit Sequencing Logic Control Unit Registers and Decoders Control Memory Estrutura Unidade de Controle 27
Arquitetura e Organização de Computadores Capítulo 0 - Introdução