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

Documentos relacionados
Estrutura do tema ISC

Estrutura do tema ISA do IA-32

Estrutura do tema ISA do IA-32

Lic. Ciências da Computação

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

Lic. Eng.ª Informática

Professor: Dr. Rogério Rodrigues de Vargas.

Introdução ao Assembly

Organização de Computadores

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

Estrutura do tema ISA do IA-32

Conjunto de Instruções (ISA) I

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

Ordem de Bytes: Big Endian e Little Endian

Organização e Arquitetura de Computadores I

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Estrutura do tema ISC

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

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

Estruturas de controlo do C if-else statement

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Lic. Engenharia de Sistemas e Informática

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Infraestrutura de Hardware. Instruindo um Computador

Fluxo de Execução em Assembly

Estrutura de uma função ( / procedimento )

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

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

Intel x AT&T - recapitulação

Arquitetura de Um Processador I

Universidade de São Paulo

Arquitetura e Organização de Computadores

PSI3441 Arquitetura de Sistemas Embarcados

Arquitectura de Computadores

MIPS ISA (Instruction Set Architecture)

Conjunto de Instruções. Alisson Brito

Execução detalhada de instruções

Arquitectura de Computadores

SSC0114 Arquitetura de Computadores

Organização de Computadores

Arquitetura e Organização de Computadores

Execução detalhada de instruções

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

PSI3441 Arquitetura de Sistemas Embarcados

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

MICROPROCESSADORES II (EMA911915) NIOS II - ASSEMBLY 2 O SEMESTRE / 2018

Sistemas Processadores e Periféricos Aula 2 - Revisão

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

UCP: Construindo um Caminho de Dados (Parte I)

Programando em Assembly

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

SSC0611 Arquitetura de Computadores

Neander - características

Arquitectura de Computadores

Arquitetura de Computadores. Conjunto de Instruções

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

TEÓRICA. lb $t0, 1($t1)

Arquitetura de Computadores Trabalhos Práticos

Arquitectura de Computadores

Arquitectura de Computadores

Assembly do IA-32 em ambiente Linux

Linguagem de Montagem Assembly

Pilha de execução Volnys Borges Bernal Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP

Aula 14 Funcionamento de Processadores (Visão específica)

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

PSI3441 Arquitetura de Sistemas Embarcados

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Organização de Sistemas de Computadores

Arquitectura de Computadores 3º Teste. Instruções do x86

Programação ao nível da máquina

Assembly IA32 Procedimentos

Arquitectura e Organização de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Arquitectura e Organização de Computadores

Relembrando desempenho...

Introdução ao PIC. Guilherme Luiz Moritz 1. 6 de novembro de DAELT - Universidade Tecnológica Federal do Paraná

Arquitetura de Computadores I Prof. Ricardo Santos (Cap 2)

Programação ao nível da máquina. Operações lógicas e aritméticas

Organização e Arquitetura de Computadores INTRODUÇÃO

Conjunto de Instruções (ISA) II

Relembrando desempenho...

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho

Assembly do IA-32 em ambiente Linux

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Organização Básica de computadores e linguagem de montagem

Organização e Projeto de Computadores

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

PSI3441 Arquitetura de Sistemas Embarcados

Arquitectura de Computadores Y86 Instruções

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

Transcrição:

Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4. O processador e a memória num computador 5. Evolução da tecnologia e da eficiência AJProença, Sistemas de Computação, UMinho, 2017/18 1 Análise de componentes num computador Componentes (físicos) a analisar: a unidade de processamento / o processador: Ø o nível ISA (Instruction Set Architecture): tipos e formatos de instruções, acesso a operandos,... CISC versus RISC paralelismo no processador: pipeline, super-escalaridade,... paralelismo fora do processador: on-chip e off-chip a hierarquia de memória: cache, memória virtual,... periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações AJProença, Sistemas de Computação, UMinho, 2017/18 2

(Instruction Set Architecture) (1) Ex. de código C int sum(int x, int y) { int t = x+y; return t; } operações num processador? como aceder a operandos? registos visíveis ao programador? Mesmo código em assembly _sum: pushl movl movl addl movl popl ret tipos de instruções presentes num processador? formatos de instruções em linguagem máquina? instruções de input/output? escalares multi-byte em memória? %ebp %esp,%ebp 12(%ebp),%eax 8(%ebp),%eax %ebp,%esp %ebp AJProença, Sistemas de Computação, UMinho, 2017/18 3 (Instruction Set Architecture) (2) Operações lógicas/aritméticas num processador operações mais comuns: lógicas: not, and, or, xor,... aritméticas: inc/dec, neg, add, sub, mul,... nº de operandos em cada operação 3-operandos (RISC,... ) 2-operandos (IA-32,... ) 1-operando (microcontroladores,...) 0-operandos (stack-machine,...) localização dos operandos variáveis escalares (registos...) variáveis estruturadas (memória...) AJProença, Sistemas de Computação, UMinho, 2017/18 4

