Arquitetura de Computadores: Flags e Execução
43 Questions
3 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é a função do Carry Flag (CF) na execução de operações com números naturais?

  • Indicar que o resultado é negativo.
  • Indicar que a operação resultou em zero.
  • Sinalizar que houve transbordo numa operação.
  • Sinalizar que ocorreu transporte ou empréstimo. (correct)

Qual das seguintes operações não é realizada pela Unidade de Aritmética e Lógica (ALU)?

  • Raiz quadrada (correct)
  • Deslocamento de Bits
  • Divisão
  • Adição

O que a Unidade de Controlo utiliza para manter o endereço para leitura de instruções?

  • Registers
  • Memória Cache
  • ALU
  • RIP (correct)

Qual flag sinaliza que o resultado de uma operação é igual a zero?

<p>ZF (Zero Flag) (B)</p> Signup and view all the answers

Quais operações são realizadas pela Unidade de Vírgula Flutuante (FPU)?

<p>Divisão, raiz quadrada, funções trigonométricas e adição. (A)</p> Signup and view all the answers

Qual comando permite visualizar a lista de secções de um executável ELF?

<p>$ readelf -s nome_do_executavel (C)</p> Signup and view all the answers

O que é determinado pelo cabeçalho de um executável ELF?

<p>O sistema operacional e a ABI (A)</p> Signup and view all the answers

Qual é a primeira etapa no carregamento de um programa ELF?

<p>Leitura do Cabeçalho para determinar os tamanhos das secções de dados (A)</p> Signup and view all the answers

Qual comando é utilizado para visualizar o disassembly de um executável ELF?

<p>$ objdump -M intel -d nome_do_executavel (A)</p> Signup and view all the answers

Qual etapa do carregamento de um programa envolve a preparação de argumentos na pilha?

<p>Preparar argumentos na pilha (A)</p> Signup and view all the answers

O que caracteriza a Multitarefa de Granularidade Fina?

<p>As tarefas alternam apenas após cada ciclo de relógio. (A)</p> Signup and view all the answers

Qual das seguintes opções descreve a Multitarefa Simultânea?

<p>Utiliza a ordenação correta para tarefas dependentes. (A)</p> Signup and view all the answers

Em que tipo de processador a Multitarefa Simultânea é possível?

<p>Processador com escalonamento dinâmico e múltiplas execuções. (A)</p> Signup and view all the answers

O que é um impasse de dados?

<p>Uma situação onde instruções não podem ser executadas devido a dependências de dados. (B)</p> Signup and view all the answers

Qual é uma característica dos processadores na arquitetrura mencionada?

<p>Podem classificar em relação ao fluxo de dados e fluxo de instruções. (A)</p> Signup and view all the answers

Quando se realiza uma operação entre números naturais, qual flag deve ser testada para verificar se a capacidade de representação foi excedida?

<p>Flag de Transporte (C)</p> Signup and view all the answers

Qual operação deve ser utilizada para multiplicar números inteiros?

<p>IMUL op; (B)</p> Signup and view all the answers

Qual das seguintes instruções é usada para realizar a divisão de números naturais?

<p>DIV op; (C)</p> Signup and view all the answers

Qual flag pode ser afetada na multiplicação de números inteiros?

<p>Flag de Overflow (C)</p> Signup and view all the answers

Qual dos seguintes pares de instruções não afeta a Flag de Transporte?

<p>INC op e DEC op (A)</p> Signup and view all the answers

Qual é a instrução utilizada para calcular o simétrico de um operador?

<p>NEG op; (B)</p> Signup and view all the answers

Ao realizar operações em vírgula flutuante, qual componente da CPU é principalmente responsável pelos cálculos?

<p>FPU (A)</p> Signup and view all the answers

Em operações de divisão, como as Flags são afetadas?

<p>De forma imprevisível. (C)</p> Signup and view all the answers

Qual é a principal característica da representação ASCII?

<p>Estabelece uma correspondência entre caracteres e bytes. (C)</p> Signup and view all the answers

Qual das seguintes afirmações descreve corretamente a secção de código de um programa?

