Wikiversidade:Visão de Alto Nível da Função e Interconexão do Computador
Visão de Alto Nível da Função e Interconexão do Computador
Uma interconexão é uma variável que depende de uma série de comportamentos de um sistema, de forma geral para um computador estabelecer uma conexão é necessário componentes que realizam essa ação, como por exemplo, um processador, uma memória principal e módulos de E/S(entrada e saída).[1]
A partir da ideia de que uma máquina precisa ter componentes básicos para estabelecer uma conexão, é possível entender que existem hierarquias de funcionamento, elementos de barramento e também falhas - todavia quando apresenta falha, há a necessidade de melhoramento.[1]
Componentes do Computador
[editar código]Um computador possuí diversos componentes diferentes, com características e funções únicas. Para a lógica de interconexão, os componentes que são retratados são:
- CPU: Interpretador de instrução e módulo para funções aritméticas e lógicas de uso Geral;
- Módulo de Entrada: Dados e instruções que precisam entrar no sistema são convertidos em sinais;
- Módulo de Saída: Informa os resultados do sistema após aplicação/amostragem da lógica efetuada;
- Memória: Local onde é armazenado as informações que entram pelo módulo de entrada, de forma sequencial ou não (instrução jump dp IAS) - Não é armazenamento externo;
As principais interações que o sistema faz é entre:
- CPU e Memória: Nessa interação é utilizado dois registradores internos à CPU - Registrador de endereço de memória (MAR), sua função é de especificar o endereço na memória para uma próxima leitura ou escrita, e o Registrador de buffer de memória (MBR), ele contém os dados a serem escritos na memória ou recebe os dados que foram lidos na memória;
- Módulo de E/S e CPU: Nessa interação a função principal é a troca de dados entre eles e para que isso ocorra é necessário um Registrador de E/S (I/O AR) e um Registrador dee buffer de E/S (I/O BR).
- Módulos de Memória: Neste módulo há endereços numerados sequencialmente e cada um possui uma combinação de números binários que são interpretados.
Através do funcionamento correto dos componentes inicia a parte lógica e programática da máquina: A programação dos componentes.[1]
A lógica por trás de todo esse funcionamento gira em torno de sequenciar as informações e combinar ações que os componentes precisam realizar, a partir da idealização da lógica o programa resultante que "comandará" o hardware é chamado de Programa Hardwired.[1]
Com o programa realizado é necessário suporte às falhas que poderão acontecer, neste caso também convém atualizações do sistema.[1]
Resumindo os funcionamentos: Tudo é uma sequência de etapas que devem ser seguidas para que a lógica ocorra.[1]
Função do Computador
[editar código]De ua forma geral a principal função do computador é executar programas a partir da leitura ordenada das informações que estão contidas na memória. O processador é o responsável pela leitura das instruções (que estão contidas na memória) e a sua execução.[1]
O processo de execução de uma informação só é interrompido caso a máquina for desligada, se houver um erro irrecuperável ou se houver uma instrução para sua interrupção, caso contrário, todas as informações contidas na memória serão lidas e processadas.[1]
Busca e Execução de Instruções
[editar código]Como já falado anteriormente, o processador faz a busca das instruções na memória e ela fornece as informações por sequência de chegada ou importância de execução, para realizar essa linha de comandos é necessário o auxílio de um contador de programa, sua principal função é manter o endereço da informação até ela ser executada, por exemplo, o contador de programa está registrado no local 275, então o processador fará a leitura e execução do 275, após o término do processo, ele buscará o local 276 e assim sucessivamente.[1]
Após a leitura da instrução ela é registrada no IR (registrador de instrução) e subsequentemente será realizada pelo processador. Para ficar melhor o entendimento é possível separar em algumas categorias:
- Processador - memória: Transferência de informações entre processador e memória, ou vice-versa;
- Processador - E/S: Transferência de informações para dispositivos periféricos (Módulos do E/S);
- Processamento de Dados: Realização de operações aritmética ou lógicas sobre as informações;
- Controle: Controle das operações e priorização e/ou mudança de sequência, por exemplo, está determinado que a próxima operação deveria ser 89, entretanto pelo controle do processamento é determinado que a operação 156 precisa ser executada primeiro.[1]
Interrupções
[editar código]Interrupções ocorrem em diversos lugares e tipos. Alguns deles são: Programas que passam por problemas de overflow aritmético, alguma divisão por zero, ou até mesmo a tentativa de acesso a uma sessão da memória que não existe mais. Interrupção do tipo timer, quando algo já está programado para acontecer em determinado momento. Entrada e saída, quando é sinalizado o término de uma operação ou mesmo o cancelamento de alguma. E por fim, uma falha de hardware seja por falta de energia ou acesso de alguma célula na memória com defeito.[1]
Um grande gargalo de desempenho acontece quando o processador precisa ficar ocioso aguardando transferência de dados a um periférico externo. Pois nesse momento ele não está sobre uso, portanto o seu processamento que poderia estar executando alguma tarefa paralela está sendo perdido.[1]
Para tratar a interrupção em um sistema, o processador tem um ciclo de interrupção atrelado a ele, que é responsável por a cada ciclo de processamento verificar se existe alguma interrupção que aconteceu. Caso alguma interrupção tenha acontecido esse fluxo suspende a execução do programa e salva seu contexto, ou seja, salva o endereço da próxima instrução para quando voltar da sua interrupção ele saber qual será o endereço inicial da próxima rotina a ser executada.[1]
- Interrupções múltiplas: De forma simples, uma interrupção múltipla são várias interrupções ao mesmo tempo. Pensando nesse fato, a melhor forma de tratar-se isso é fazer uma fila de interrupções e processá-las uma a uma antes de voltar o processo ao estado normal, fazendo com que quando ele volte, ele volte sem nenhuma interrupção já enfileirada.
Uma segunda técnica é definir prioridades para as interrupções na fila e permitir que uma interrupção com maior prioridade passe na frente de uma com menor prioridade.