(Instruction Set Architecture) (3) Modos de aceder a operandos em arquiteturas RISC em operações aritméticas/lógicas: operandos sempre em registo em load/store:1 ou 2 modos de especificar o endereço de memória em CISC, exemplo: IA-32 (Intel Architecture 32-bits) AJProença, Sistemas de Computação, UMinho, 2017/18 5 (Instruction Set Architecture) (4) Registos visíveis ao programador (inteiros) em arquiteturas RISC: 32 registos genéricos... no IA-32: %bx AJProença, Sistemas de Computação, UMinho, 2017/18 6

(Instruction Set Architecture) (5) Tipos de instruções presentes num processador transferência de informação de/para registos/memória,... operações aritméticas e lógicas soma, subtração, multiplicação, divisão,... AND, OR, NOT, XOR, comparação,... deslocamento de bits,... controlo do fluxo de execução para apoio a estruturas de controlo para apoio à invocação de procedimentos/funções outras... AJProença, Sistemas de Computação, UMinho, 2017/18 7 (Instruction Set Architecture) (6) Ex: instruções de transferência de info no IA-32 mov S, D DßS Move (byte,word,long_word) movzbl S, D DßZeroExtend(S) Move Byte-Long Zero-Extended movsbl S, D DßSignExtend(S) Move Byte-Long Sign-Extended push S %esp ß %esp - 4; Mem[%esp] ß S Push pop D DßMem[%esp]; %esp ß%esp+ 4 Pop lea S, D Dß &S Load Effective Address / Pointer D destino: [Reg Mem] S source, fonte: [Imm Reg Mem] D e S não podem ser ambos operandos em memória no IA-32 AJProença, Sistemas de Computação, UMinho, 2017/18 8

(Instruction Set Architecture) (7) Ex: instruções aritméticas/lógicas no IA-32 inc D Dß D +1 Increment dec D Dß D 1 Decrement neg D Dß -D Negate not D Dß D Complement add S, D Dß D + S Add sub S, D Dß D S Subtract imul S, D Dß D * S 32 bit Multiply and S, D Dß D & S And or S, D Dß D S Or xor S, D Dß D ˆ S Exclusive-Or shl k, D Dß D << k Left Shift sar k, D Dß D >> k Arithmetic Right Shift shr k, D Dß D >> k Logical Right Shift AJProença, Sistemas de Computação, UMinho, 2017/18 9 (Instruction Set Architecture) (8) Ex: instruções de controlo de fluxo no IA-32 jmp Label %eip ß Label Unconditional jump je Label Jump if Zero/Equal js Label Jump if Negative jg Label Jump if Greater (signed >) jge Label Jump if Greater or equal (signed >=) ja Label Jump if Above (unsigned >) call Label pushl %eip; %eip ß Label Procedure call ret popl %eip Procedure return AJProença, Sistemas de Computação, UMinho, 2017/18 10

(Instruction Set Architecture) (9) Formatos de instruções em linguagem máquina campos duma instrução OpCode (a) OpCode Operando (valor/localiz.) (b) OpCode Oper ndo 1 Oper ndo 2 OpCode Op ndo 1 Op ndo 2 Op ndo 3 (c) (d) comprimento das instruções variável (prós e contras; IA-32...) fixo (prós e contras; RISC...) exemplos de formatos de instruções AJProença, Sistemas de Computação, UMinho, 2017/18 11 (Instruction Set Architecture) (10) Formatos de instruções no IA-32 AJProença, Sistemas de Computação, UMinho, 2017/18 12

(Instruction Set Architecture) (11) Formatos de instruções no MIPS (RISC) AJProença, Sistemas de Computação, UMinho, 2017/18 13 (Instruction Set Architecture) (12) Instruções de input/output finalidade escrita de comandos leitura de estado escrita/leitura de dados específicas (requer sinais de controlo no bus...) ; ou idênticas ao acesso à memória» memory mapped I/O Escalares multi-byte em memória (como ordená-los) little-endian big-endian AJProença, Sistemas de Computação, UMinho, 2017/18 14