Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
+ Introdução à Ciência da Computação Heitor S. Ramos + Conceitos de Hardware e Software Um computador é constituído por um conjunto de componentes interligados, composto por processadores, memória, registradores, terminais, impressoras, discos, além de outros dispositivos físicos. + A CPU A Unidade Central de Processamento (UCP ou CPU, em inglês), ou processador, tem como função principal unificar todo o sistema, controlando as funções realizadas por cada unidade funcional. Ela também é responsável pela execução de todos os programas do sistema, que obrigatoriamente deverão estar armazenados em memória principal. Composta por dois componentes básicos: Unidade de controle (UC): responsável por controlar as atividades de todos os componentes do computador Unidade aritimética (ULA): responsável pela realização de operações lógicas (testes e comparações) e aritméticas (somas e subtrações) + A CPU A especificação da velocidade de processamento de uma CPU é determinada pelo número de instruções executadas por unidade de tempo Será que essa comparação é justa? Como você compararia processadores? Clock É um dispositivo localizado na CPU que gera pulsos elétricos síncronos em um determinado intervalo de tempo (medido em Hz) Dá para comparar 2 CPUs através do clock? + Registradores São dispositivos de alta velocidade, localizados na CPU para armazenamento temporário de dados. O número de registradores varia em função da arquitetura de cada processaodor Registradores que merecem destaque: Registrador temporário de dados (MBR) Registrador de endereçamento à memória (MAR) Registrador de instruções (IR) Registrador de armazenamento temporário de instruçòes (IBR) Contador de Programa (PC) + Exemplo de execução 0001 – carregar AC a partir do endereço de memória especificado 0010 – armazenar o valor contido em AC no endereço de memória especificado 0101 – acrescentar ao valor contido em AC o valor contido no endereço de memória especificado + Registradores + Memória Principal Memória de armazenamento de instruções e dados Composta por unidades chamadas de células O bit é a unidade básica de memória (0 ou 1) Tipicamente uma célula é composta por 8bits + Ciclos de leitura e gravação Leitura A CPU armazena no MAR o endereço da célula a ser lida A CPU gera um sinal de controle para a memória principal, indicando que uma operação de leitura deve ser realizada O conteúdo da(s) célula(s) identificada(s) pelo endereço contido no MAR é transferido para o MBR Escrita A CPU armazena no MAR o endereço da célula que será gravada A CPU armazena no MBR a informação que deverá ser gravada A CPU gera um sinal de controle para a memória principal indicando que uma operação de gravação deve ser realizada A informaçao contida no MBR é transferida para a célula de memória endereçada pelo MAR + Memória Cache É uma memória volátil de alta velocidade. O tempo de acesso a um dado nela contido é muito menor que o da memória principal + Memória secundária É um meio permanente de armazenamento de programas e dados. Enquanto a memória principal precisa estar sempre energizada para manter informações, a memória secundária não precisa de alimentação. O acesso é, geralmente lento. + Dispositivos de Entrada/Saída Utilizados para permitir a comunicação entre o computador e o mundo externo Podem ser utilizados como memória secundária: pendrive, disquete (alguém sabe o que é isso?), DVD, CD, Disco externo Também podem ser utilizados para comunicação homem- máquina (teclados, mouses, trackpads, etc..) + Barramento A CPU, a memória principal e os dispositivos de E/S são interligados através de linhas de comunicação denominadas barramentos, barras ou vias. Um barramento é um conjnto de fios paralelos onde trafegam informações como dados, endereços ou sinais de controle. + Pipelining Conceito que se asemelha a uma linha de montagem, onde uma tarefa é dividida em uma sequência de subtarefas + Sistema Operacional Inicialização do Sistema A ativiação do sistema (boot) é realizada por um programa localizado em uma posição específica do disco (boot block), geralmente o primeiro bloco. O procedimento de ativação varia em função do equipamento. Disco Memória Principal + Arquiteturas RISC e CISC RISC (reduced instruction set computer) é um processador que possui poucas instruções de máquina, em geral bem simples, que são executadas diretamente pelo hardware. Em geral essas instruções não acessam memória principal, trabalham diretamente com registradores. Isso facilita a implementação do pipeline e aumenta a velocidade da execução CISC (complex instruction set computer) são processadores com instruções complexas que são interpretadas por microprogramas. O número de registradores é pequeno e qualquer instrução pode referenciar a memória principal + Software Dá utilidade ao hardware + Sistema Operacional Conjunto de rotinas executado pelo processador, ou seja, um programa como outro qualquer. Sua principal função é controlar o funcionamento do computador, como um gerente dos diversos recursos disponíveis no sistema Principais funcionalidades: Facilidade de acesso ao recursos do sistema Compartilhamento de recursos de forma organizada e protegida + Sistema Operacional Gerenciamento de processos Comunicação entre processos Gerência do processador Gerência de memória Sistemas de arquivos Gerência de dispositivos + Sistema Operacional + Tradutor Tradutor: Traduzem os programas escritos em linguagens de mais alto nível para programas que o hardware pode entender. Pode ser: Montador: utilitário repsonsável por gerar, apartir de um programa escrito em linguagem de montagem (assembly), um programa em linguagem de máquina não executável (módulo objeto) Compilador: utilitário responsável por gerar, a partir de um programa escrito em uma linguagem de alto nível, um programa em linguagem de máquina não executável + Tradutor + Interpretador Tradutor que não gera código objeto. A partir de um programa fonte, o interpretador traduz cada instrução e a executa em seguida Problema de desempenho pois toda execução é precedida de uma interpretação A vantagem é permitir a implementação de dados dinâmicos. + Linker Utilitário responsável por gerar, a partir de um ou mais módulos objeto, um único programa executável. Suas funções básicas são resolver todas as referências simbólicas existentes entre os módulos e reservar memória para executar os programas. Para resolver as referências simbólicas o linker também pode pesquisar em bibliotecas do sistema ou do próprio usuário. Bibliotecas são arquivos que contém diversos módulos objetos e/ou definição de símbolos + Loader Utilitário responsável por colocar fisicamente na memória um programa para execução. Loader absoluto: sempre aloca o programa no mesmo lugar da memória Loader relocável: o programa pode ser carregado em qualquer posição da memória + Depurador Utilitário que permite ao usuário controlar toda a execução de um programa a fim de detectar erros Acompanha a execução de um programa, instrução a instrução Possibilita a alteração e visualização do conteúdo de variáveis Implementa pontos de parada dentro de um programa Especifica que toda vez que o conteúdo de uma variável for modificado, o programa envie uma mensagem + Linguagem de Controle Também denominada linguagem de commando, é a forma mais direta de um usuário se comunicar com um sistema operacional. Esta linguagem é oferecida por cada Sistema operacional para que, através de commandos simples, o usuário possa ter acesso a rotinas específicas do sistema. + Linguagem de Máquina Linguagem de programação entendida pelo processador. Cada processador possui um conjunto único de instruções de máquina, definido pelo fabricante. As instruções especificam detalhes como registradores, modos de endereçamento e tipos de dados, por exemplo. O programa em linguagem de máquina pode ser diretamente executado pela CPU. Um programa escrito em linguagem de máquina não pode ser executado em outra máquina diferente pois o conjunto de instruções de uma máquina é uma característica específica de cada processador. MZÀ�$Pÿv�èŠÿ]Ë3ÀP¸�F� ë�ƒF��¸�< uè2Àëä�Àt�Bª Àu�C†à2Àùã�¬I, "t��"<\u�€<"u�¬I�öÕ•é�îY�Ê.Ž�t�‰�”�C�Û�Û‹ô‹ì+ërâ‹å‰. –�Œ��˜ã�‰v¸�vüÿv� ÿv�•�èÅ�ƒÄ�ÿvþÿvü•�èüêYY‹V�‹F�ë�Rÿvþÿvü•�è WíƒÄ�‹å]ËU‹ìƒìHVW‹~�‹F�‰Fþ�Àu ´�Í!´3À镊�‹˜ØŠ‡Ïn + Microprogramação Um programa em linguagem de máquina é executado diretamente pelo hardware em processadores de arquitetura RISC, porém em máquinas CISC isso não acontece. Neste caso, entre os níveis de linguagem de máquina e o hardware ainda existe a microprogramação Neste caso, o código exectuável é interpretado por microprogramas durante sua execução, gerando microinstruções que são executadas pelo hardware. Para cada instrução existe um microprograma associado Aplicativos Utilitários Sistema Operacional Linguagem de máquina Microprogramação Dispositivos Físicos