O documento descreve as diferenças entre as arquiteturas CISC e RISC. A arquitetura CISC (Complex Instruction Set Computer) tem instruções complexas implementadas em microcódigo para melhor apoiar linguagens de alto nível. No entanto, estudos mostraram que as instruções mais comuns são simples como atribuições e condicionais. Isso levou ao surgimento da arquitetura RISC (Reduced Instruction Set Computer) com um conjunto reduzido de instruções simples de registro-registro para melhor apoiar linguagens mais simples.
O documento discute processadores superescalares, que podem executar múltiplas instruções por ciclo de clock. Existem duas abordagens para expedição múltipla: estática, onde as decisões são tomadas em tempo de compilação; e dinâmica, onde as decisões são tomadas em tempo de execução (superescalar). Processadores superescalares possuem cópias do hardware para executar instruções simultaneamente, de forma semelhante à abordagem estática.
O documento discute medidas de desempenho de CPUs. Apresenta a equação clássica de desempenho da CPU onde o tempo de execução de um programa (tP) é igual ao número de instruções do programa (nP) multiplicado pelo número médio de ciclos por instrução (CPIP) multiplicado pelo tempo de um ciclo de clock (tc). Discute como os três fatores - nP, CPIP e tc - afetam o desempenho e como a equação pode ser usada para comparar diferentes arquiteturas.
O documento discute pipeline e seus conflitos. Explica como dividir o datapath de um único ciclo em estágios de pipeline, necessitando registradores para reter valores parciais entre estágios. Apresenta exemplos de instruções passando pelos estágios, ilustrando como os valores e registradores precisam ser recuperados do estágio anterior.
Este documento apresenta a construção de um datapath para implementar instruções do tipo MIPS em um único ciclo de clock. Ele discute a metodologia de temporização para garantir que os sinais sejam válidos quando necessário e permite que cada instrução seja executada em um ciclo. O documento descreve como buscar instruções na memória, incrementar o PC, ler registradores e usar a ALU para executar operações aritméticas e lógicas.
O documento discute a arquitetura de datapath de ciclo único e pipeline. Ele explica como construir um datapath para executar cada instrução em um único ciclo de clock, necessitando de memórias separadas para instruções e dados e de um multiplexador para compartilhar recursos entre diferentes tipos de instruções. Também aborda o controle da ALU e como cada tipo de instrução é conectado ao datapath.
O documento discute conflitos de dados em pipelines e como o forwarding pode resolver esse problema. O documento também apresenta situações onde o forwarding não é suficiente e pipeline stalls ainda são necessários.
O documento discute a arquitetura MIPS. Ele define MIPS como uma arquitetura de conjunto de instruções desenvolvida pela MIPS Technologies em 1984. As instruções MIPS têm tamanho fixo, o que as torna mais fáceis de manipular por uma pipeline. O documento também descreve os registradores da arquitetura MIPS e as principais instruções aritméticas.
O documento discute processadores superescalares, que podem executar múltiplas instruções por ciclo de clock. Existem duas abordagens para expedição múltipla: estática, onde as decisões são tomadas em tempo de compilação; e dinâmica, onde as decisões são tomadas em tempo de execução (superescalar). Processadores superescalares possuem cópias do hardware para executar instruções simultaneamente, de forma semelhante à abordagem estática.
O documento discute medidas de desempenho de CPUs. Apresenta a equação clássica de desempenho da CPU onde o tempo de execução de um programa (tP) é igual ao número de instruções do programa (nP) multiplicado pelo número médio de ciclos por instrução (CPIP) multiplicado pelo tempo de um ciclo de clock (tc). Discute como os três fatores - nP, CPIP e tc - afetam o desempenho e como a equação pode ser usada para comparar diferentes arquiteturas.
O documento discute pipeline e seus conflitos. Explica como dividir o datapath de um único ciclo em estágios de pipeline, necessitando registradores para reter valores parciais entre estágios. Apresenta exemplos de instruções passando pelos estágios, ilustrando como os valores e registradores precisam ser recuperados do estágio anterior.
Este documento apresenta a construção de um datapath para implementar instruções do tipo MIPS em um único ciclo de clock. Ele discute a metodologia de temporização para garantir que os sinais sejam válidos quando necessário e permite que cada instrução seja executada em um ciclo. O documento descreve como buscar instruções na memória, incrementar o PC, ler registradores e usar a ALU para executar operações aritméticas e lógicas.
O documento discute a arquitetura de datapath de ciclo único e pipeline. Ele explica como construir um datapath para executar cada instrução em um único ciclo de clock, necessitando de memórias separadas para instruções e dados e de um multiplexador para compartilhar recursos entre diferentes tipos de instruções. Também aborda o controle da ALU e como cada tipo de instrução é conectado ao datapath.
O documento discute conflitos de dados em pipelines e como o forwarding pode resolver esse problema. O documento também apresenta situações onde o forwarding não é suficiente e pipeline stalls ainda são necessários.
O documento discute a arquitetura MIPS. Ele define MIPS como uma arquitetura de conjunto de instruções desenvolvida pela MIPS Technologies em 1984. As instruções MIPS têm tamanho fixo, o que as torna mais fáceis de manipular por uma pipeline. O documento também descreve os registradores da arquitetura MIPS e as principais instruções aritméticas.
O documento descreve as arquiteturas RISC e CISC, comparando suas principais características. A arquitetura RISC tem instruções simples e fixas, enquanto a CISC tem instruções complexas e variáveis. Embora diferentes, ambas as arquiteturas contribuíram para o desenvolvimento dos processadores e podem coexistir harmoniosamente.
O documento descreve as características principais da arquitetura RISC (Reduced Instruction Set Computing), incluindo que as instruções são executadas em um único ciclo, o uso de registradores, acesso à memória por meio de instruções de carregamento e armazenamento, e a ausência de microcódigo. Também compara RISC com CISC, destacando oito diferenças críticas entre as arquiteturas.
O documento descreve as diferenças entre as arquiteturas CISC e RISC, discutindo como elas estão convergindo com o tempo. Originalmente, RISC tinha vantagens de desempenho, mas CISC melhorou com técnicas como pipeline e cache. Hoje, a escolha depende mais de fatores como custo, suporte a software e hardware do que da arquitetura do processador em si.
O documento discute os conceitos fundamentais de Domain-Driven Design (DDD): (1) Ubiquitous Language é uma linguagem comum entre especialistas técnicos e de domínio; (2) Domain Model é um modelo conceitual do domínio que representa visões de negócio e técnicas; (3) Patterns são soluções para problemas recorrentes que ligam o Domain Model à implementação.
1) O documento apresenta a programação de palestras de uma conferência sobre performance e planejamento de capacidade realizada pela CMG Brasil. 2) Os temas abordados incluem detalhes da arquitetura z14, lei geral de proteção de dados, métodos ágeis, cloud computing, criptografia, ciência de dados e tendências da TI. 3) O evento contou com coffee breaks e almoço.
O documento discute a arquitetura de microserviços. Resume os principais pontos como: (1) a introdução à arquitetura de microserviços e suas vantagens sobre arquiteturas monolíticas; (2) a história dos microserviços e como os princípios são antigos, mas a implementação é nova; (3) pré-requisitos não técnicos como a necessidade de reestruturar a organização para pequenas equipes focadas em produtos.
Linux Embarcado - O Sistema Operacional da Internet das CoisasAndré Curvello
O documento discute o uso do Linux em sistemas embarcados, como o Linux pode ser usado para facilitar o desenvolvimento de aplicações para a Internet das Coisas, e quais são os requisitos para desenvolvimento com Linux embarcado, incluindo programação em C/C++ e conhecimento de redes.
Além da programação funcional com Elixir e ErlangElaine Naomi
Elaine Naomi Watanabe compartilha sua jornada de aprendizado de novas linguagens de programação ao longo dos anos, com foco recente em Elixir. Ela descreve brevemente suas experiências com linguagens como Python, Java, C++ e PHP, e atualmente tem se dedicado a Elixir e Ruby. O documento então detalha os principais pontos sobre Elixir, incluindo sua herança de Erlang, processos, concorrência, tolerância a falhas e produtividade.
O documento descreve os princípios da Clean Architecture, uma estratégia arquitetural que promove o desacoplamento entre as regras de negócio de uma aplicação e recursos externos. A Clean Architecture define camadas lógicas com entidades, casos de uso e adaptadores de interface que isolam as regras de negócio de tecnologias como bancos de dados e frameworks. Isso permite mudanças nesses recursos sem afetar o código de domínio e aumenta a testabilidade.
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
1) O documento discute como programar computadores multicore para obter o máximo desempenho possível, mencionando técnicas como processamento paralelo, divisão de tarefas e dados, e uso de threads e processos.
2) É destacada a importância da programação paralela para áreas como pesquisa científica, segurança nacional e modelagem do clima, à medida que os desafios computacionais se tornam mais complexos.
3) Ferramentas como Cilk Plus, Threading Building Blocks e bibliotecas de domínio específico
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
1) O documento discute como programar para tirar proveito da computação paralela em CPUs multicore e aceleradores como o Intel Xeon Phi;
2) A programação paralela é importante para aplicações científicas, de pesquisa e segurança nacional para lidar com problemas cada vez mais complexos mantendo um orçamento energético realista;
3) Ferramentas como OpenMP, MPI, Cilk Plus e TBB podem ajudar a dividir tarefas e dados entre threads e processos para acelerar cálculos através da computação paralela.
PRODUTIVIDADE E BAIXO CONSUMO DE RECURSOS COMPUTACIONAIS UTILIZANDO O MICRON...Rafael Holanda
O documento discute como o framework Micronaut pode ser usado para criar microserviços com baixo consumo de recursos computacionais. O Micronaut compila o código Java antecipadamente para melhorar o tempo de inicialização e reduzir o uso de memória. Ele também suporta características nativas da nuvem como descoberta de serviço e escalabilidade elástica.
Apresentação sobre tipos dinâmicos no .NET 4 e c# 4.0.
A apresentação foi feita com uma série de demos, baixe-as no site: http://viniciusquaiato.com para compreender melhor.
Este documento fornece a agenda de uma conferência sobre desempenho e planejamento de capacidade que inclui várias palestras sobre tópicos de TI como mainframes, bancos de dados, nuvem, segurança e tendências. A agenda lista os horários, locais e palestrantes de cada sessão.
Este documento apresenta a programação de uma conferência sobre planejamento de capacidade e desempenho no ambiente mainframe. Inclui palestras sobre arquitetura do z14, lei de proteção de dados, métodos ágeis, criptografia, disponibilidade do SQL Server e tendências da TI.
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
Apresentação sobre o uso de Docker e Docker Compose na criação de ambientes de Desenvolvimento e Testes utilizando tecnologias de bancos de dados como SQL Server, PostgreSQL, Redis e MongoDB. Palestra realizada durante o SQLSaturday #906, um evento que aconteceu na cidade de São Paulo-SP no dia 28/09/2019.
O documento discute técnicas para melhorar o desempenho de aplicações Node.js em produção, incluindo cache de arquivos estáticos e respostas de API, uso de proxy reverso e balanceamento de carga para escalabilidade, e otimizações de código como evitar loops desnecessários.
Este documento descreve as arquiteturas RISC e CISC, comparando suas vantagens e desvantagens. CISC suporta um grande número de instruções complexas, facilitando a programação mas reduzindo a velocidade. RISC usa instruções simples executadas rapidamente, requerendo mais instruções para tarefas complexas. Ambas evoluíram para lidar com limitações de memória, desempenho e fabricação de chips nas décadas de 1970-1980.
O documento fornece uma introdução sobre conceitos básicos de sistemas operacionais. Ele discute o que constitui um sistema computacional, a importância de um sistema operacional, as funções de um SO, como usuários e programas interagem com o SO, gerenciamento de memória e processamento, boot do sistema e dispositivos de entrada e saída.
Contr avali engenharia de software-introduçãoFelipe Lyra
O documento introduz o conceito de Engenharia de Software, discutindo sua origem e objetivos de transformar o desenvolvimento de software de uma atividade artística para um processo controlado e previsível. Apresenta também exemplos históricos de projetos de software problemáticos e seus impactos, e discute modelos de processos e boas práticas para o desenvolvimento de software, como CMMI e PMBok.
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
Mais conteúdo relacionado
Semelhante a (ACH2055) Arquitetura de Computadores - Aula 09
O documento descreve as arquiteturas RISC e CISC, comparando suas principais características. A arquitetura RISC tem instruções simples e fixas, enquanto a CISC tem instruções complexas e variáveis. Embora diferentes, ambas as arquiteturas contribuíram para o desenvolvimento dos processadores e podem coexistir harmoniosamente.
O documento descreve as características principais da arquitetura RISC (Reduced Instruction Set Computing), incluindo que as instruções são executadas em um único ciclo, o uso de registradores, acesso à memória por meio de instruções de carregamento e armazenamento, e a ausência de microcódigo. Também compara RISC com CISC, destacando oito diferenças críticas entre as arquiteturas.
O documento descreve as diferenças entre as arquiteturas CISC e RISC, discutindo como elas estão convergindo com o tempo. Originalmente, RISC tinha vantagens de desempenho, mas CISC melhorou com técnicas como pipeline e cache. Hoje, a escolha depende mais de fatores como custo, suporte a software e hardware do que da arquitetura do processador em si.
O documento discute os conceitos fundamentais de Domain-Driven Design (DDD): (1) Ubiquitous Language é uma linguagem comum entre especialistas técnicos e de domínio; (2) Domain Model é um modelo conceitual do domínio que representa visões de negócio e técnicas; (3) Patterns são soluções para problemas recorrentes que ligam o Domain Model à implementação.
1) O documento apresenta a programação de palestras de uma conferência sobre performance e planejamento de capacidade realizada pela CMG Brasil. 2) Os temas abordados incluem detalhes da arquitetura z14, lei geral de proteção de dados, métodos ágeis, cloud computing, criptografia, ciência de dados e tendências da TI. 3) O evento contou com coffee breaks e almoço.
O documento discute a arquitetura de microserviços. Resume os principais pontos como: (1) a introdução à arquitetura de microserviços e suas vantagens sobre arquiteturas monolíticas; (2) a história dos microserviços e como os princípios são antigos, mas a implementação é nova; (3) pré-requisitos não técnicos como a necessidade de reestruturar a organização para pequenas equipes focadas em produtos.
Linux Embarcado - O Sistema Operacional da Internet das CoisasAndré Curvello
O documento discute o uso do Linux em sistemas embarcados, como o Linux pode ser usado para facilitar o desenvolvimento de aplicações para a Internet das Coisas, e quais são os requisitos para desenvolvimento com Linux embarcado, incluindo programação em C/C++ e conhecimento de redes.
Além da programação funcional com Elixir e ErlangElaine Naomi
Elaine Naomi Watanabe compartilha sua jornada de aprendizado de novas linguagens de programação ao longo dos anos, com foco recente em Elixir. Ela descreve brevemente suas experiências com linguagens como Python, Java, C++ e PHP, e atualmente tem se dedicado a Elixir e Ruby. O documento então detalha os principais pontos sobre Elixir, incluindo sua herança de Erlang, processos, concorrência, tolerância a falhas e produtividade.
O documento descreve os princípios da Clean Architecture, uma estratégia arquitetural que promove o desacoplamento entre as regras de negócio de uma aplicação e recursos externos. A Clean Architecture define camadas lógicas com entidades, casos de uso e adaptadores de interface que isolam as regras de negócio de tecnologias como bancos de dados e frameworks. Isso permite mudanças nesses recursos sem afetar o código de domínio e aumenta a testabilidade.
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
1) O documento discute como programar computadores multicore para obter o máximo desempenho possível, mencionando técnicas como processamento paralelo, divisão de tarefas e dados, e uso de threads e processos.
2) É destacada a importância da programação paralela para áreas como pesquisa científica, segurança nacional e modelagem do clima, à medida que os desafios computacionais se tornam mais complexos.
3) Ferramentas como Cilk Plus, Threading Building Blocks e bibliotecas de domínio específico
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
1) O documento discute como programar para tirar proveito da computação paralela em CPUs multicore e aceleradores como o Intel Xeon Phi;
2) A programação paralela é importante para aplicações científicas, de pesquisa e segurança nacional para lidar com problemas cada vez mais complexos mantendo um orçamento energético realista;
3) Ferramentas como OpenMP, MPI, Cilk Plus e TBB podem ajudar a dividir tarefas e dados entre threads e processos para acelerar cálculos através da computação paralela.
PRODUTIVIDADE E BAIXO CONSUMO DE RECURSOS COMPUTACIONAIS UTILIZANDO O MICRON...Rafael Holanda
O documento discute como o framework Micronaut pode ser usado para criar microserviços com baixo consumo de recursos computacionais. O Micronaut compila o código Java antecipadamente para melhorar o tempo de inicialização e reduzir o uso de memória. Ele também suporta características nativas da nuvem como descoberta de serviço e escalabilidade elástica.
Apresentação sobre tipos dinâmicos no .NET 4 e c# 4.0.
A apresentação foi feita com uma série de demos, baixe-as no site: http://viniciusquaiato.com para compreender melhor.
Este documento fornece a agenda de uma conferência sobre desempenho e planejamento de capacidade que inclui várias palestras sobre tópicos de TI como mainframes, bancos de dados, nuvem, segurança e tendências. A agenda lista os horários, locais e palestrantes de cada sessão.
Este documento apresenta a programação de uma conferência sobre planejamento de capacidade e desempenho no ambiente mainframe. Inclui palestras sobre arquitetura do z14, lei de proteção de dados, métodos ágeis, criptografia, disponibilidade do SQL Server e tendências da TI.
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
Apresentação sobre o uso de Docker e Docker Compose na criação de ambientes de Desenvolvimento e Testes utilizando tecnologias de bancos de dados como SQL Server, PostgreSQL, Redis e MongoDB. Palestra realizada durante o SQLSaturday #906, um evento que aconteceu na cidade de São Paulo-SP no dia 28/09/2019.
O documento discute técnicas para melhorar o desempenho de aplicações Node.js em produção, incluindo cache de arquivos estáticos e respostas de API, uso de proxy reverso e balanceamento de carga para escalabilidade, e otimizações de código como evitar loops desnecessários.
Este documento descreve as arquiteturas RISC e CISC, comparando suas vantagens e desvantagens. CISC suporta um grande número de instruções complexas, facilitando a programação mas reduzindo a velocidade. RISC usa instruções simples executadas rapidamente, requerendo mais instruções para tarefas complexas. Ambas evoluíram para lidar com limitações de memória, desempenho e fabricação de chips nas décadas de 1970-1980.
O documento fornece uma introdução sobre conceitos básicos de sistemas operacionais. Ele discute o que constitui um sistema computacional, a importância de um sistema operacional, as funções de um SO, como usuários e programas interagem com o SO, gerenciamento de memória e processamento, boot do sistema e dispositivos de entrada e saída.
Contr avali engenharia de software-introduçãoFelipe Lyra
O documento introduz o conceito de Engenharia de Software, discutindo sua origem e objetivos de transformar o desenvolvimento de software de uma atividade artística para um processo controlado e previsível. Apresenta também exemplos históricos de projetos de software problemáticos e seus impactos, e discute modelos de processos e boas práticas para o desenvolvimento de software, como CMMI e PMBok.
Semelhante a (ACH2055) Arquitetura de Computadores - Aula 09 (20)
O documento discute estimativas de erro em modelos de aprendizagem de máquina. Explica que o erro esperado no conjunto de teste tende a ser maior que no conjunto de treino, devido ao ajuste do modelo aos dados de treino. Também aborda medidas como viés e variância para avaliar estimadores, e como o erro quadrático médio equilibra ambos para medir o desvio total esperado entre a estimativa e o valor real.
O documento discute a avaliação de desempenho de classificadores treinados. Explica que é necessário testar o modelo em um conjunto de dados independente para medir seu desempenho em dados novos. Também apresenta métricas como taxa de erro e curva de aprendizagem para avaliar quantitativamente o modelo.
O documento descreve o algoritmo de máquina de vetor de suporte (SVM), explicando como ele busca encontrar o hiperplano separador de margem máxima entre os dados de treinamento de duas classes. O SVM define fronteiras lineares ótimas para dados linearmente separáveis, maximizando a distância entre o hiperplano separador e os exemplos de treinamento mais próximos, chamados de vetores de suporte. O problema é formulado como um problema de otimização para encontrar os parâmetros ω e b que maximizam essa distância de separação.
O documento descreve as redes neurais e o perceptron. Ele explica que as redes neurais se inspiram nos neurônios biológicos e como o perceptron funciona como a unidade básica de uma rede neural, recebendo sinais de entrada e aplicando uma função de ativação. Também discute possíveis funções de ativação como a função degrau e sigmóide e como os pesos das conexões, incluindo o viés, determinam se um perceptron é ativado ou não.
O documento discute árvores de decisão e florestas aleatórias. Ele explica que árvores de decisão são uma das formas mais simples de aprendizado de máquina, representando uma sequência de regras "se...então" para classificar ou prever saídas com base em atributos de entrada. O documento também descreve características como nós internos representando testes de atributos e folhas especificando saídas, e discute expressividade e variações de árvores de decisão.
O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
O documento descreve a regra de Bayes e redes Bayesianas. Ele fornece um exemplo detalhado sobre como calcular a probabilidade de uma mulher ter câncer de mama dado um resultado positivo em um mamograma usando a regra de Bayes. Ele também define brevemente o que são redes Bayesianas, que representam dependências probabilísticas entre variáveis aleatórias através de um grafo direcionado acíclico.
O documento discute o tratamento de incerteza em inteligência artificial. Aborda como a probabilidade e a teoria da decisão podem ser usadas para tomar decisões racionais quando os resultados são incertos, levando em conta a probabilidade de cada resultado e sua utilidade segundo as preferências de quem decide.
O documento discute representação do conhecimento através de ontologias, incluindo taxonomias e herança. Ontologias organizam o conhecimento em categorias hierárquicas e permitem raciocinar sobre objetos classificados. Categorias podem ser representadas como predicados ou objetos. A herança permite que propriedades sejam herdadas por subcategorias.
O documento descreve o funcionamento do algoritmo de backward chaining em programação lógica, começando com uma explicação geral do processo de raciocínio de trás para frente a partir de um objetivo. Em seguida, apresenta formalmente o algoritmo de backward chaining, explicando cada parte do processo de forma recursiva para encontrar substituições que satisfaçam a query dada uma base de conhecimento. Por fim, exemplifica o algoritmo em uma base de conhecimento sobre venda de armas.
O documento descreve os passos para executar resolução e encadeamento para frente em lógica de primeira ordem. Primeiro, as expressões lógicas devem ser convertidas para forma clausal sem quantificadores. Em seguida, as variáveis devem ser substituídas durante a resolução usando o processo de unificação. Por fim, a resolução é executada para derivar novas conclusões.
O documento descreve as bases de dados em lógica de primeira ordem, como interagir com elas fazendo buscas (queries) por meio de sentenças lógicas em LPO, e como qualquer query que possa ser inferida logicamente pela base de dados será respondida afirmativamente. As bases de dados contêm axiomas com informações básicas e teoremas derivados dos axiomas, e o documento discute técnicas como forward chaining, backward chaining e resolução para realizar inferência nas bases de dados.
O documento descreve uma aula sobre lógica de primeira ordem. Apresenta os elementos básicos da lógica de primeira ordem, incluindo termos, predicados e a gramática formal para construir sentenças. Também explica como modelos e interpretações funcionam na lógica de primeira ordem, diferentemente da lógica proposicional.
O documento discute inferência em lógica proposicional, incluindo tipos de provas como verificação de modelos e aplicação de regras de inferência. Ele explica como aplicar regras de inferência como modus ponens e modus tollens para derivar novas sentenças a partir de premissas, formando uma prova.
O documento descreve um algoritmo de busca retroativa para resolver problemas de satisfação de restrições, utilizando forward checking e heurísticas como valores restantes mínimos, grau e valor menos restritivo. O algoritmo é demonstrado passo a passo em um exemplo de coloração de grafos, definindo variáveis, valores e propagando escolhas.
O documento descreve problemas de satisfação de restrições (CSPs), definidos por um conjunto de variáveis, domínios de valores para cada variável, e restrições sobre combinações de valores de variáveis. Apresenta exemplos de agendamento de aulas e coloração de mapas como CSPs, definindo suas variáveis, domínios e restrições.
O documento discute algoritmos genéticos e representação de cromossomos. Ele explica que os cromossomos podem ser representados de várias formas, incluindo binária, valores inteiros e reais. A representação binária é a mais simples, onde o cromossomo consiste de uma sequência de bits. A mutação e o cruzamento ocorrem durante o algoritmo genético para gerar novas soluções.
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoMateusTavares54
Quer aprender inglês e espanhol de um jeito divertido? Aqui você encontra atividades legais para imprimir e usar. É só imprimir e começar a brincar enquanto aprende!
PP Slides Lição 11, Betel, Ordenança para exercer a fé, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 11, Betel, Ordenança para exercer a fé, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...Eró Cunha
XIV Concurso de Desenhos Afro/24
TEMA: Racismo Ambiental e Direitos Humanos
PARTICIPANTES/PÚBLICO: Estudantes regularmente matriculados em escolas públicas estaduais, municipais, IEMA e IFMA (Ensino Fundamental, Médio e EJA).
CATEGORIAS: O Concurso de Desenhos Afro acontecerá em 4 categorias:
- CATEGORIA I: Ensino Fundamental I (4º e 5º ano)
- CATEGORIA II: Ensino Fundamental II (do 6º ao 9º ano)
- CATEGORIA III: Ensino Médio (1º, 2º e 3º séries)
- CATEGORIA IV: Estudantes com Deficiência (do Ensino Fundamental e Médio)
Realização: Unidade Regional de Educação de Imperatriz/MA (UREI), através da Coordenação da Educação da Igualdade Racial de Imperatriz (CEIRI) e parceiros
OBJETIVO:
- Realizar a 14ª edição do Concurso e Exposição de Desenhos Afro/24, produzidos por estudantes de escolas públicas de Imperatriz e região tocantina. Os trabalhos deverão ser produzidos a partir de estudo, pesquisas e produção, sob orientação da equipe docente das escolas. As obras devem retratar de forma crítica, criativa e positivada a população negra e os povos originários.
- Intensificar o trabalho com as Leis 10.639/2003 e 11.645/2008, buscando, através das artes visuais, a concretização das práticas pedagógicas antirracistas.
- Instigar o reconhecimento da história, ciência, tecnologia, personalidades e cultura, ressaltando a presença e contribuição da população negra e indígena na reafirmação dos Direitos Humanos, conservação e preservação do Meio Ambiente.
Imperatriz/MA, 15 de fevereiro de 2024.
Produtora Executiva e Coordenadora Geral: Eronilde dos Santos Cunha (Eró Cunha)
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
(ACH2055) Arquitetura de Computadores - Aula 09
1. Arquitetura de Computadores
ACH2055
Aula 09 – CISC × RISC
Norton Trevisan Roman
(norton@usp.br)
22 de novembro de 2019
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 1 / 31
2. CISC × RISC
Sic erat in principio
No in´ıcio, c´odigos eram
escritos diretamente em
assembly
Existiam poucas
linguagens de alto n´ıvel
N˜ao havia grandes
preocupa¸c˜oes em adequar
o hardware a elas
Fonte: https://comic.browserling.com/32
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 2 / 31
3. CISC × RISC
Sic erat in principio
Com o tempo, contudo,
linguagens mais
poderosas, e de mais
alto n´ıvel surgiram
Permitindo ao
programador codificar os
algoritmos de forma mais
concisa
Fonte: https://medium.com/the-andela-way/
the-rise-of-modern-programming-
languages-c923a2b914fc
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 3 / 31
4. CISC × RISC
Sic erat in principio
O que fez surgir um
problema conhecido
como disparidade
semˆantica (semantic
gap)
A diferen¸ca entre as
opera¸c˜oes fornecidas por
essas linguagens e as
oferecidas pela arquitetura
Fonte: [2]
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 4 / 31
5. CISC × RISC
Sic erat in principio
Os projetistas de
hardware buscaram
reduzir ent˜ao essa
disparidade
Criando grandes conjuntos
de instru¸c˜oes
Com d´uzias de modos de
endere¸camento Fonte: [2]
E v´arios comandos de alto n´ıvel implementados em hardware
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 5 / 31
6. CISC
Nasceu assim a abordagem CISC
Complex Instruction Set Computers
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 6 / 31
7. CISC
Nasceu assim a abordagem CISC
Complex Instruction Set Computers
Objetivos
Simplificar a constru¸c˜ao de compiladores
Se as instru¸c˜oes de m´aquina parecerem com os comandos da
linguagem de alto n´ıvel, a tarefa de tradu¸c˜ao de uma para
outra ´e simplificada
Fornecer suporte a linguagens de alto n´ıvel melhores
e mais sofisticadas
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 6 / 31
8. CISC
Objetivos (cont.)
Melhorar a eficiˆencia, pela gera¸c˜ao de programas
menores e mais r´apidos
Programas menores ocupam menos mem´oria
S˜ao mais r´apidos porque precisam buscar menos instru¸c˜oes
na mem´oria, al´em de ocuparem menos p´aginas, evitando
assim page faults
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 7 / 31
9. CISC
Objetivos (cont.)
Melhorar a eficiˆencia, pela gera¸c˜ao de programas
menores e mais r´apidos
Programas menores ocupam menos mem´oria
S˜ao mais r´apidos porque precisam buscar menos instru¸c˜oes
na mem´oria, al´em de ocuparem menos p´aginas, evitando
assim page faults
Atinge esses objetivos implementando sequˆencias complexas
de opera¸c˜oes em microc´odigo
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 7 / 31
10. CISC
Objetivos (cont.)
Melhorar a eficiˆencia, pela gera¸c˜ao de programas
menores e mais r´apidos
Programas menores ocupam menos mem´oria
S˜ao mais r´apidos porque precisam buscar menos instru¸c˜oes
na mem´oria, al´em de ocuparem menos p´aginas, evitando
assim page faults
Atinge esses objetivos implementando sequˆencias complexas
de opera¸c˜oes em microc´odigo
Microc´odigo?
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 7 / 31
11. CISC
Microc´odigo
Conjunto de instru¸c˜oes elementares em um modelo
CISC
Reside em mem´oria separada (Ex: ROM)
Serve como uma camada de tradu¸c˜ao entre as instru¸c˜oes de
m´aquina e o circuito
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 8 / 31
12. CISC
Microc´odigo
Conjunto de instru¸c˜oes elementares em um modelo
CISC
Reside em mem´oria separada (Ex: ROM)
Serve como uma camada de tradu¸c˜ao entre as instru¸c˜oes de
m´aquina e o circuito
Permite a cria¸c˜ao de instru¸c˜oes sem implementa¸c˜ao
direta no circuito
Seu microc´odigo ´e que possui tal implementa¸c˜ao
Uma ´unica instru¸c˜ao no microc´odigo ´e chamada de
microinstru¸c˜ao
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 8 / 31
13. CISC
Microc´odigo
Passos de um programa em CISC:
O c´odigo fonte ´e traduzido em
instru¸c˜oes de m´aquina (pelo compilador
ou assembler)
Em tempo de execu¸c˜ao, essas instru¸c˜oes
s˜ao convertidas em microinstru¸c˜oes
Essas microinstru¸c˜oes, por sua vez,
interagem com o circuito Fonte: [4]
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 9 / 31
14. CISC
Mas nem tudo ´e um mar de rosas...
Instru¸c˜oes complexas s˜ao de dif´ıcil aplica¸c˜ao
O compilador precisa encontrar os casos que casam
exatamente com a sequˆencia de alto n´ıvel
A otimiza¸c˜ao do c´odigo gerado (para minimizar seu
tamanho, reduzir o n´umero de instru¸c˜oes e melhorar o uso
da pipeline) ´e mais dif´ıcil com um conjunto de instru¸c˜oes
complexo
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 10 / 31
15. CISC
Mas nem tudo ´e um mar de rosas...
Instru¸c˜oes complexas s˜ao de dif´ıcil aplica¸c˜ao
O compilador precisa encontrar os casos que casam
exatamente com a sequˆencia de alto n´ıvel
A otimiza¸c˜ao do c´odigo gerado (para minimizar seu
tamanho, reduzir o n´umero de instru¸c˜oes e melhorar o uso
da pipeline) ´e mais dif´ıcil com um conjunto de instru¸c˜oes
complexo
Por conterem mais instru¸c˜oes, s˜ao necess´arios
opcodes maiores
Gerando assim instru¸c˜oes mais longas
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 10 / 31
16. CISC
Mas nem tudo ´e um mar de rosas...
Ent˜ao programas em CISC podem at´e conter menos
instru¸c˜oes
Mas as instru¸c˜oes s˜ao maiores, ocupando mais mem´oria
N˜ao ´e garantido que os programas ser˜ao menores realmente
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 11 / 31
17. CISC
Mas nem tudo ´e um mar de rosas...
Ent˜ao programas em CISC podem at´e conter menos
instru¸c˜oes
Mas as instru¸c˜oes s˜ao maiores, ocupando mais mem´oria
N˜ao ´e garantido que os programas ser˜ao menores realmente
A existˆencia de um conjunto de instru¸c˜oes maior
aumenta a complexidade da unidade de controle
Aumentando o tempo de execu¸c˜ao das instru¸c˜oes mais
simples, que deveriam ser mais r´apidas
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 11 / 31
18. CISC
Mas nem tudo ´e um mar de rosas...
At´e faz sentido que opera¸c˜oes complexas executem
mais r´apido como uma ´unica instru¸c˜ao
Mas para isso elas precisam ser usadas de fato
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 12 / 31
19. CISC
Mas nem tudo ´e um mar de rosas...
At´e faz sentido que opera¸c˜oes complexas executem
mais r´apido como uma ´unica instru¸c˜ao
Mas para isso elas precisam ser usadas de fato
V´arios estudos apontam para a predominˆancia de comandos
de atribui¸c˜ao (especialmente do tipo A ← B), e condicionais
(if s e la¸cos)
Al´em da maioria das referˆencias serem feitas a vari´aveis
escalares simples e locais (dentro de sub-rotinas)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 12 / 31
20. CISC
Mas nem tudo ´e um mar de rosas...
At´e faz sentido que opera¸c˜oes complexas executem
mais r´apido como uma ´unica instru¸c˜ao
Mas para isso elas precisam ser usadas de fato
V´arios estudos apontam para a predominˆancia de comandos
de atribui¸c˜ao (especialmente do tipo A ← B), e condicionais
(if s e la¸cos)
Al´em da maioria das referˆencias serem feitas a vari´aveis
escalares simples e locais (dentro de sub-rotinas)
Ent˜ao esse ganho ´e realmente observado, se as instru¸c˜oes
usadas s˜ao as relativamente simples?
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 12 / 31
21. CISC × RISC
RISC
Esse cen´ario fez com que uma nova abordagem
fosse proposta
Projetar uma arquitetura que dˆe suporte a linguagens mais
simples, em vez de mais complexas
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 13 / 31
22. CISC × RISC
RISC
Esse cen´ario fez com que uma nova abordagem
fosse proposta
Projetar uma arquitetura que dˆe suporte a linguagens mais
simples, em vez de mais complexas
Nasce assim a arquitetura RISC
Reduced Instruction Set Computer
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 13 / 31
23. RISC
Caracter´ısticas
Uma instru¸c˜ao por ciclo de
m´aquina
Um ciclo de m´aquina ´e o tempo que
leva para ler 2 operandos de
registradores, executar uma opera¸c˜ao na
ALU, e armazenar o resultado em um
registrador (um est´agio da pipeline)
Com isso, n˜ao h´a necessidade de
microc´odigo
Fonte: [4]
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 14 / 31
25. RISC
Caracter´ısticas
Opera¸c˜oes registrador-registrador
Apenas opera¸c˜oes de load e store acessam a mem´oria
Isso simplifica o conjunto de instru¸c˜oes e a unidade de
controle
Grande n´umero de registradores
De modo a otimizar a referˆencia a operadores
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 15 / 31
26. RISC
Caracter´ısticas
Opera¸c˜oes registrador-registrador
Apenas opera¸c˜oes de load e store acessam a mem´oria
Isso simplifica o conjunto de instru¸c˜oes e a unidade de
controle
Grande n´umero de registradores
De modo a otimizar a referˆencia a operadores
Modos simples de endere¸camento
Enfatizam as referˆencias a registradores em vez de mem´oria,
exigindo assim menos bits para endere¸camento
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 15 / 31
27. RISC
Caracter´ısticas
Formatos simples de instru¸c˜ao
Apenas uns poucos formatos s˜ao usados (em MIPS, tipo-R,
tipo-I e tipo-J)
O tamanho das instru¸c˜oes ´e fixo, facilitando assim sua busca
As instru¸c˜oes s˜ao alinhadas aos limites das palavras,
evitando que elas ultrapassem as bordas das p´aginas
Campos em instru¸c˜oes (especialmente o opcode) s˜ao fixos,
fazendo com que a decodifica¸c˜ao e acesso a registradores
possa ocorrer ao mesmo tempo e simplificando a unidade de
controle
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 16 / 31
28. RISC
Vantagens
Aproveita-se do fato de que a maioria das instru¸c˜oes
geradas por computadores s˜ao simples
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 17 / 31
29. RISC
Vantagens
Aproveita-se do fato de que a maioria das instru¸c˜oes
geradas por computadores s˜ao simples
Pela natureza simples e regular do RISC, esquemas
eficientes de pipeline podem ser empregados
H´a pouca varia¸c˜ao no tempo de execu¸c˜ao das instru¸c˜oes,
permitindo a adequa¸c˜ao da pipeline a isso
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 17 / 31
30. RISC
Vantagens
Aproveita-se do fato de que a maioria das instru¸c˜oes
geradas por computadores s˜ao simples
Pela natureza simples e regular do RISC, esquemas
eficientes de pipeline podem ser empregados
H´a pouca varia¸c˜ao no tempo de execu¸c˜ao das instru¸c˜oes,
permitindo a adequa¸c˜ao da pipeline a isso
Permite a aplica¸c˜ao de delayed branch
Quando rearranjamos as instru¸c˜oes para evitar bolhas
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 17 / 31
31. CISC × RISC
Compara¸c˜ao
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
32. CISC × RISC
Compara¸c˜ao
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
33. CISC × RISC
Compara¸c˜ao
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
34. CISC × RISC
Compara¸c˜ao
mult ´e traduzida em
microc´odigo antes de rodar
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
35. CISC × RISC
Compara¸c˜ao
No caso de CISC,
n˜ao h´a reaproveita-
mento de registradores
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
36. CISC × RISC
Compara¸c˜ao
At´e porque n˜ao sabemos
em quais registradores
est˜ao os operandos
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
37. CISC × RISC
Compara¸c˜ao
Ou ent˜ao porque sempre
os mesmos s˜ao usados,
e n˜ao h´a como garantir
que o valor continuar´a l´a
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
38. CISC × RISC
Compara¸c˜ao
Ent˜ao se um dos ope-
randos for usado em
outro c´alculo, ter´a
de ser recarregado
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
39. CISC × RISC
Compara¸c˜ao
No caso de RISC, basta
reutilizar o registrador
Ex: x = x * y
Com x e y nos endere¸cos de mem´oria e1 e e2,
respectivamente
CISC
mult e1, e2
RISC
lw $t1, 0(e1)
lw $t2, 0(e2)
mul $t3, $t1, $t2
sw $t3, 0(e1)
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 18 / 31
40. CISC × RISC
Compara¸c˜ao
CISC RISC
Inclui instru¸c˜oes com m´ultiplos
ciclos
Instru¸c˜oes de ciclo ´unico
Mem´oria-para-mem´oria Registrador-para-registrador
load e store incorporadas `as
instru¸c˜oes
load e store como instru¸c˜oes
independentes
C´odigos pequenos C´odigos grandes
CPI alta CPI baixa
Precisa de mem´oria para arma-
zenar instru¸c˜oes complexas
Precisa de mais registradores
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 19 / 31
41. CISC × RISC
Compara¸c˜ao
CISC RISC
Ou restringem interrup¸c˜oes aos
limites das instru¸c˜oes, ou defi-
nem pontos espec´ıficos em que
podem ocorrer, com algum me-
canismo para rein´ıcio da ins-
tru¸c˜ao
Responde melhor a inter-
rup¸c˜oes, pois estas s˜ao
checadas entre opera¸c˜oes mais
elementares
i386, i486 (fam´ılia Intel x86) SUN Sparc, MIPS R2000 -
R5000
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 20 / 31
43. CISC × RISC
Compara¸c˜ao
tP = nP × CPIP × tc
CISC RISC
Reduz o n´umero de instru¸c˜oes
(nP) de um programa, sacrifi-
cando sua CPI
Reduz a CPI do programa, `as
custas de seu n´umero de ins-
tru¸c˜oes
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 22 / 31
44. CISC × RISC
E qual ´e a melhor?
Dif´ıcil medir
N˜ao h´a 2 m´aquinas RISC e CISC compar´aveis em termos de
custo, tecnologia, complexidade, suporte de S.O. ou
sofistica¸c˜ao do compilador
N˜ao h´a benchmark definitivo, e o desempenho depende do
programa
´E dif´ıcil separar efeitos devidos ao hardware dos devidos ao
compilador
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 23 / 31
45. CISC × RISC
A situa¸c˜ao hoje
Muito da controv´ersia j´a desapareceu, dando lugar a
uma convergˆencia de tecnologias
Com o aumento da densidade dos chips e velocidade do
hardware, sistemas RISC ficaram mais complexos
Ao mesmo tempo, arquiteturas CISC come¸caram a dar mais
ˆenfase ao projeto da pipeline e ao uso de registradores gerais
Fornecendo instru¸c˜oes registrador-para-registrador, al´em das
mem´oria-para-mem´oria
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 24 / 31
46. CISC × RISC
A situa¸c˜ao hoje
Como resultado, RISCs recentes, como o PowerPC,
n˜ao s˜ao puramente RISC
E CISCs recentes como Pentium II e posteriores, incorporam
algumas caracter´ısticas RISC
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 25 / 31
47. CISC × RISC
ISA e Microarquitetura
CISC e RISC s˜ao tipos
de ISA
Instruction Set
Architecture
O conjunto de instru¸c˜oes,
conforme apresentado ao
programador
Ex: MIPS, x86
Fonte: http://accs.magnumdev.webfactional.com/
shakti-an-open-source-processor-ecosystem/3/
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 26 / 31
48. CISC × RISC
ISA e Microarquitetura
A implementa¸c˜ao desse
conjunto no circuito ´e
conhecida como
microarquitetura
Uma mesma ISA pode ser
implementada por diferentes
microarquiteturas
Fonte: [6]
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 27 / 31
49. CISC × RISC
ISA e Microarquitetura
A arquitetura de um
computador ´e ent˜ao a
combina¸c˜ao de sua
microarquitetura e sua ISA
Fonte: [6]
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 28 / 31
50. CISC × RISC
ISA e Microarquitetura
A separa¸c˜ao
ISA/Microarquitetura faz
com que software escrito
para uma ISA possa rodar em
todas suas implementa¸c˜oes
Ex: Core 2 Duo e Athlon
possuem diferentes
microarquiteturas, embora
implementem praticamente a
mesma vers˜ao do x86 Fonte: [6]
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 29 / 31
51. Referˆencias
1 Stallings, W (2010): Computer Organization and Architecture: Designing
for Performance. Prentice Hall. 8a
ed.
2 https://fractalide.com/blog/2018-11-23-the-semantic-gap.
html
3 https://cs.stanford.edu/people/eroberts/courses/soco/
projects/risc/risccisc/
4 PC Magazine Encyclopedia
https:
//www.pcmag.com/encyclopedia/term/46918/microcode
https://www.pcmag.com/encyclopedia/term/50548/risc
https://www.pcmag.com/encyclopedia/term/46940/
microinstruction
Norton Trevisan Roman (norton@usp.br) 22 de novembro de 2019 30 / 31