Buscar

Aspectos Básicos dos Sistemas de Computação - Parte 1

Prévia do material em texto

CURSO: CIÊNCIA DA COMPUTAÇÃO 
DISCIPLINA: TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORES 
TEMA 1: Aspectos Básicos dos Sistemas de Computação-parte 1 
 
 
TEXTO PARA APOIO AO ESTUDO (estudo antes da atividade em sala) 
 
I - INTRODUÇÃO 
 
Esta disciplina trata de alguns Tópicos sobre Arquitetura de Computadores, abordados com mais profundidade 
que nos cursos regulares desse assunto. 
Assim, serão tratados, mais especificamente, os seguintes assuntos: 
• Sobre Memória- como se realiza efetivamente o processo de endereçamento de uma posição de 
memória, para se concretizar um ciclo de leitura ou de escrita 
• Ainda sobre Memória – elementos de projeto e funcionamento das memórias Cache. 
• Aritmética em computadores – como representar dados e efetuar operações aritméticas nas 
unidades de execução. 
• Paralelelismo – como otimizar o processamento em dispositivos mais modernos, por emio do uso de 
paralelismo em suas diversas formas. 
• Arquiteturas da atualidade – Arquitetura ARM e de 64 bits 
 
Antes de se entrar no assunto propriamente dito da disciplina, considera-se importante e necessário reavivar o 
conhecimento de aspectos básicos da computação e da arquitetura dos computadores, de modo a não se perder 
tempo com explicações repetidas de tópicos anteriores. 
Assim, este Tema e o próximo tratarão de uma breve revisão dos referidos assuntos. 
 
II – SUMÁRIO DOS TEMAS 1 e 2 
 
• Estrutura Básica dos Sistemas de Computação 
• Elementos de projeto de Processadores 
• Considerações sobre Memórias 
• Considerações sobre Barramentos 
• Circuitos Digitais-Portas Lógicas 
• Considerações sobre Execução de Programas 
 
III – O SISTEMA DE COMPUTAÇÃO 
 
Conforme é do conhecimento dos que já estudaram Arquitetura de Computadores, um Sistema de Computação (ou 
mais popularmente, um Computador) é uma máquina projetada com o propósito de realizar de forma automática 
uma sequência logicamente ordenada de pequenas operações (usualmente operações matemáticas) e, assim, 
solucionar um problema ou produzir uma informação útil. Estas operações podem ser do tipo: somar 2 números ou 
mover um valor de um local para outro no sistema ou decidir se vai se realizar uma operação ou outra conforme o 
atendimento ou não de uma condição. 
A atividade de realização dessas operações ocorre com os seres humanos desde muito tempo, muito antes do 
surgimento dos computadores, sendo realizada, naquela época, de forma manual, uma por uma, pelo ser humano. 
A partir do desenvolvimento dos computadores, essas operações passaram a ser conhecidas como 
“processamento” e os valores a serem manipulados nas operações (ou processados) passaram a ser conhecidos 
como dados. 
Dessa forma, processamento de dados é uma atividade muito remota (embora não com esse nome), muitos 
séculos antes da década de 1940, quando apareceram os primeiros computadores. 
 
 
Figura 1 
 
A figura 1 mostra as etapas básicas de realização de um processamento de dados. 
Suponha, por exemplo, a obtenção da média aritmética de uma turma de alunos em uma escola e cujos graus em uma 
prova foram registrados. Conforme se sabe, o grau individual de cada aluno é o dado (o conjunto de graus são os dados a serem 
manipulados). Para obter a média, que é o resultado ou informação desejados, é preciso somar os graus de todos os alunos que 
fizeram prova (dados) e dividir o resultado da soma pela quantidade de alunos (princípio da média aritmética), que se constitui no 
processamento. Então, a sequência ENTRADA – PROCESSAMENTO vai repetidamente ocorrendo para cada novo grau, até se 
atingir o último grau. Neste ponto, então, divide-se o total pela quantidade de notas e se obtém a média, a Informação desejada, 
a qual será apresentada na SAÍDA. 
O conjunto dessas etapas, o passo a passo para calcular a média final é denominado em Informática (em processamento 
de dados) de um algoritmo. Sabe-se que a conversão de um algoritmo em comandos (ou instruções) em uma determinada 
linguagem, é denominado de programa de computador. E a referida linguagem é conhecida como linguagem de programação. 
As mencionadas etapas são: 
- Buscar uma nota (entrada do dado), 
- Somar com o valor existente - se for a 1ª nota, o valor existente é igual a zero (processamento); 
- Buscar outra nota (enquanto houver notas), somar com novo valor existente; 
- Acrescentar um ao contador de alunos (para se obter o divisor final-total de alunos) e 
- Assim, o resultado (saída) vai sendo sucessivamente aumentado com as novas somas; 
-.Ao obter e somar a última nota, efetua-se a divisão. 
A execução desse conjunto de etapas (algoritmo) caracteriza a atividade de processamento. 
Então, o processamento não é uma única atividade, mas sim um conjunto de atividades ou operações, que são ordenadas 
e sistematicamente realizadas, segundo uma determinada sequência logicamente definida pelo usuário (algoritmo). Se for alterada 
a sequência de realização das ações (mesmo que usando os mesmos dados), altera-se naturalmente o resultado obtido. Este é um 
ponto importante, pois não se altera elementos de hardware e sim de software para se obter novos resultados. 
 Um computador ou sistema de computação compreende duas partes básicas: a parte física, genericamente 
