Estrutura do tema ISC

Documentos relacionados
AJProença, Sistemas de Computação, UMinho, 2017/18 1

Estrutura do tema ISC

Lic. Engenharia de Sistemas e Informática

Figura 1 - O computador

Introdução à Arquitetura de Computadores

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

Introdução à Engenharia de Computação

AJProença, Sistemas de Computação, UMinho, 2017/ ou + Unidades (Centrais) de Processamento (CPU)

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

EEC2104 Microprocessadores

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Linguagem de Montagem

BARRAMENTO DO SISTEMA

Conceitos e Evolução Capítulos 1 e 2

Sistema de Computação

Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos

Edeyson Andrade Gomes

Arquitetura de Computadores

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Arquitetura de Computadores Moderna

Sistemas Operacionais Aula 2

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Introdução à estrutura e funcionamento de um Sistema Informático

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

Linguagens de Programação

Introdução à Engenharia de Computação

Software Básico (INF1018)

ARQUITETURA DE COMPUTADORES

LEI Sistemas de Computação 2011/12. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

MATA49 Programação de Software Básico

Organização de Computadores Como a informação é processada?

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

Introdução à Arquitetura de Computadores. Prof.ª Ms. Elaine Cecília Gatto

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Hardware Fundamental

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Algoritmos e Programação Aula 01 Introdução a Computação

Computador Cleópatra

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

ARQUITETURA DE COMPUTADORES

Infra-Estrutura de Software. Introdução

Entradas/Saídas. Programação por espera activa Programação por interrupções

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Sistemas Operacionais

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Lic. Engenharia Informática

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Linguagem de Montagem 2. Operações e Operandos

2. A influência do tamanho da palavra

Algoritmos DCC 119. Introdução e Conceitos Básicos

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

Introdução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

Capítulo 7 Nível da Linguagem Assembly

Introdução à Programação 2006/07. Computadores e Programação

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Arquitetura de processadores: RISC e CISC

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Introdução à Computação: Arquitetura von Neumann

Conjunto de Instruções e Arquitectura p.1

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Introdução à Engenharia de Computação

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Sistemas Computacionais II Professor Frederico Sauer

Organização de Computadores 1

Modos de entrada/saída

1. SINTAXE DA LINGUAGEM ASSEMBLY

Breve Histórico & Conceitos Básicos

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Prof. Sandrina Correia

Estrutura e funcionamento de um sistema informático

ARQUITETURA DE COMPUTADORES

Trabalho Prático Nº2 Escrita e Leitura em Portos IO

Programando o computador IAS

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Introdução aos Computadores

1. DADOS DE IDENTIFICAÇÃO

O COMPUTADOR. Introdução à Computação

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Componentes de um Sistema de Operação

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Arquitetura de Computadores. Ivan Saraiva Silva

Máquinas Multiníveis

Microprocessadores. Prof. Leonardo Barreto Campos 1

IDENTIFICAÇÃO MANUTENÇÃO

Programação de Computadores III

ARQUITETURA DE COMPUTADORES INTRODUÇÃO

Capítulo 1 Introdução

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Transcrição:

Introdução aos Sistemas de Computação (3) num computador (1) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. num computador 4. O processador e a memória num computador 5. Da comunicação de dados às redes 6. Evolução da tecnologia e da eficiência Níveis de abstração: nível das linguagens HLL (High Level Languages): as linguagens convencionais de programação (puro texto)» imperativas e OO (Basic, Fortran, C/C++, Java,...)» funcionais (Lisp, Haskell,...)» lógicas (Prolog,...) nível da linguagem assembly (de montagem ): linguagem intermédia (comandos do CPU em formato texto) nível da linguagem máquina: a linguagem de comandos, específica p/ cada CPU ou família de CPU s (em binário puro)» arquiteturas CISC (Complex Instruction Set Computers)» arquiteturas RISC (Reduced Instruction Set Computers) AJProença, Sistemas de Computação, UMinho, 214/15 1 AJProença, Sistemas de Computação, UMinho, 214/15 2 num computador (2) num computador (3) int x = x+y; addl 8(%ebp),%eax Idêntico à expressão x = x + y Código C somar 2 inteiros (c/ sinal) Assembly (da GNU p/ IA-32) somar 2 inteiros de 4 bytes operandos long em GCC a mesma instrução, c/ ou s/ sinal operandos: x: em registo %eax y: na memória M[%ebp+8] x4146: 3 45 8 Código object em IA-32 instrução com 3 bytes na memória a partir do endereço x4146 AJProença, Sistemas de Computação, UMinho, 214/15 3 Mecanismos de conversão (para comandos do CPU): compilador traduz um programa de um nível de abstração para outro inferior (converte um ficheiro de texto noutro de texto); por ex., de C para assembly normalmente inclui mais que um passo de conversão, até chegar à linguagem máquina assembler ( montador ) monta os comandos / instruções em texto, para binário (object), de acordo com as regras do fabricante do CPU interpretador analisa, uma a uma, as instruções de um programa em HLL, e:» gera código em linguagem máquina para essa instrução, e» executa esse código (nota: não guarda o código gerado) AJProença, Sistemas de Computação, UMinho, 214/15 4