<p>Contém instruções codificadas em linguagem-máquina. (B)</p> Signup and view all the answers

O que representa o Program Counter (PC) no contexto de endereçamento de instruções?

<p>O endereço da próxima instrução a ser carregada. (B)</p> Signup and view all the answers

Qual é a função principal das instruções categorizadas como 'controle de fluxo'?

<p>Alterar o fluxo de execução do programa. (D)</p> Signup and view all the answers

Quais categorias de instruções são sempre aplicáveis a números inteiros?

<p>Aritméticas sobre valores com sinal. (D)</p> Signup and view all the answers

O que caracteriza uma instrução implícita em um programa?

<p>Os operandos não são parte da instrução. (C)</p> Signup and view all the answers

Qual é a diferença entre um vetor de dados (array) e uma estrutura de dados?

<p>Um vetor contém múltiplos dados do mesmo tipo, enquanto a estrutura contém dados de tipos diferentes. (A)</p> Signup and view all the answers

Em instrucões de assembly, quais das opções abaixo se classificam como instruções aritméticas?

<p>mul, div, neg. (C)</p> Signup and view all the answers

O que se entende por evolução do reportório de instruções?

<p>Inclusão ou modificação de instruções existentes, mantendo compatibilidade. (B)</p> Signup and view all the answers

Qual é a função dos dados armazenados a partir do byte menos significativo na memória?

<p>Facilitar o acesso sequencial aos dados na memória. (C)</p> Signup and view all the answers

Qual é a função da operação 'call' em uma função?

<p>Empilha o endereço da próxima instrução. (B)</p> Signup and view all the answers

Como é feita a passagem de parâmetros pela pilha?

<p>Requer reposição do RSP no código chamador. (B)</p> Signup and view all the answers

O que deve ser feito antes e após a execução de uma função?

<p>Salvar e restaurar os registros. (C)</p> Signup and view all the answers

Na fase de preparação de uma função, o que é essencial?

<p>Reservar espaço na pilha e salvar registros. (B)</p> Signup and view all the answers

Como funciona a execução do código dentro de uma função?

<p>Partilha os registros com o código chamador. (C)</p> Signup and view all the answers

Qual é o motivo da salvaguarda de registros?

<p>Para evitar a perda de dados importantes. (A)</p> Signup and view all the answers

O que ocorre durante a conclusão de uma função?

<p>Espaço da pilha é descartado para variáveis locais. (D)</p> Signup and view all the answers

Quando uma função deseja retornar um resultado, como ela pode fazer isso?

<p>Somente pelo registrador RAX ou pela pilha. (C)</p> Signup and view all the answers

Qual é a implicação de uma função que tem muitos parâmetros?

<p>Utiliza a pilha para a passagem de parâmetros. (D)</p> Signup and view all the answers

Como as linguagens de alto nível modernas tratam a passagem de dados para funções?

<p>Passam os endereços de memória dos dados. (C)</p> Signup and view all the answers

Flashcards

CF (Carry Flag)

Sinaliza transporte ou empréstimo em operações com números naturais.

OV (Overflow Flag)

Sinaliza transbordo em operações com números inteiros.

ZF (Zero Flag)

Indica se o resultado de uma operação é zero.

SF (Signal Flag)

Sinaliza se o resultado de uma operação é negativo.

Signup and view all the flashcards

ALU

Unidade de Aritmética e Lógica que realiza operações aritméticas e lógicas.

Signup and view all the flashcards

FPU/SIMD

Unidade de Vírgula Flutuante e Unidade Vetorial. Processa cálculos em vírgula flutuante.

Signup and view all the flashcards

Unidade de Controle

Coordena o ciclo de execução de instruções.

Signup and view all the flashcards

Registor RIP

Registrador que armazena o endereço da próxima instrução a ser executada.

Signup and view all the flashcards

Entrada para ALU

Valores imediatos, Registros Gerais e Memória Principal.

Signup and view all the flashcards

Saída da ALU

Resultado para um registo geral, memória principal ou sinalização de Flags(RFlags).

Signup and view all the flashcards

