Arquitetura de Computadores Trabalhos Práticos
|
|
- Laura Coradelli Coimbra
- 6 Há anos
- Visualizações:
Transcrição
1 Arquitetura de Computadores Trabalhos Práticos
2 Trabalhos Práticos 1. Bloco de memória em Verilog 2. Y86 1 instrução 5 ciclos 3. Y86 pipeline 4. Y86 dual core com cache 5. Trabalho no CUDA 3 pontos 7 pontos 10 pontos 15 pontos 15 pontos 2
3 Bloco de memória em Verilog module MEM1k (CLK,ADDR,DATA,RD,WR,CS); input [9:0] ADDR; inout [31:0] DATA; input CLK,RD,WR,CS; wire [9:0] AI = ADDR; wire [9:0] AO = ADDR; wire [31:0] DI = DATA; assign DATA = (CS & WR)?DO:32 bz; endmodule 3
4 Bloco de memória em Verilog Terminar implementação do bloco anterior CS = 1 se for realizar leitura ou escrita na memória RD = 1 se leitura da memória WR = 1 se escrita na memória Assumir que RD e WR nunca serão ativos ao mesmo tempo Leitura é assíncrona Escrita é síncrona no negedge do clock CLK Implementar bloco de memória MEM1M, com 1MByte ou 256k palavras de 32 bits utilizando blocos MEM1k 4
5 Processor Y86 CLK RESET INT Y86 DATA[31:0] ADDR[31:0] RD WR WAIT 5
6 Processor Y86 CLK : clock RESET : pino de reset. Quando o reset ocorrer, PC é atualizado para o valor 0x INT : pino de interrupção (será utilizado nos próximos trabalhos) DATA : pino de dados ADDR : pino de endereços RD : leitura de memória WR : escrita de memória WAIT : pino de espera (será utilizado nos próximos trabalhos) 6
7 Processor Y86 %eax %ecx %edx %ebx Program registers %esi %edi %esp %ebp Condition codes OF ZF SF PC Memory Registradores Mesmo que IA32 Condition Codes Flags de um bit que são modificadas por operações de ALU» OF: Overflow ZF: Zero SF:Negative Program Counter Indica endereço da próxima instrução Memória Endereçamento por byte, em little endian 7
8 Instruções do Y86 Formato 1 6 byte Tamanho da instrução pode ser determinado no primeiro byte Codificação mais simples que IA32 8
9 Codificação dos Registradores Identificação de 4 bits %eax %ecx %edx %ebx %esi %edi %esp %ebp Mesma codificação do IA32 Código 8 significa nenhum registrador 9
10 Exemplo de Instrução ADDL Assembly Codificação addl ra, rb 6 0 ra rb rb < ra + rb Y86 somente permite operações de ALU em registradores Ativa condition codes e.g., addl %eax,%esi Codificação: Dois bytes Primeiro byte determina operação Segundo byte determina fonte e destino de dados 10
11 Instruções ALU (OP1) Add Código Operação Inc addl ra, rb 6 0 ra rb incl rb rb Subtract (ra from rb) subl ra, rb 6 1 ra rb Dec decl rb rb And andl ra, rb 6 2 ra rb Not notl rb rb Exclusive Or xorl ra, rb 6 3 ra rb Or orl ra, rb 6 7 ra rb 11
12 Instruções Move rrmovl ra, rb 2 0 ra rb Register > Register irmovl V, rb rb V Immediate > Register rmmovl ra, D(rB) 4 0 ra rb D Register > Memory mrmovl D(rB), ra 5 0 ra rb D Memory > Register Similares a movl do IA32 Formato de memória mais simples Nome da instrução determina tipo de dado 12
13 Exemplos de Instrução Move IA32 Y86 Codificação movl $0xabcd, %edx irmovl $0xabcd, %edx cd ab movl %esp, %ebx rrmovl %esp, %ebx movl 12(%ebp),%ecx movl %esi,0x41c(%esp) mrmovl 12(%ebp),%ecx rmmovl %esi,0x41c(%esp) f4 ff ff ff c movl $0xabcd, (%eax) movl %eax, 12(%eax,%edx) movl (%ebp,%eax,4),%ecx 13
14 Instrução de Jump Jump Unconditionally jmp Dest 7 0 Dest Jump When Less or Equal jle Dest 7 1 Dest Jump When Less jl Dest 7 2 Dest Jump When Equal je Dest 7 3 Dest Jump When Not Equal jne Dest 7 4 Dest Jump When Greater or Equal jxx Codificação dos tipos de jump são diferenciadas pelo function code Utiliza condition codes Idênticas ao IA32 Codificam endereço completo Ao contrário de endereçamento relativo ao PC do IA32 jge Dest 7 5 Dest Jump When Greater jg Dest 7 6 Dest 14
15 Pilha de Programa do Y86 Fim Região da memória que armazena dados do programa Utilizada no Y86 (e IA32) como suporte a chamada de procedimentos Aumenta endereços Topo %esp Topo da pilha indicado por %esp Endereço do topo da pilha Pilha cresce na direção de endereços menores Uma instrução de push decrementa a pilha inicialmente Uma instrução de pop incrementa o apontador da pilha 15
16 Operações de Pilha pushl ra a 0 ra 8 Decrementa %esp by 4 Armazena a palavra de ra na memória apontada por %esp Similar ao IA32 popl ra b 0 ra 8 Lê palavra apontada por %esp Salva em ra Incrementa %esp por 4 Similar ao IA32 16
17 Chamada e Retorno de Subrotina Call e Return call Dest 8 0 Dest Push endereço da próxima instrução na pilha Inicia execução a partir de Dest Similar ao IA32 ret 9 0 Pop endereço da pilha Utiliza como endereço da próxima instrução a ser executada Similar ao IA32 17
18 Outras Instruções nop 0 0 Não faz nada halt 1 0 Pára execução de instruções IA32 possui instrução similar, mas ela não pode ser executada em modo de usuário No simulador, ela é utilizada para parar a simulação 18
19 Conjunto de Instruções Byte nop 0 0 halt 1 0 rrmovl ra, rb 2 0 ra rb irmovl V, rb rb V rmmovl ra, D(rB) 4 0 ra rb D mrmovl D(rB), ra 5 0 ra rb D OP1 ra, rb 6 fn ra rb jxx Dest 7 fn Dest call Dest 8 0 Dest ret 9 0 pushl ra A 0 ra 8 popl ra 19 B 0 ra 8 jmp 7 0 jle 7 1 jl 7 2 je 7 3 jne 7 4 jge 7 5 jg 7 6
20 Instruções ALU (OP1) Add Código Operação Inc addl ra, rb 6 0 ra rb incl rb rb Subtract (ra from rb) subl ra, rb 6 1 ra rb Dec decl rb rb And andl ra, rb 6 2 ra rb Not notl rb rb Exclusive Or xorl ra, rb 6 3 ra rb Or orl ra, rb 6 7 ra rb 20
21 Execução SEQ Estado Fluxo Program Counter (PC) Condition code register (CC) Banco de registradores Memória Espaço único para dados e programa Leia instrução especificada pelo PC Processe estágios Atualize PC PC Write back Memory Execute Decode icode, ifun ra, rb valc newpc vale, valm Addr, Data Bch CC alua, alub srca, srcb dsta, dstb valm Data memory valp vale ALU vala, valb A B Register M file E Fetch Instruction memory PC increment PC 21
22 Estágios Fetch Decode Execute Memory Lê instrução da memória Lê registradores e decodifica instrução Calcule valor ou endereço Lê ou escreve na memória Write Back/PC Atualiza registradores e PC PC Write back Memory Execute Decode icode, ifun ra, rb valc newpc vale, valm Addr, Data Bch CC alua, alub srca, srcb dsta, dstb valm Data memory valp vale ALU vala, valb A B Register M file E Fetch Instruction memory PC increment PC 22
23 Decodificação Opcional Opcional 5 0 ra rb D icode ifun ra rb valc Formato Byte de instrução Byte de registrador Byte de constante icode:ifun ra:rb valc 23
24 Executando Operação ALU OPl ra, rb 6 fn ra rb Fetch Decode Execute Lê dois bytes Lê operandos Executa operação Memory Não faz nada Write back/pc Atualiza registrador destino Atualiza PC por PC + 2 Atualiza CC 24
25 Cálculo nos Estágios OPl ra, rb Fetch Decode Execute Memory Write back icode:ifun M 1 [PC] ra:rb M 1 [PC+1] valp PC+2 vala R[rA] valb R[rB] vale valb OP vala Set CC R[rB] vale PC valp Lê byte de instrução Lê byte de registradores Calcula próximo PC Lê operando A Lê operando B Realiza operação de ALU Atualiza registrador de CC Escreve resultado Atualiza PC 25
26 Executando rmmovl rmmovl ra, D(rB) 4 0 ra rb D Fetch Decode Lê 6 bytes Lê registradores e decodifica instrução Memory Escreve na memória Write back Não faz nada Atualiza PC por PC + 6 Execute Calcula endereço efetivo 26
27 Cálculo nos Estágios: rmmovl rmmovl ra, D(rB) Fetch Decode Execute Memory Write back icode:ifun M 1 [PC] ra:rb M 1 [PC+1] valc M 4 [PC+2] valp PC+6 vala R[rA] valb R[rB] vale valb + valc M 4 [vale] vala PC valp Lê byte de instrução Lê byte de registradores Lê deslocamento D Cálcula próximo PC Lê operando A Lê operando B Calcula endereço efetivo Escreve valor na memória Atualiza PC Utiliza ALU para calcular endereço 27
28 Executando popl popl ra b 0 ra 8 Fetch Decode Execute Lê dois bytes Lê registrador esp Incrementa esp por 4 Memory Lê da posição de memória apontada pelo valor anterior de esp Write back Atualiza esp Escreve resultado em ra Atualiza PC por PC
29 Cálculo nos Estágios: popl popl ra Fetch Decode Execute Memory Write back icode:ifun M 1 [PC] ra:rb M 1 [PC+1] valp PC+2 vala R[%esp] valb R [%esp] vale valb + 4 valm M 4 [vala] R[%esp] vale R[rA] valm PC vaip Lê byte de instrução Lê byte de registradores Calcula próximo PC Lê apontador de pilha Lê apontador de pilha Incrementa apontador de pilha Lê da posição anterior de esp Atualiza apontador de pilha Escreve resultado Utiliza ALU para incrementar esp Precisa atualizar dois registradores 29 ra esp
30 Executando Jumps jxx Dest 7 fn Dest fall thru: XX XX Not taken target: XX XX Taken Fetch Decode Execute Lê 5 bytes Incrementa PC por 5 Não lê nenhum registrador e decodifica instrução Determina se branch vai ser tomado ou não Memory Não faz nada Write back Não faz nada Atualiza PC para Dest se branch for tomado ou para PC + 5 se branch não for tomado 30
31 Cálculo nos Estágios: Jumps Fetch Decode jxx Dest icode:ifun M 1 [PC] valc M 4 [PC+1] valp PC+5 Lê byte de instruções Lê endereço de destino Endereço se branch não for tomado Execute Memory Write back Bch Cond(CC,ifun) PC Bch? valc : valp Branch é tomado? Atualiza PC Calcula os dois endereços Escolhe endereço baseado no CC 31
32 Executando call call Dest 8 0 Dest return: XX XX target: XX XX Fetch Decode Execute Lê 5 bytes Incrementa PC por 5 Lê apontador da pilha Decrementa apontador da pilha (esp) por 4 Memory Escreva novo PC para o topo da pilha Write back Atualiza apontador da pilha Seta PC para Dest 32
33 Cálculo nos Estágios: call call Dest Fetch Decode Execute Memory Write back icode:ifun M 1 [PC] valc M 4 [PC+1] valp PC+5 valb R[%esp] vale valb + 4 M 4 [vale] valp R[%esp] vale PC valc Lê byte de instruções Lê endereço destino Calcula ponto de retorno Lê apontador da pilha Decrementa apontador da pilha Escreve ponto de retorno na pilha Atualiza apontador da pilha Set PC to destination Usa ALU para decrementar o apontador de pilha Armazena na pilha PC atualizado 33
34 Executando ret ret 9 0 return: XX XX Fetch Decode Execute Lê 1 byte Lê apontador da pilha Incrementa apontador da pilha por 4 Memory Lê endereço de retorno do topo da pilha Write back Atualiza apontador da pilha Atualiza PC com o endereço de retorno 34
35 Cálculo nos Estágios: ret ret icode:ifun M 1 [PC] Lê byte de instruções Fetch Decode Execute Memory Write back vala R[%esp] valb R[%esp] vale valb + 4 valm M 4 [vala] R[%esp] vale PC valm Lê apontador da pilha Lê apontador da pilha Incrementa apontador da pilha Lê endereço de retorno do topo da pilha Atualiza apontador da pilha Atualiza PC com o endereço de retorno Utiliza ALU para incrementar topo da pilha Lê endereço de retorno do topo da pilha 35
36 Y86 SEQ : O que entregar? Cálculo dos estágios para todas os grupos de instruções Determinação do que será guardado ao fim de cada estágio guardado serão registradores internos 36
37 Esqueleto do Código module Y86(ADDR, DATA, RD, WR, RESET, CLK); input RESET,CLK; inout [31:0] DATA; output [31:0] ADDR; output RD,WR; reg [4:0] PIPE; CLK or posedge RESET) if (RESET) PIPE[4:0] <= 5 b10000; else PIP[4:0] <= {PIPE[0],PIPE[4:1]}; wire FETCH, DECODE, EXECUTE, MEMORY, WRITEBACK; assign {FETCH, DECODE, EXECUTE, MEMORY, WRITEBACK} = PIPE[4:0]; reg [31:0] PC, valpc; CLK or posedge RESET) if (RESET) PC[31:0] <= 32 h ; else if (WRITEBACK) PC[31:0] <= valpc[31:0]; else PC[31:0] <= PC[31:0]; endmodule 37
38 Assemblando Y86 unix> yas [ V] eg.ys Gera arquivo de código objeto eg.yo Resultado parece arquivo disassemblado V gera arquivo que pode ser carregado em Verilog 0x000: irmovl Stack,%esp # Set up stack 0x006: 2045 rrmovl %esp,%ebp # Set up frame 0x008: irmovl List,%edx 0x00e: a028 pushl %edx # Push argument 0x010: call len2 # Call Function 0x015: 10 halt # Halt 0x018:.align 4 0x018: List: # List of elements 0x018: b long x01c: ed long x020: e31c0000.long x024: long 0 38
39 Outros Trabalhos Y86 pipe Y86 dual core com cache CUDA A ser determinado posteriormente 39
Arquitectura de Computadores Y86 Sequencial. Créditos Randal E. Bryant
Arquitectura de Computadores Y86 Sequencial Créditos Randal E. Bryant http://csapp.cs.cmu.edu Y86 - Jogo de Instruções Octeto 0 1 2 3 4 5 nop 0 0 halt 1 0 rrmovl ra, rb 2 0 ra rb irmovl V, rb 3 0 8 rb
Leia maisArquitectura de Computadores Y86 Instruções
Arquitectura de Computadores Y86 Instruções Créditos Randal E. Bryant http://csapp.cs.cmu.edu António Pina e Luís Paulo Santos DI/UM Arquitectura do Jogo de Instruções Linguagem de montagem Estado do processador
Leia maisArquitectura de Computadores Y86 Sequencial. Créditos Randal E. Bryant http://csapp.cs.cmu.edu
Arquitectura de Computadores Y86 Sequencial Créditos Randal E. Bryant http://csapp.cs.cmu.edu Y86 - Jogo de Instruções Octeto 0 1 2 3 4 5 nop 0 0 halt 1 0 rrmovl ra, rb 2 0 ra rb irmovl V, rb 3 0 8 rb
Leia maisY86: Datapath Sequencial. Arquitectura de Computadores Lic. em Engenharia Informática Luís Paulo Santos
Y86: Datapath Sequencial Arquitectura de Computadores Lic. em Engenharia Informática Luís Paulo Santos Y86: Datapath Sequencial Conteúdos Resultados de Aprendizagem 9 Organização do Processador 9.1 Datapath
Leia maisA arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.
A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento
Leia maisProgramando em Assembly
Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)
Leia maisAJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:
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.
Leia maisFluxo de Execução em Assembly
Fluxo de Execução em Assembly A forma natural de execução de um programa é sequencial: CPU busca instruções na memória em endereços sequenciais Instruções de desvio de assembly servem para quebrar a execução
Leia maisArquitectura de Computadores II L.E.S.I. 3º ano 2005/06. Módulo nº 4 Encadeamento e resolução de anomalias
Arquitectura de Computadores II L.E.S.I. 3º ano 2005/06 Módulo nº 4 Encadeamento e resolução de anomalias 1. Introdução No final deste módulo os alunos deverão ser capazes de: avaliar os ganhos/perdas
Leia maisProfessor: Dr. Rogério Rodrigues de Vargas.
UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)
Leia maisY86: Encadeamento de Instruções (PIPE) Arquitectura de Computadores Lic. em Engenharia Informática Luís Paulo Santos
Y86: ncadeamento de Instruções (PIP) Arquitectura de Computadores Lic. em ngenharia Informática Luís Paulo Santos Y86: ncadeamento de instruções (pipeline) Conteúdos Resultados de Aprendizagem 9 Organização
Leia maisIntel x AT&T - recapitulação
ASSEMBLY aula 2 Intel x AT&T - recapitulação mov mov int mov mov mov mov add lea sub Intel Code eax,1 ebx,0ffh 80h ebx, eax eax,[ecx] eax,[ebx+3] eax,[ebx+20h] eax,[ebx+ecx*2h] eax,[ebx+ecx] eax,[ebx+ecx*4h-20h]
Leia maisInfraestrutura de Hardware. Implementação Monociclo de um Processador Simples
Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço
Leia maisArquitectura de Computadores II L.E.S.I. 3º ano. Módulo nº 3 Princípios gerais de encadeamento
Arquitectura de Computadores II L.E.S.I. 3º ano Módulo nº 3 1. Introdução No final deste módulo os alunos deverão ser capazes de: avaliar os ganhos/perdas conseguidas com o encadeamento de instruções;
Leia maisArquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Fluxo de Controle Vimos até agora: beq, bne Uma nova instrução: slt $t0, $s1, $s2 if $s1 < $s2 then $t0 = 1 else $t0 = 0
Leia maisPARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia
Leia maisCurso: LMCC Exame 1ª Chamada 14/Jun/06 Disciplina: Arquitectura de Computadores Duração: 2h30m
MCC Arquitectura de Computadores 2005/2006 Curso: LMCC Exame 1ª Chamada 14/Jun/06 Disciplina: Arquitectura de Computadores Duração: 2h30m Nota: Apresente sempre o raciocínio ou os cálculos que efectuar;
Leia maisRegistradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture
Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture
Leia maisPilha de execução Volnys Borges Bernal Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP
2005-2015 Volnys Bernal 1 Pilha de execução Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP 2005-2015 Volnys Bernal 2 Agenda Os desafios da execução
Leia maisAssembly IA32 Procedimentos
1 Procedimentos Assembly IA32 Procedimentos Uma chamada a um procedimento implica a transferência de dados (na forma de parâmetros do procedimento e na forma de valores retornados pelo procedimento) e
Leia maisEstrutura do tema ISA do IA-32
Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos
Leia maisOrganização e Projeto de Computadores
Organização e Projeto de Computadores 1 Processamento no Computador Operações principais: leitura de instrução do programa leitura de dados processamento: execução da instrução escrita de resultado entrada/saída
Leia maisMicroprocessadores. Família x86 - Evolução
Família x86 - Evolução António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt i8086 16 bits de dados 20 bits de endereços 1MByte Clock 2 [4,8] MHz i80286 24 bits de endereço
Leia maisEstruturas de controlo do C if-else statement
Análise do Instruction Set Architecture (3) Alteração do fluxo de execução de instruções Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos e operações
Leia maisIntrodução ao Assembly
Introdução ao Assembly Movimentação de Dados Operações Aritméticas e Lógicas Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Representação de Programas O compilador gera o código
Leia maisTEÓRICA. lb $t0, 1($t1)
T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma das respostas está correcta, valendo 1
Leia maisUniversidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:
Leia maisPipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:
Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,
Leia maisEstrutura do tema ISA do IA-32
Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos
Leia maisção de Computadores I
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura
Leia maisArquitetura de Computadores I Prof. Ricardo Santos (Cap 2)
Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) 1 Fluxo de controle Vimos até agora: beq, bne Uma nova instrução: if $s1 < $s2 then $t0 = 1 slt $t0, $s1, $s2 else $t0 =
Leia maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização
Leia maisTópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE
Leia maislw, sw add, sub, and, or, slt beq, j
Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisEstrutura do tema ISA do IA-32
Análise do Instruction Set Architecture (5) x86-64: 64-bit extension to Intel 64: Intel implementation of x86-64 Estrutura do tema ISA do 1. Desenvolvimento de programas no em Linux 2. Acesso a operandos
Leia maisSSC0114 Arquitetura de Computadores
SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br
Leia maisA Arquitetura: conjunto de instruções
A Arquitetura: conjunto de instruções código instrução comentário 0000 NOP Nenhuma operação 0001 STA MEM() AC 0010 LDA AC MEM() 0011 ADD AC MEM() + AC 0100 OR AC MEM() OR AC 0101 AND AC MEM() AND AC 0110
Leia maisCPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados
CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)
Leia maisAssembly do IA-32 em ambiente Linux
Sistemas de Computação 2010/11 Assembly do IA-32 em ambiente Linux Trabalho para Casa: TPC5 Alberto José Proença Objectivo A lista de exercícios propostos em TPC5 para resolução antes e durante a próxima
Leia maisInfra-estrutura de Hardware
CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Leia maisDisciplina de. Organização de Computadores Digitais
USP - ICMC - SSC SSC 0511 - Sist. Informação - 2o. Semestre 2014 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisSistemas Processadores e Periféricos Aula 2 - Revisão
Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
Leia maisProjeto de Processadores Programáveis
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Projeto de Processadores Programáveis DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sumário Processadores
Leia maisEstrutura de uma função ( / procedimento )
Análise do Instruction Set Architecture (4) Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos e operações 3. Suporte a estruturas de controlo 4. Suporte
Leia maisInfraestrutura de Hardware. Implementação Multiciclo de um Processador Simples
Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto
Leia maisIntrodução a Engenharia Reversa
Introdução a Engenharia Reversa Por Maycon Maia Vitali a.k.a. 0ut0fBound maycon@consysonline.com.br http://outofbound.host.sk Conceito Resumo História da Engenharia Reversa - WWII Engenharia Reversa de
Leia maisAssembly do IA-32 em ambiente Linux
MIEI: Sistemas de Computação 2015/16 Assembly do IA-32 em ambiente Linux Trabalho para Casa: TPC6 Alberto José Proença Objectivo A lista de exercícios propostos em TPC6 para resolução antes e durante a
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisUniversidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador
Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional
Leia maisDataPath II Tomando o controle!
DataPath II Tomando o controle! Datapath and Control Queremos implementar parte do MIPS lw, sw add, sub, and, or, slt beq e depois o j Instruction Word Formats Register format: add, sub, and, or, slt op-code
Leia maisSISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3
Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3 Prof. André Schneider de Oliveira andreoliveira@utfpr.edu.br
Leia maisO Computador Neander Neander - Computador Hipotético Didático
Neander - Computador Hipotético Didático [Weber 2001] Fundamentos de Arquitetura de Computadores. Raul Weber - Ed. Sagra. Site - ftp://ftp.inf.ufrgs.br/pub/inf107/ Arquitetura: características gerais Largura
Leia maisNível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo
Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle
Leia maisOrganização de Computadores 1
Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento
Leia maisUniversidade de São Paulo
Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.
Leia maisData types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira
x86 Data types In C: char short int/long double/long long 2 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712
Leia maisArquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining
Arquitecturas Alternativas Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining X86-64 Qual é o ISA que temos nas máquinas Intel actuais? O x86-64 que é uma extensão para
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas
Leia maisMicroarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1
Microarquitetura IJVM mic-1 Datapath mic-1 Este é mais um exemplo de datapath para microarquitetura IJVM desenvolvida por Andew Tanenbaum Parte da CPU que contém a ALU, suas entradas e saídas 2 Função
Leia maisSistemas de Computação
Sistemas de Computação Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/30 Assembly
Leia maisExceções no Fluxo de Execução: Interrupções e Traps
Exceções no Fluxo de Execução: Interrupções e Traps 1 Fluxo de Controle Fluxo de controle de um programa: a 0 a 1 a 2 a n sequência de endereços I 0 I 1 I 2 I n sequência de instruções O fluxo mais simples
Leia maisOtimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.
Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter
Leia maisIntrodução à Computação: Arquitetura von Neumann
Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisLinguagem de Montagem Assembly
Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de
Leia maisOrdem de Bytes: Big Endian e Little Endian
Ordem de Bytes: Big Endian e Little Endian Dependendo da máquina que se usa, tem de se considerar a ordem pela qual os números constituídos por múltiplos bytes estão armazenados. As ordem são duas: big
Leia maisAULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 05: Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE SÃO PROCEDIMENTOS? Procedimentos são um conjunto
Leia maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisNeander - características
NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados
Leia maisComputadores de Programação (DCC/UFRJ)
Computadores de Programação (DCC/UFRJ) Aula 14: 04 de junho de 2013 1 2 ...antigamente.. No início da Computação, todos os programas eram escritos em linguagem de montagem Complexidade, propenso a erros,
Leia maisArquitetura de Computadores. Prof. João Bosco Jr.
Arquitetura de Computadores Prof. João Bosco Jr. Unidade II Aula 1 Nível ISA Posicionado entre a microarquitetura e o SO Define a arquitetura (Conjunto de Instruções) É a interface entre o Software e o
Leia maisProcessamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)
Processamento e Linguagem de Máquina O processador Programação Assembler (Linguagem de Máquina) O PROCESSADOR Literatura Tanenbaum e Stallings Abordagens similares mas divergentes Foco maior em funcionamento
Leia maisArquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016
Arquitetura de Computadores Conceitos Fundamentais Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016 Um Computador Muito Simples CPU UC ULA A B PC IR FLAGS SP CS DS SS... 0A 09
Leia maisArquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções
Arquiteturas de Computadores Princípios e exemplos de conjuntos de instruções Características das aplicações Computação de desktop Ênfase em desempenho de programas com tipos de dados inteiros e ponto-flutuante
Leia maisParadigma CISC. Arquitetura ARM Cortex-M3. Paradigma CISC. Paradigma RISC. Paradigma RISC. Resumo: RISC x CISC 18/08/2016
Paradigma CISC Arquitetura ARM Cortex-M3 Prof. Hugo Vieira Neto Complex Instruction Set Computer Conjunto de instruções inicialmente simples Avanços tecnológicos permitiram a fabricação de computadores
Leia maisLic. Ciências da Computação
Arquitectura de Computadores Análise do Instruction Set Architecture (1) Lic. Ciências da Computação 1º ano 2007/08 A.J.Proença Tema Estrutura do tema ISA do IA32 1. Desenvolvimento de programas no IA32
Leia maisSistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly
Sistemas de Computação para Controle e Automação CIC132 Décima quarta aula: Introdução a programação Assembly Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 5 de novembro de 2009 Haroldo
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor
Leia maisEstrutura do tema ISC
Introdução aos Sistemas de Computação(4) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução
Leia maisMinistério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski
Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem
Leia maisMicroprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -
Microprocessadores I ELE 1078 Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - 9.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência
Leia maisMIPS ISA (Instruction Set Architecture)
MIPS ISA (Instruction Set Architecture) MIcroprocessor without Interlocking Pipeline Stages MIPS Processador RISC de 32 bits Referência dos Processadores RISC Mais de 100 Milhões de processadores vendidos
Leia maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização
Leia maisELT601 Eletrônica Digital II Graduação em Engenharia Eletrônica
Graduação em Engenharia Eletrônica Universidade Federal de Itajubá IESTI Verilog HL Inferência de elementos de memória Prof. Rodrigo de Paula Rodrigues Inferência de elementos de memória Forma direta J
Leia maisNível da Arquitetura do Conjunto das Instruções
Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura
Leia maisLISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO
LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações
Leia mais2. A influência do tamanho da palavra
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de
Leia maisSistemas Operacionais. Pilha de execução Volnys B. Bernal 1. Agenda. Pilha de execução. Os problemas. Os problemas.
25-215 Volns Bernal 1 25-215 Volns Bernal 2 Agenda Volns Borges Bernal volns@lsi.u.br Os problemas Controle do endereço de retorno da função Controle do quadro da pilha de Departamento de Sistemas Eletrônicos
Leia maisORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES
ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES Prof. Dr. Daniel Caetano 2014-1 Lembretes Recordar a organização interna da CPU Conhecer os registradores de controle Apresentar o ciclo de
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisDisciplina de Organização de Computadores I
USP - ICMC - SSC SSC 0610 - Eng. Comp. - 2o. Semestre 2010 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisComputadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/ pontos
Computadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/2015-100 pontos Nome: GABARITO (revisado) Questão 1 (20 pontos) Preencha os pontilhados do código C com variável
Leia maisOrganização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção
Organização e Projeto de Computadores 3: Modo de Endereçamento, Sub-Rotina, Instruções de E/S, Interrupção 1 Modo de Endereçamento Determina como o operando é obtido durante a execução de uma ins trução.
Leia maisRelembrando desempenho...
Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas
Leia mais