chamada de Hardware e a parte lógica (Software), conforme mostrado exemplo nas figuras 2 e 3. 
 
 
 
 
 
 
 
 
Figura 3-Software 
 
Ora, os computadores surgiram com o objetivo de automatizar e, com isso, acelerar a realização do 
processamento de dados, até então realizado de forma manual e, assim, lenta e com erros. O objetivo dos 
computadores: 
 
 
 
 
 
A parte importante deste objetivo é realizar a automatização do processamento de dados; isso é que torna a 
máquina muito rápida. O automatismo consiste na realização de sucessivas atividades sem intervenção externa. 
 
EXEMPLO: diferença entre o funcionamento de um carro chamado mecânico (motorista precisa selecionar 
manualmente cada marcha de velocidade) e outro dito automático (a seleção das marchas é realizada sem 
intervenção do motorista, decidida internamente por programação prévia). 
 
Desta forma, os arquitetos dos computadores criaram o seu projeto considerando aquelas atividades: ENTRADA 
– PROCESSAMENTO – SAÍDA, ou seja, a máquina precisava possuir dispositivos que realizassem as mesmas 
atividades, só que de forma a uma se seguir a outra sem intervenção humana. Para isso, observaram que seria 
necessário que a sequência de ordens (instruções) estivesse no interior da máquina. Além disso, criaram um 
mecanismo que passe de uma instrução para outra sem intervenção (isso é que realmente automatiza o 
processo). 
 
A figura 4 mostra um exemplo da estrutura básica de componentes de um computador genérico. 
 
 
 
Figura 4 – Exemplo da estrurra básica de um SC 
Parte abstrata, não visível, que consiste em 
ordens para o hardware executar alguma 
atividade. 
SOFTWARE 
Realizar operações simples, de forma repetitiva e automática. 
Conforme se observa da figura acima, os dispositivos são a imagem e semelhança das atividades de PD, exceto 
os dispositivos de armazenamento, desenvolvidos para armazenar tanto as instruções quanto os dados a serem 
processados, viabilizando, assim, a automatização do processo. Assim, tem-se, pelo menos, um dispositivo de 
entrada (atualmente pode-se exemplificar como um teclado) e um dispositivo de saída (como um vídeo ou 
impressora); ainda se tem o componente principal, o processador. 
Para armazenar os dados e instruções, que implementam o automatismo das operações, observa-se dois 
elementos de armazenamento, uma memória volátil (usualmente muito rápida, embora de custo elevado e que, 
face sua rapidez serve de conexão com o processador durante uma execução de programa), como, p.ex., a 
memória RAM; além dessa, observa-se um memória não volátil, como um HD ou SSD e que serve de 
armazenamento permanente, sendo de muito maior capacidade, embora mais lenta. 
 
De uma forma mais efetiva, essescomponentes se organizam de forma que a transferência dos dados (os sinais 
elétricos) transitem de um componente para outro por fios condutores que, em conjunto, chamam-se 
Barramentos, conforme mostrado na figura 5. 
 
 
Figura 5- Exemplo de uma estrutura de componentes de um computador e suas conexões 
 
 
IV- ELEMENTOS DE PROJETO DOS PROCESSADORES 
 
Por se tratar de um texto resumido sobre assunto abordado anteriormente, pode-se simplificar a explicação 
sobre a organização e funções dos componentes básicos de um computador, iniciando-se pelos elementos de 
projeto dos processadores. Estes, como já se sabe, são projetados para interpretar e realizar operações muito 
simples, chamadas primitivas. Por exemplo: somar dois números e guardar seu resultado ou mover um número 
de um local de armazenamento para outro ou capturar um número de um elemento de entrada. 
 
Sendo uma máquina eletrônica, as informações e comandos deve ser representados como sinais elétricos e, para 
que o ser humano (operador projetista ou programador) possa se comunicar com a máquina, substitui-se 
logicamente os sinais elétricos por valores lógicos 0 ou 1, chamados BITS. 
 
Uma sequência de bits que permite ao processador interpretar o que tem que fazer e efetivamente realizar a 
operação interpretada é chamada de INSTRUÇÃO DE MÁQUINA. A seguir, mostra-se um exemplo desse elemento 
do projeto de um processador, para representar um instrução de somar 2 números. 
 
 110101 1010101010101010101010 
 Cód Op Operandos (Op) 
 