Flags de Transporte

Indicam se houve transporte ou empréstimo em operações com números naturais.

Signup and view all the flashcards

Flags de Overflow

Indicam transbordo em operações com números inteiros.

Signup and view all the flashcards

Instrução MUL

Multiplicação de números naturais, usando um operando explícito e AX (ou RAX, etc.).

Signup and view all the flashcards

Instrução IMUL

Multiplicação de números inteiros, usando um operando explícito e AX (ou RAX, etc.).

Signup and view all the flashcards

Instrução DIV

Divisão de números naturais, usando um operando explícito e AX (ou RAX, etc.).

Signup and view all the flashcards

Instrução IDIV

Divisão de números inteiros, usando um operando explícito e AX (ou RAX, etc.).

Signup and view all the flashcards

Instrução INC

Incrementa o operando em 1.

Signup and view all the flashcards

Instrução DEC

Decrementa o operando em 1.

Signup and view all the flashcards

Instrução NEG

Calcula o simétrico do operando.

Signup and view all the flashcards

FPU (Unidade de Vírgula Flutuante)

Unidade específica para cálculos em vírgula flutuante (IEEE 754).

Signup and view all the flashcards

Instruções x87

Instruções antigas para cálculos em vírgula flutuante.

Signup and view all the flashcards

Instruções SSE

Instruções mais recentes para cálculos em vírgula flutuante e operações vetoriais.

Signup and view all the flashcards

Operação Call

Empurra o endereço da próxima instrução para a pilha (RIP).

Signup and view all the flashcards

Bytes

Unidade fundamental de armazenamento de dados em computadores, composta por 8 bits.

Signup and view all the flashcards

Operação Ret

Recupera o endereço da pilha (RSP) e o coloca em RIP.

Signup and view all the flashcards

Passagem de parâmetros (Registos)

Funções recebem parâmetros via registos gerais (exceto RSP).

Signup and view all the flashcards

Bits

Unidade fundamental de informação em computação, podendo ser 0 ou 1.

Signup and view all the flashcards

Passagem de parâmetros (Pilha)

Parâmetros enviados para a pilha, requerendo reposição posterior.

Signup and view all the flashcards

Endereço de Memória

Localização específica na memória onde um dado é armazenado.

Signup and view all the flashcards

Resultado de função (Pilha)

Resultados podem ser passados através da pilha ou registos gerais (RAX).

Signup and view all the flashcards

ASCII

Padrão que relaciona caracteres com bytes (código de caracteres).

Signup and view all the flashcards

Salvaguarda de Registos

Manutenção dos valores dos registos antes de uma chamada de função.

Signup and view all the flashcards

String

Sequência de caracteres.

Signup and view all the flashcards

Reposição de Registos

Restauração dos valores dos registos após o término de uma função.

Signup and view all the flashcards

Vetor (array)

Estrutura de dados que armazena múltiplos dados do mesmo tipo.

Signup and view all the flashcards

Pilha (Stack Frame)

Região de memória para armazenamento temporário de dados na pilha.

Signup and view all the flashcards

Estrutura de Dados

Estrutura que armazena múltiplos dados, podendo ser de tipos diferentes.

Signup and view all the flashcards

Secção de Código

Parte da memória que contém as instruções do programa, em linguagem binária.

Signup and view all the flashcards

Passagem de Endereços (Alto Nível)

Linguagens modernas passam endereços de memória em vez de valores.

Signup and view all the flashcards

Preparação de Função

Salvar registos, alocar espaço na pilha para variáveis.

Signup and view all the flashcards

Program Counter (PC)

Registador que aponta para a próxima instrução a ser executada.

Signup and view all the flashcards

Registro RIP

Registrador que contém o endereço da memória da próxima instrução.

Signup and view all the flashcards

Realização da Função

Execução do código da função com acesso aos parâmetros e variáveis.

Signup and view all the flashcards

Conclusão de Função

Liberar espaço na pilha, restaurar registos, e retornar.

Signup and view all the flashcards

Reportório de Instruções

Conjunto de instruções que um processador suporta.