num computador (4) Execução de instruções (em linguagem máquina) num CPU De um programa em HLL até à sua execução: Programa em C Compilador Programa em assembly Assembler Módulo em ling máquina (object) Função de bib em ling máquina (object) Linker Programa em ling máquina (executable) Loader Memória AJProença, Sistemas de Computação, UMinho, 214/15 5 Ciclo de execução de instruções: Leitura de uma instrução da memória... e incremento do Descodificação da instrução Execução da operação cálculo da localização do(s) operando(s), e ir buscá-lo(s), se necessário execução da ação especificada guardar resultado, se necessário Modelo de computação de von Neumann (1945) Análise de um exemplo: movl,%eax AJProença, Sistemas de Computação, UMinho, 214/15 6 Modelo de computação de von Neumann, 1945/46 (1) Modelo de computação de von Neumann, 1945/46 (2) ENIAC (1ª geração, 1945) objetivo: cálculo tabelas de artilharia (mas 1º teste foi p/ bomba H) máquina decimal (base 1) 17.468 válvulas, 27 toneladas programação: manual, alterando as conexões (cablagem) Von Neumann introduz conceito de stored-program : dados e instruções em binário, e armazenados numa memória memória acedida pelo endereço da informação execução de instruções de modo sequencial (daí o Program Counter, PC), interpretadas pela unid. controlo constrói novo computador, IAS Input Output Equip. Arithmetic and Logic Unit Program Control Unit Main Memory Estrutura básica do IAS (Princeton Institute for Advanced Studies) Estrutura expandida do IAS I/O Eq. CPU ALU Acc Arith & Logic Circ IBR IR MBR MQ PC MAR Control Circ Program Control Unit Instruct & Data Address Main Mem AJProença, Sistemas de Computação, UMinho, 214/15 7 AJProença, Sistemas de Computação, UMinho, 214/15 8

Relato do primeiro bug num computador Modelo de arquitetura de um computador elementar IBM, Mark II (9-Set-1947): - entrada que os operadores de serviço fizeram no logbook... banco de registos! interface mem - I/O! ALU! CPU / Núcleo! dum processador! memory channel! Memória! primária! Chipset! controlador! USB! interface! PCI-Express! I/O bus! controlador! arquivo! Expansão para outros componentes! rato! teclado! gráfica/rede/...! SSD/HDD! AJProença, Sistemas de Computação, UMinho, 214/15 9 AJProença, Sistemas de Computação, UMinho, 214/15 1 instrução em linguagem máquina (1) instrução em linguagem máquina (2) 1. Leitura da instrução na memória (1) 1. Leitura da instrução na memória (2) () RD O CPU coloca no address bus o valor em (endereço p/ próxima instrução), e activa o sinal de controlo RD! A memória vai buscar a instrução ao endereço definido por e coloca-a no data bus p/ ser lida pelo CPU! AJProença, Sistemas de Computação, UMinho, 214/15 11 AJProença, Sistemas de Computação, UMinho, 214/15 12

instrução em linguagem máquina (3) instrução em linguagem máquina (4) 1. Leitura da instrução na memória (3) inc... e incremento do O CPU lê a instrução do data bus, coloca-a no registo de instrução (IR) e incrementa o! var x 2. Descodificação da instrução 1111 111 1 1 A unidade de controlo do CPU descodifica a instrução e prepara-se para executar a operação: move long copiar valor com 32 bits da memória, em para o registo %eax AJProença, Sistemas de Computação, UMinho, 214/15 13 AJProença, Sistemas de Computação, UMinho, 214/15 14 instrução em linguagem máquina (5) instrução em linguagem máquina (6) 3. Execução da operação (1) 3. Execução da operação (2) RD x Após calcular o valor de o CPU coloca-o no address bus e activa o sinal de RD A memória vai buscar o valor de var x ao endereço e coloca-o no data bus AJProença, Sistemas de Computação, UMinho, 214/15 15 AJProença, Sistemas de Computação, UMinho, 214/15 16

instrução em linguagem máquina (7) Intel Ivy Bridge: wafer, die, chip... 3. Execução da operação (3) %eax var x A batata var x A bolacha O CPU lê o valor de var x do data bus e coloca-o no registo %eax AJProença, Sistemas de Computação, UMinho, 214/15 As estampas 17 Intel Many Integrated Core (MIC): the Xeon Phi with 6 cores AJProença, Sistemas de Computação, UMinho, 214/15 19 AJProença, Sistemas de Computação, UMinho, 214/15 18