Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

Documentos relacionados
AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Linguagens de Programação Classificação

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

Introdução à Computação: Máquinas Multiníveis

PROGRAMAÇÃO I. Introdução

ORGANIZAÇÃO DE COMPUTADORES

SSC510 Arquitetura de Computadores 1ª AULA

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Linguagens de Programação

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

Sistemas Operacionais

Unidade Central de Processamento UCP (CPU)

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho

Introdução à Programação de Computadores Fabricação Mecânica

Arquitetura e Organização de Computadores

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

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

14/3/2016. Prof. Evandro L. L. Rodrigues

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Introdução aos Sistemas de Computação (ISC) Curso de Administração de Negócios Eletrônicos Professor :

Prof. Leonardo Augusto Casillo

Compiladores. Introdução à Compiladores

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Introdução ao Fortran 90

Aula 2 - Programação de Computadores - CI208 1/21

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

Organização e Arquitetura de Computadores I

Processador: Conceitos Básicos e Componentes

Algoritmos e Programação

Algoritmos Computacionais

Algoritmos. Prof. Jonatas Bastos Site:

Computador Cleópatra

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

GFM015 Introdução à Computação

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina

Organização de Sistemas de Computadores

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Arquitetura e Organização de computadores

Fundamentos de Programação Introdução

Disciplina: Arquitetura de Computadores

Aula 3 Máquina Multinível

Os computadores ditigais podem ser classificados em 5 grupos distintos:

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

Aula 06 - Máquina Multinível e Von Neumann

MAC2166 Introdução à Computação Aula 1 Como Funciona um Computador

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

III.2 - Princípios de Arquitetura

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Linguagens de Programação

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

Arquitetura e Organização de computadores

pet Arquitetura de Computadores computação UFPE

ARQUITETURA DE COMPUTADORES

Unidade Central de Processamento 2. Registradores

Instruções. Maicon A. Sartin

Computadores e Programação (DCC/UFRJ)

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Introdução. (Aula 2) Organização Estruturada de Computadores

Aula 16: UCP: Conceitos Básicos e Componentes

Totem Pole, Coletor Aberto e Tristate

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Unidade 2: Fundamentos da Programação de Computadores Prof. Daniel Caetano

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Prof. Eliezer Soares Flores 1 / 22

Prof. Adilson Gonzaga

Aula 12: Memória: Barramentos e Registradores

Profª Danielle Casillo

Arquitetura e Organização de Computadores

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Introdução à Computação

Algoritmos e Programação

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Introdução à Ciência da Computação

Métodos de implementação de linguagens. Kellen Pinagé

Introdução à Programação de Computadores Parte I

Introdução à Computação MAC0110

INTRODUÇÃO A ARQUITETURA DE COMPUTADORES FELIPE G. TORRES

Organização de Computadores

Introdução à Computação MAC0110

X Y Z A B C D

MICROPROCESSADORES. Aula 10

Arquitetura de Computadores. Ciclo de Busca e Execução

ORGANIZAÇÃO DE COMPUTADORES

Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

Arquitetura dos Microprocessadores

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

Aula 23: Noções de Compilação, Montagem, Link-edição, e Interpretação

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

Organização de computadores. Aula 05

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 7

2. Conceitos Básicos. Introdução à Ciência da Computação.

Célula, Palavra, Ciclo de Instruções e Lógica Temporizada

Transcrição:

Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina

Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados 5. Tipos de linguagem 6. Funcionamento 7. Programação em linguagem 8. Itens 9. Conclusão 10.Exercício

Introdução É um conjunto particular de instruções que um computador possui. Na prática, as pessoas não escrevem instruções diretamente em linguagem de máquina mas em uma linguagem de programação, que são posteriormente traduzidas para linguagem de máquina através de programas especiais, como interpretadores e compiladores. É também conhecido como código de máquina e usa diretamente bits 1 e 0.

Característica Todo computador possui um conjunto de instruções que seu processador é capaz de executar. Essas instruções são, chamadas de código de máquina, são representadas por sequências de bits, normalmente limitadas pelo número de bits do registrador principal da CPU.

Característica (cont.) As instruções correspondem a seqüencias muito simples de operações, como transferir um dado em memória para a CPU ou somar dois valores e são normalmente interpretadas por micro- código.

Característica (cont.) Um programa em código de máquina consiste de uma sequência de números que significam uma sequência de instruções a serem executadas. Normalmente a representação do código de máquina é feita por meio de números (opcodes) constantes e variáveis em sistema binário ou sistema hexadecimal. Alguns computadores também tem seu opcodes representados no sistema octal.