Signup and view all the flashcards

Zona Vermelha (Pilha)

Espaço disponível na pilha, utilizado para variáveis da função.

Signup and view all the flashcards

Instrução

Comando que especifica uma operação para o processador.

Signup and view all the flashcards

Operandos

Valores ou locais de memória usados numa instrução.

Signup and view all the flashcards

Instruções Implícitas

Instruções que não especificam operandos explicitamente.

Signup and view all the flashcards

Instruções Aritméticas

Instruções que realizam operações matemáticas (somar, subtrair, etc).

Signup and view all the flashcards

Instruções Lógicas

Instruções que realizam operações lógicas (AND, OR, XOR, etc).

Signup and view all the flashcards

Instruções de Controle de Fluxo

Instruções que controlam a sequência de execução do programa (saltos, loops, etc).

Signup and view all the flashcards

Instruções de Pilha e Funções

Instruções relacionadas com a pilha de memória e chamadas de funções.

Signup and view all the flashcards

Multitarefa de Granularidade Fina (Fine MT)

Tipo de multitarefa onde as tarefas só trocam entre si após cada ciclo de clock. Também conhecida como multitarefa temporal (super-threading).

Signup and view all the flashcards

Multitarefa Simultânea (SMT)

Multitarefa que permite o paralelismo entre tarefas independentes em processadores escalonados dinamicamente. A CPU gerencia o estado arquitetural de cada tarefa.

Signup and view all the flashcards

Impasses de Dados

Situações em que a execução de uma tarefa é bloqueada devido à dependência de dados de outra tarefa ainda não concluída.

Signup and view all the flashcards

Data Stream

Fluxo de dados que entra em uma arquitetura de processamento

Signup and view all the flashcards

Instruction Stream

Fluxo de instruções que entra em uma arquitetura de processamento

Signup and view all the flashcards

Componentes de um executável ELF

Um executável ELF é composto por informação geral, cabeçalho, lista de cabeçalhos de programa, lista de secções, disassembly e características usadas pelo linker.

Signup and view all the flashcards

Informação Geral (ELF)

Informações básicas sobre o executável, como se é de 32 ou 64 bits, e a arquitetura da máquina.

Signup and view all the flashcards

Cabeçalho (ELF)

Contém informações estruturais críticas, incluindo arquitetura, sistema operacional, ABI e endereço de entrada do programa.

Signup and view all the flashcards

Lista de Cabeçalhos de Programa (ELF)

Descreve as secções do executável no arquivo e suas localizações na memória.

Signup and view all the flashcards

Lista de Secções (ELF)

Descreve cada parte do programa (código, dados, etc.) e seus detalhes (tamanho, localização).

Signup and view all the flashcards

Disassembly (ELF)

Tradução do código de máquina para código assembly, permitindo visualizar instruções.

Signup and view all the flashcards

Características do Linker (ELF)

Detalhes adicionais usados pelo linker (ld) durante a fase de ligação, mostrando passos específicos durante este processo.

Signup and view all the flashcards

Carregamento de um programa

Processo de copiar a imagem de um programa do disco para a memória, preparando-o para execução.

Signup and view all the flashcards

Leitura do Cabeçalho (Carregamento)

Primeiro passo no carregamento, onde o tamanho das secções dos dados são avaliados.

Signup and view all the flashcards

Espaço de endereçamento virtual (Carregamento)

Criação de uma zona de memória virtual para o programa.

Signup and view all the flashcards

Copiar código e dados inicializados (Carregamento)

Cópia de código e dados inicializados para a memória RAM ou entrada nas tabelas de paginação para carregamento posterior conforme acesso.

Signup and view all the flashcards

Preparação de argumentos na pilha (Carregamento)

Preparação dos dados de entrada para o programa.

Signup and view all the flashcards

Iniciação de Registos do Processador (Carregamento)

O processo de iniciação de Registos do Processador para a execução.

Signup and view all the flashcards

More Like This

Microprocessor Systems Basics
16 questions
4.4 RISC-V ALU Control and Operations
15 questions
Use Quizgecko on...
Browser
Browser