Os 6 bits mais à esquerda indicam para o processador o que fazer (qual operação) e como fazer a operação e os 
demais indicam a localização dos números a serem manipulados e onde armazenar o resultado dessa operação. 
 
Uma instrução, então, instrui o processador a executar uma operação e também qual deve ser a próxima a ser 
executada e assim, sucessivamente ele vai executando a s operações (instruções) seguintes. 
A sequência de atividades para realizar UM ÚNICA operação (algoritmo de execução) é conhecida como CICLO 
DE INSTRUÇÃO, sendo o elemento primordial de um computador para fazer o que todos fazem. O projeto dos 
componentes interno de um processador se baseia na necessidade de realizar os ciclos de cada instrução de 
forma mais rápida possível. A figura 6 mostra as etapas principais de um ciclo de instrução. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 6 – Etapas de um Ciclo de Instrução 
 
 
Basicamente, a quase totalidade dos componentes de um processador são criados para realizar algumas das 
atividades mostrada na figura 6. 
Um dos mais importantes dispositivos dos processadores é o registrador conhecido como Contador de Instrução-
CI (Programa Counter-PC). Seu conteúdo é um número que representa o endereço da próxima instrução a ser 
executada; também é chamado Instruction Pointer (Intel) ou ponteiro da instrução. Desse modo, a sequência de 
execução de um programa ou até mesmo a troca de programas em execução, que o Sistema Operacional 
controla, depende fundamentalmente de seu conteúdo. 
 
Na prática, o CI é incrementado de um valor que aponta sempre para o endereço seguinte da memória, supondo-
se que o programa está executando uma instrução em seguida da outra (Princípio da Localidade). No entanto, há 
situações em que há necessidade de se altera substancialmente essa sequência (comandos de desvio); nesse 
caso, há instruções específicas que alteram o conteúdo do CI. 
 
O CI é um dispositivo de armazenamento de uma categoria que se chama genericamente de REGISTRADORES, 
CONFORME JÁ EXPLICADO E EXEMPLIFICADO ANTERIORMENTE (disciplina Arquitetura de Computadores). Esta 
Buscar instrução na memória 
Inc CI p/ apontar pro x. 
Decodificaça o 
Buscar operandos(se houver) 
Executar operaça o 
Escrever resultado 
Te rmino 
Iní cio 
categoria é um tipo muito especial, já que, mesmo sendo uma memória como outra qualquer (armazena bits de 
informação), eles possuem características muito particulares, que os diferenciam dos demais tipos de memória 
(como Cache, RAM, HDs, etc). Essas características básicas de registradores são: 
 
- velocidade – trata-se do dispositivo de armazenamento com menor tempo de acesso (mais rápido) enter todo 
os demais de um computador – atualmente, na ordem de 1 a 10 ns (nanosegs) e muitos já com menos ainda 
(picosegs). 
 
- Armazenam apenas UM ÚNICO valor e não milhares ou milhões de bytes como as demais memórias. Por essa 
razão, usa-se diversos registradores, um para cada valor (sendo identificados no plural – registradores). 
 
- Usualmente, os registradores são localizados majoritariamente no interior dos processadores, podendo 
armazenar, temporariamente Dados (registradores de dados) – que serão manipulados pela ULA ou resultados 
de operações; Endereços – para acesso a posição de memória; Controle – informações de controle para auxiliar 
em um processamento, tais como o CI – contador de instrução e RI – registrador de instrução. 
Largura (quantidade de bits) – seus valores são fixos, conforme definido pelo fabricante para o tamanho limite 
de um dado a ser manipulado pela ULA. No início da computação, com os computadores de grande porte (main 
frames) era de 32 bits. Com os microcomputadores, começaram com 8 bits (Intel 8080/85, Motorola 6800, etc), 
depois passaram para 16 bits, com os IBM-PC e, posteriormente (1985) para 32 bits, com Intel 386. Finalmente, 
por volta de 1999, surgiram os processadores de 64 bits (em 1992, a DEC lançou um processador de 64 bits, o 
chip Alpha, até hoje em funcionamento em certos processadores HP). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AS INFORMAÇÕES CONTIDAS NESTE MATERIAL DE APOIO AO ESTUDO FORAM EXTRAÍDAS DAS SEGUINTES 
PUBLICAÇÕES: 
MONTEIRO, M. Introdução à organização de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 
STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson Prentice Hall, 2010. 
TANENBAUM, A. S. Organização estruturada de computadores. 5. ed. Rio de Janeiro: LTC, 2007. 
Null, Linda - Computer Organization and Architecture 
PATTERSON, D e Hennesy, J. Computer Organization and Design, The Hardware/Software Interface. 
Textos na Internet

Continue navegando