Característica (cont.) Microprocessadores tem normalmente seus códigos de operação como múltiplos de 2, 8 e 16, pois usam arquiteturas com registradores de 8,16,32,64,128 ou 256 bits. Porém, existem máquinas com registradores de tamanho diferente.

Característica (cont.) Os programas de computador raramente são criados em linguagem de máquina. Normalmente eles são compilados ou interpretados.

Programas Compilados Devem ser traduzidos (por compiladores) para serem executados diretamente pelo computador. Um programa é traduzido quando um novo programa equivalente ao fonte é criado, em linguagem de máquina. Por exemplo, o compilador pega seu programa fonte e cria um novo programa equivalente ao seu em linguagem de máquina.

Programas Interpretados Não são executados diretamente, mas sim por meio de um interpretador, esse sim rodando diretamente em código de máquina e previamente compilado. Cada instrução é interpretada com instruções em Linguagem de Máquina equivalente, no momento da execução.

Tipos de Linguagem Linguagens de baixo nível: se aproximam bastante da linguagem de máquina. Ex: Assembly. Linguagens de alto nível: são baseadas em princípios abstratos e se distanciam bastante dos detalhes da operação da máquina. Ex: Java.

Funcionamento A execução das instruções é tal como ler um livro. Apesar da pessoa normalmente ler cada palavra e linha em sequência, é possível que algumas vezes ela volte para pontos anteriores do texto de interesse ou passe sessões não interessantes. Da mesma forma, um computador que segue a arquitetura de von Neumann executa cada instrução de forma sequencial, da maneira como foram armazenadas na memória.

Funcionamento (cont.) Mas, através de instruções especiais, o computador pode repetir instruções ou avançá-las até que alguma condição seja satisfeita. Isso é chamado controle do fluxo e é o que permite que o computador realize tarefas repetitivamente sem intervenção humana.

Programação em Linguagem de Máquina Programar em linguagem de máquina costuma ser exaustivamente difícil, pois requer o conhecimento dos opcodes, dos operandos e dos formatos de cada instrução.

Programação em Linguagem de Máquina (cont.) Por esse motivo, foi criada uma linguagem de programação chamada linguagem de montagem (Assembly Language), composta de códigos mnemônicos que, do ponto de vista técnico, é tão próxima do processador quanto o código de máquina, mas é humanamente mais fácil de se compreender uma vez que seus códigos são geralmente acrônimos do inglês.

Programação em Linguagem de Máquina (cont.) Exemplo mov de mover, rep de repetição e assim por diante. Na verdade, mesmo Assembly só é usado em ocasiões onde o uso de uma linguagem de programação de alto nível é impossível ou proibitivo.

Itens Microprocessador BIOS

Processadores Percebem somente sinais elétricos, distinguindo-os os em duas categorias: nível alto "high" H, tensão elétrica alta, e nível baixo "low" L, tensão elétrica baixa Qualquer comunicação precisa ser reduzida exclusivamente a esses dois sinais. O primeiro passo é associar H com bit 1 e L com bit 0, a seguir elaborando códigos lógicos binários baseados nestes dígitos 1 e 0.

Processadores (cont.) São projetados para executar uma lista fixa de instruções, e isto é tudo o que fazem. Cada instrução é um conjunto de bits (tipo 1101 1001). Estas instruções são gravadas na memória como sinais elétricos H/1 e L/0 e ao acessá-las o processador percebe os correspondente sinais elétricos H e L e os processa considerando-os os por uma lógica de bits 1 e 0.

Processadores (cont.) O programador escreve bits 1 e 0 correspondentes a uma sequência de instruções e por algum dispositivo grava-os na memória em endereços seguidos. O microprocessador lê estas instruções, começando do menor endereço até o maior (existindo instruções de desvio da sequência) e executa-as, as, uma a uma.

Conclusão: É uma programação altamente especializada, exigindo conhecimentos profundos do processador e de Eletrônica Digital, o que escapa à maioria dos usuários.

Exercício: 1. O que é linguagem de máquina? 2. Cite uma característica de linguagem de máquina. 3. O que é um programa compilado? 4. O que é um programa interpretado? 5. Quais são os tipos de linguagens existentes? 6. Explique como é o funcionamento da linguagem de máquina.

Exercício: 7. O que é necessário para programar em linguagem de máquina? 8. Cite um item que utiliza linguagem de máquina.