Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 1: Conceitos Fundamentais dos Sistemas de Computação Prof. D.Sc. André Felipe Oliveira de Azevedo Dantas 2018.1 Microcomputador: Arquitetura Básica Contextualização • Desenvolvimento da Engenharia Eletrônica: Tecnologia do Computador; • Integração de várias partes do computador; Desenvolvimento da Tecnologia • Unidade central de processamento; • Unidades de Armazenamento; • Unidade de entradas e Saídas; • Compactação do computador; • Fisicamente com diferentes circuitos integrados; • Microprocessador; • Memória Não volátil (ROM/PROM/EPROM/EEPROM); • Memória volátil (RAM); Primeiros Microcomputadores • Portas de Entradas e Saídas; • 4004 da Intel / 4 bits; • 8008, 8080 e 8085 da Intel / 8 bits; • 6800 da Motorola / 8 bits; • Z80 da Zilog / 8 bits; Primeiros Microprocessadores • Microprocessadores com 16, 32, 64 bits; • Aumento da quantidade de componentes integrados por unidade de área; Evolução dos Microprocessadores • Integração de todos os blocos básicos em uma única pasta de silício; • Origem dos microcontroladores; • Conceito: • É um microcomputador implementado em um único circuito integrado, no qual estão integradas todas as unidades básicas de um computador. Microcontroladores • Usados em: • Equipamentos portáteis; • De baixo custo; • Automação; • Dependência do ser humano dessa tecnologia; Microcontroladores • Bit; • Byte; • Registradores; • Microcomputador: • Unidade Central de Processamento; • Unidade de memória; • Entrada e Saída de Informações; • Instrução (Tarefa): • Operações de leitura e escrita ou posições de memória; • Operações lógicas e Aritméticas; Conceitos Básicos Definir a arquitetura de um microcomputador; Descrever as características de sistemas computacionais; Interpretar os diferentes tipos de arquitetura de computadores; Analisar as linguagens de programação associadas aos microcontroladores; Objetivos de Aprendizagem Arquitetura de um microcomputador Blocos básicos de microcontroladores • É responsável pela inteligência da máquina; • Tem a capacidade de tomar decisões (ações) no sistema microcomputadorizado; • Executa o programa armazenado na memória do microcomputador; Unidade Central de Processamento (CPU) • Responsável pela obtenção das informações a serem analisadas por meio de: • Dispositivos de entrada; • Processamento; • Informações; • Resposta (ação) do sistema a uma determinada situação de controle: • Escrita de memória; • Transmissão de dados; • Acionamento de um relé; • Acionamento de um bip; Unidade Central de Processamento (CPU) • Funções Básicas: • Leitura (busca) e interpretação do programa alocado na memória, instrução por instrução. Unidade de Processamento Central Execução do programa, instrução por instrução. Unidade de Processamento Central Principais partes: Unidade de Processamento Central • Unidade Lógica e Aritmética (ULA) - é a seção do μP que executa os cálculos e as operações booleanas; • Unidade de Controle (UC) - é a seção que controla o movimento de instruções dentro e fora do μP e as operações dentro CPU. • A UC consiste de: • Decodificador de Instruções • Lógica de Controle • Clock Principais partes: Unidade de Processamento Central • Conjunto de registradores – São memórias internas de uma só palavra usadas como rascunho rápido de instruções e dados. • Todo μP possui o conjunto básico de registradores: • Contador de Programa (PC) • Registrador de Instruções (IR) • Acumulador (Acc) • Reg. de Endereços de Memória • Apontador de Pilha (SP) • Sinalizadores (Flags) Principais partes: Unidade de Memória • Memória de armazenamento de programa: • Não volátil; • ROM; • PROM; • EPROM; • Memória de armazenamento de informações: • Armazena informações de entrada e saída de dados; • Volátil; • RAM Principais partes: Unidade de Entrada e Saída • Interface das informações do uP e o mundo externo. • Barramento de endereços: • A CPU utiliza O barramento para : • Definir os endereços das posições de memória de programa em que ele vai buscar as instruções a serem executadas; • Definir os endereços de memória de dados ou dos dispositivos de entrada e saída. • Esse barramento é unidirecional; Arquitetura de Sistemas Microprocessados/ Microcontrolados • Arquitetura de Sistemas Microprocessados/ Microcontrolados Unidade de Processamento Central • Barramento de temporização e controle. • A CPU utiliza o barramento para : • Definir os de temporização e controle para gerenciar o tempo e a direção do fluxo de informações nas operações de leitura e escrita; • Esse barramento é unidirecional; Arquitetura de Sistemas Microprocessados/ Microcontrolados • Arquitetura de Sistemas Microprocessados/ Microcontrolados Unidade de Processamento Central • Barramento de dados. • A CPU utiliza o barramento para : • Receber as informações vindas da memória ou dos dispositivos de entrada e saída; • Definir as informações para a memória ou para os dispositivos de entrada e saída. • OBS: É importante frisar que, em alguns uP ou uC , a memória não troca informações diretamente com os dispositivos de entrada e saída. • Esse barramento é bidirecional; Arquitetura de Sistemas Microprocessados/ Microcontrolados • Arquitetura de Sistemas Microprocessados/ Microcontrolados Unidade de Processamento Central • O μP executa programas em memória processando uma instrução após outra; • A sequência das instruções é iniciada no endereço de Reset do μP e sua continuidade determinada pelo Contador de Programa PC; • Quando uma instrução determina um desvio na execução, o PC é carregado com um endereço diferente do endereço de instrução seguinte e a sequência de execução passa a ser feita a partir desse endereço; • Cada família de μP’s apresenta seu próprio conjunto de Instruções e o código escrito na memória deve ser interpretável pelo μP. Se um desvio leva o processamento ao endereço de uma instrução não reconhecida, o μP trava. Funcionamento de um Sistema Microprocessado/Microcontrolado • O Conjunto de Instruções é uma coleção de Instruções reconhecidas por uma determinada família de processadores. • Cada código de máquina de um conjunto de instruções é composto por Código Operacional (OpCode) e Operandos: • OpCode - determina o que a instrução deve fazer. Cada operação tem um OpCode específico. • Operandos - indicam os dados ou endereços dos dados necessários a operação. • O formato do código, numero de operandos, e número de bits envolvidos nos campos do código é dependente da máquina (ou seja do μP em questão). • Os códigos de máquina são organizados em bytes (ou palavras) e dependendo do μP, os códigos podem ter número de palavras fixo ou variável. Conjunto de Instruções • O Conjunto de Instruções é uma coleção de Instruções reconhecidas por uma determinada família de processadores. • Cada código de máquina de um conjunto de instruções é composto por Código Operacional (OpCode) e Operandos: • OpCode - determina o que a instrução deve fazer. Cada operação tem um OpCode específico. • Operandos - indicam os dados ou endereços dos dados necessários a operação. • O formato do código, numero de operandos, e número de bits envolvidos nos campos do código é dependente da máquina (ou seja do μP em questão). • Os códigos de máquina são organizados em bytes (ou palavras) e dependendo do μP, os códigos podem ter número de palavras fixo ou variável. Conjunto de Instruções Características de Sistemas Computacionais Sistemas de Computação ▪Programa (Linguagem de alto nível): ▪ Etapas, elaboradas e executadas passo a passo;▪Não é possível ser executado diretamente pela máquina; ▪A máquina entende instruções de máquina (mais simples); Sistemas de Computação ▪Todo computador é capaz de reconhecer um conjunto limitado de instruções de máquina, que normalmente são: ▪ Executar operações aritméticas entre dois números; ▪ Executar operações lógicas com dois números; ▪Mover um conjunto de bits de um local para outro do computador; ▪Desviar a sequência do programa; ▪ Fazer a comunicação com algum dispositivo de entrada e saída; Sistemas de Computação ▪Software: ▪ São Programas; ▪ Podem estar em qualquer linguagem; ▪ Faz a máquina produzir um resultado através de um conjunto de instruções; ▪ Software básico: ▪ Sistemas operacionais; ▪ Compiladores; ▪ Interpretadores; ▪ Drivers; ▪ Programas de Aplicação: ▪ Aplicam-se a determinado problema de uma empresa ou pessoa física. Tipos de Arquitetura de Computadores Organização e Arquitetura de um Computador ▪A arquitetura do computador está mais no nível do programador visto que têm impacto direto na elaboração de um programa. São elementos de uma arquitetura: ▪O conjunto de instruções de um processador ou microcontrolador; ▪O tamanho da palavra; ▪Os modos de endereçamento das instruções; ▪O tipo e o tamanho dos dados manipulados pelo processador; Organização e Arquitetura de um Computador ▪Tipos de arquitetura: ▪ SISD (Single Instruction stream, Single Data Stream): ▪ Padrão von Neumann; ▪ Processadores executam uma instrução completa de cada vez; ▪ Único registrador no processador; ▪ Obsoleto; Organização e Arquitetura de um Computador ▪Tipos de arquitetura: ▪ MISD (Multiple Instruction stream, Single Data stream): ▪ Várias instruções podem ser executadas simultaneamente; ▪ Manipula um único registro de dados; ▪ Processadores vetoriais; Organização e Arquitetura de um Computador ▪Tipos de arquitetura: ▪ SIMD (Single Instruction stream, Multiple Data stream): ▪ Única instrução manipula e acessa um conjunto de dados simultaneamente; ▪ A unidade de controle do processador aciona diversas unidades de processamento; Organização e Arquitetura de um Computador ▪Tipos de arquitetura: ▪ MIMD (Multiple Instruction stream, Multiple Data stream): ▪ Categoria mais avançada; ▪ O melhor desempenho de processamento; Linguagens de Programação Associadas aos Microcontroladores • São o mesmo que software; • São classificadas em 3 níveis: • Baixo; • Médio; • Alto; Linguagens de Programação • Características: • Operar, acessar, e manipular diretamente os • Registradores internos ao microprocessador; • Os Endereços; • Os conteúdos das posições de memória; • Os conteúdos dos dispositivos de entrada e saída; • Deve-se conhecer tanto os comandos quanto os componentes que formam o processador; • Ex.: Linguagem de Programação Assembly. Linguagens de Baixo Nível • Características: • Tornar as características do hardware mais transparentes para o usuário; • Permite que usuários não técnicos (especialistas em hardware) possam desenvolver suas aplicações; • Comandos simples e fáceis; • Ex.: Linguagem de Programação Basic e Pascal, C++, eLua. Linguagens de Alto Nível • Características: • Apresenta características tanto das linguagens de alto nível quanto das de baixo nível; • Bastante flexível; • Mais utilizada para programação em microcontroladores; • Ex.: Linguagem de Programação C. Linguagens de Médio Nível Finalização Revisão dos Conteúdos • Arquitetura de um Microcomputador; • Características de Sistemas Computacionais; • Tipos de Arquitetura de Computadores; • Linguagens de Programação Associadas aos Microcontroladores; Atividades (ADE) Ler os capítulos 1 e 2 dos livros: Microcontroladores 8051: conceitos, operações, fluxogramas e programação. Microcontroladores 8051: teoria e prática.
Compartilhar