Curso Superior de Ciência da Computação
PRÉ-PROJETO
Programa Didático para processadores
Amanda Oliveira RA: 2014017420 Anderson da Silva RA: 2014038621 Caroline Silveira RA: 2014013181 Emily Marighetti RA: 2014018990 João Pedro RA: 2014061321
Projeto apresentado ao Curso Superior de Ciências da Computação da Universidade Guarulhos, como parte dos requisitos para a obtenção da conclusão da disciplina PROJETO INTEGRADO I, sob a orientação da Prof.ª Marta Cardoso Pina.
Guarulhos 2014
Amanda Oliveira RA: 2014017420 Anderson da Silva RA: 2014038621 Caroline Silveira RA: 2014013181 Emily Marighetti RA: 2014018990 João Pedro RA: 2014061321
Programa Didático para processadores
Projeto apresentado ao Curso Superior de Ciências da Computação da Universidade Guarulhos, como parte dos requisitos para a obtenção da conclusão da disciplina PROJETO INTEGRADO I, sob a orientação da Prof.ª Marta Cardoso Pina.
Guarulhos 2014
Aos nossos pais, irmãos e nossos.
Amigos e colegas, pelo incentivo e.
Pelo apoio constante
AGRADECIMENTO
Agradecemos а Deus, pois sеm ele nos nãо teríamos as forças pаrа essa jornada, agradecemos aos nossos professores еаоs nossos colegas qυе nos ajudaram na primeira etapa dessa caminhada.
LISTA DE ILUSTRAÇÕES
Figura 01 – Primeira computador__________________________________09
Figura 02 – Estrutura que o Von Neumann abordava em sua teoria de Unidade de Controle___________________________________________________10
Figura 03 – Chip 4004. Primeiro
processador___________________________________________________10
Figura 04 – Fluxograma do
processador___________________________________________________11
Figura 05 – Primeira aparição do
simulador_____________________________________________________12
Figura 06 – Entradas no
simulador_____________________________________________________13
Figura 07 – Saída no
simulador_____________________________________________________13
Figura 08 – Entradas no
simulador_____________________________________________________14
Figura 09 – Dada de Entradas no
simulador_____________________________________________________15
Figura 10 – Locação dos dados na MEMORIA
RAM_________________________________________________________15
Figura 11 – Locomoção dos dados para os
MUX_________________________________________________________16
Figura 12 –: Processando a
Saída_________________________________________________________16
Figura 13 – Saída no simulador Versão
2.0___________________________________________________________17
Figura 14 – Simulador com mais operadores, ALU, memória RAM Ver.
3.0___________________________________________________________18
LISTA DE SIGLAS
CPU – Unidade Central de Processamento
CU – Unidade de Controle
ALU – Arithmetic logic unit
ULA – Unidade Lógica e Aritmética
I/O – Imput / Output
E/S – Entrada / Saida
SUMÁRIO
1 INTRODUCAO________________________________________________8
2 REVISÃO BIBLIOGRÁFICA______________________________________9
3 DESENVOLVIMENTO_________________________________________11 3.1 A origem da criação do processador didático____________________11 3.2 Processadores Versão 1.0___________________________________12
3.3 Processadores Versão 2.0___________________________________14 3.4 Processadores Versão 3.0___________________________________17
4 CONCLUSÕES_______________________________________________19
5 REFERÊNCIAS______________________________________________20
1 INTRODUÇÃO
Neste Trabalho venho apresentar o melhoramento da tecnologia através de um software didático em que os usuário têm a possibilidade de aprender sobre o funcionamento do processador. Para entender o funcionamento do
processador, por ser algo complexo e por ter que ter certo conhecimento e estudo, os professores muitas vezes não sabem de forma direta e clara como explicar o assunto.
Então através desse programa didático que estamos desenvolvendo será uma solução para o problema envolvido atualmente que é ajudar aos usuários estudantes em TI a entender o funcionamento do processador, ou seja, a base da computação. Através desse software irá ajudar os usuários á entender a parte mais “complexa” da computação que nós chamamos de Arquitetura de Computador.
Para poder entender a estrutura da base da computação, como o computador processa nossos comandos, elaboramos um software em Excel para poder entender o funcionamento. Percebemos que a dificuldade de entender esse processo é grande, por isso a ideia de ajudar através de um aplicativo, será útil.
Colamos como base para a criação do software didático, alunos com
dificuldade em arquitetura de computadores, onde abrange o conhecimento de processadores. Entendesse de forma simples e simplificada de como o
computador processa as informações.
O projeto didático tem como objetivo claro e amplo, de ensinar, orientar, instruir os usuários, podendo através de o software aprender de como funciona e até mesmo desenvolver outros meios de aplicativos para processadores.
Desta forma este trabalho se faz necessário na busca de alternativas aos problemas encontrados em sala e assim achar uma solução obvia simples e completa.
2 REVISÃO BIBLIOGRÁFICA
Segundo John Presper e John W. Mauchly em 1943, o Eniac primeiro
computador do mundo foi criado para poder ajudar na Segunda guerra Mundial, seu funcionamento era para computar trajetórias táticas que exigissem
conhecimentos substanciais em matemática. Mas apenas em 1946 após a guerra que foi possível o seu utilizamento, pois era bem complexo para os Presper e Mauchly. Para eles a maior revolução da historia iria acontecer, pois através dos estudos deles foram criados os próximos computadores e
processadores.
FIGURA 1: Eniac 1946. Primeiro computador, criado pelos cientistas John Presper e John W. Mauchly (Fonte da imagem: blogspot.com.br).
Segundo John Von Neumann a arquitetura de computador se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas.
Esta arquitetura é um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento ("memória") para comportar, respectivamente, instruções e dados. A máquina proposta por Von Neumann reúne os seguintes aspectos:
FIGURA 2: Estrutura que o Von Neumann abordava em sua teoria de Unidade de Controle (Fonte da imagem: blogspot.com.br).
Componentes: 1- uma Memória
2- Unidades Aritmética e Lógica (ALU)
3- Uma Unidade Central de Processamento (CPU), composta por diversos registradores.
4- Uma Unidade de Controle (CU), cuja função é a mesma da tabela de controle da maquina de Turing Universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada.
Segundo Bob Noyce em 1956 os conceitos do Eniac dos John’s deu um avanço para ele criar o primeiro processador pequeno, tirando todo aquele conceito de gigante e que pesava toneladas para uma ‘’caixa’’, ou seja, Bob Noyce que mais tarde se tornaria o presidente da Intel criou o primeiro processador chamado de 4004, teve essa ideia de juntar todos os
componentes eletrônicos em um retângulo e suas saídas seriam através de pinos.
FIGURA 3: Chip 4004. Primeiro processador, criado por Ted Hoff (Fonte da imagem: www.techtudo.com.br).
3 DESENVOLVIMENTO
3.1 A origem da criação do processador didático
.O software apresentado e uma solução simples e ampla de como o nosso computador processa as informações e executa a mesma, sendo que nossas entradas são diferentes de como o computador entender, já que sabemos que o computador processa todos os procedimentos em numero binários (0 e/ou 1).
O nosso software foi desenvolvimento em programação EXCEL, uma
linguagem básica com entradas e saídas. Todo o processo de criação foi feita com cautela e sem base em outro software, ou seja, desconhecemos qualquer outro tipo de software didático para ensinamento dos usuários.
Nos próximos tópicos iremos aborda a criação do software, desde a sua base até o funcionamento.
Esse protótipo não teve como inspiração a outro tipo de programa, acreditamos que haja algum tipo de software didático nesse ramo, porem as ideias não veio de nenhum outro tipo de software, apenas com base nos estudos de
PROCESSADORES, MEMORIAS, REGISTRADORES, MEMORIA DE DADOS entre outros componentes de hardware que será abordado logo mais.
Fizemos uma analise em fluxograma de como seria para dar os primeiros passos para a criação do processador, ou seja, onde será a ligação dos hardwares.
FLUXOGRAMA DO PROCESSADOR
.FIGURA 4: Fluxograma do processador. 21/08/2014
Segue abaixo a imagem do primeiro simulador didático do processador em sua criação, e colocaremos logo em seguida a função de cada unidade.
3.2 PROCESSADORES VERSAO 1.0
FIGURA 5: Primeira aparição do simulador. 21/08/2014.
UNIDADE DE CONTROLE: Buscar Informações na memória principal e determinar o tipo dessas instruções.
REGISTRADORES: São memórias de alta velocidade, armazenam resultados temporários dentro da CPU, são usados para controlar as informações. Cada registrador tem uma função e um tamanho em (bits/bytes).
MEMORIA DE INSTRUÇÕES: Ficam guardados os dados inseridos em um endereço na memória, alertando que haverá instruções a ser executados.
UNIDADE DE DADOS: São memórias não voláteis, servem para guardar dados enquanto o computador está em uso
MEMORIA DE DADOS: Ficam alocados em ordem o que será feito, ou seja, é feito uma decodificação e são alocados no mesmo, ate serem levados ate a ALU.
PERIFERICOS I/O – E/S: São dispositivos de entrada (teclado, som, pendrive.).
ALU (Unidade Lógica Aritmética): Efetuar operações aritméticas, operações booleanas.
ENTRADA: Entrada dos dados inseridos.
SAIDA: Resultado dos dados inseridos.
BARRAMENTOS: E um conjunto de fios paralelos (condutores de energia) que transmitem endereços da memória e dos registradores, dados e também sinais de controle; e por onde transmitem os bits.
Nessa primeira versão do processador didático, só foi feito o layout do
programa, as únicas unidades em funcionamento são as entradas e saídas que por sua vez estão em funcionamento, ou seja, o usuário irá colocar as
ENTRADAS que são os números que irão fazer os cálculos e colocar a aritmética (+,-,*,/). Para poder obter o resultado final, que irá aparecer em SAIDA.
FIGURA 6: Entradas no simulador. 21/08/2014.
FIGURA 7: Saídas no simulador. 21/08/2014.
Não tivemos muito sucesso na primeira versão, pois estavam dando muito erro na entrada dos operadores e não estávamos conseguindo atribuir às funções necessárias como havia dito JOHN VON NEUMANN. Foi então que foi lançado a VERSAO 2.0 do processador.
3.3 PROCESSADORES VERSAO 2.0
FIGURA 8: Entradas no simulador. 25/08/2014.
Com a progressão do processador 2.0.0 podemos ter uma base maior de como é trabalhado o processador, já sabemos que devemos utilizar o MUX
(multiplexador), atribuição que não tinha na versão 1.0 já achamos o erro de uma das unidades, porem para deixar a arquitetura mais simples, optamos por tirar todas as unidades e deixar algo mais simples e ir avançando conforme os usuários forem entendendo. Nessa unidade colocamos:
1- ENTRADA: Entrada dos dados inseridos.
2- MEMORIA RAM: Permite o acesso aos arquivos armazenados no computador
3- MUX 1 E MUX 2: A função básica de um multiplexador é combinar múltiplas entradas num único terminal de dados.
4- REGISTRADOR: Armazenam resultados temporários dentro da CPU 5- ALU: Efetuar operações aritméticas, operações booleanas.
6- SAIDA: Resultado dos dados inseridos
Funcionamento:
PRIMEIRO: O usuário entra com os dados na ENTRADA
FIGURA 9: Entradas no simulador. 25/08/2014.
SEGUNDO: Os dados digitados na entrada são alocados na MEMORIA RAM em forma de números binários. Alocados ate darem a ordem para o MUX.
FIGURA 10: Locação dos dados na MEMORIA RAM. 25/08/2014.
TERCEIRO: Os dados inseridos na Entrada “a = 1” vão para o MUX 1 e a “b = 7” para o MUX 2 em forma de binário.
FIGURA 11: Locomoção dos dados para os MUX. 25/08/2014.
QUARTO: Os dados inseridos na Entrada, passados pela MEMORIA RAM que seria nosso registrador e depois passado pelos MUX, ele ira ir para ALU, onde se encontra a base para as operações. Através da ALU, será feita a “SOMA”.
FIGURA 12: Processando a Saída. 25/08/2014.
QUINTO: Os dados inseridos na Entrada, passados pela MEMORIA RAM que seria nosso registrador e depois passado pelos MUX, ele ira ir para ALU, onde se encontra a base para as operações. Através da ALU, será feita a “SOMA” e sua SAIDA será o resultado da soma das duas entradas.
FIGURA 13: Saída no simulador. 25/08/2014.
Observa-se que ainda não colocamos o campo para o usuário digitar o operador, portanto o processador ainda esta fazendo a conta de “SOMA”
direta, sem pedir para o usuário digitar o operador.
Nota-se que a base do programa encontra em binário. POR QUÊ? Simples porque é a linguagem principal que os computadores entendem. E o usuário não digita a sua entrada em binário, porque o usuário não sabe o que e binário, os números decimais digitados são convertidos automaticamente pelo
computador em binário.
3.4 PROCESSADORES VERSAO 3.0
Chegamos a Terceira e ultima versão do software. Nota-se que nessa versão o software esta completo com todos os dados de entrada e saído funcionando corretamente. Acrescentamos ainda os endereços de memórias que são os nossos registradores temporários, ou seja, Enquanto o valor de entrada for maior que 0 o endereço fica alocado no endereço de memória ate o valor retornar a 0. Se o valor retorna a 0, significa que o endereço esta vazio e poderá alocar mais tarde outro valor ou operação.
Não há o que diferenciar da versão 3.0 para a 2.0, o funcionamento e o
mesmo, as únicas coisas que mudam, são os operadores, que na versão 3.0 e possível o usuário escolher qual operador quer fazer (+,-,*,/). Onde na versão 2.0 não era possível, o usuário não tinha escolha, apenas era solicitado as entradas e o processador executava a soma direto.
FIGURA 14: Simulador com mais operadores, ALU, memória RAM. 29/08/2014.
CONCLUSÃO
Os processadores, atuam como o cérebro de um computador tendo a maior importância para os pcs. Eles são chips de silício responsáveis pela execução dos processos computacionais e são dotados de capacidade de cálculo em alta velocidade. Um computador é dividido basicamente entre os dispositivos, a memória RAM e o próprio
processador. Os dispositivos podem ser os discos de memória, o teclado, mouse, monitor e impressora, por exemplo. A memória RAM é uma unidade de memória destinada ao armazenamento temporário de dados. Sendo assim, sua função é apoiar o funcionamento do processador de computador. A abertura de vários programas ao mesmo tempo, por exemplo, depende da quantidade de memória RAM. Com isso, um computador 8GB terá melhor desempenho do que um computador 2GB, por exemplo. O processador de computador atua justamente nesta ligação, entre as instruções recebidas por meio dos dispositivos, armazenadas na memória RAM, e enviadas
novamente a um dispositivo de saída, A velocidade de um
processador de computador costuma ser medida pela sua frequência
de processamento, que é velocidade medida em hertz, indicando a
quantidade de processamentos por segundo que o processador é
capaz de realizar. Um processador de 2,4 GHz (gigahertz), possui
cerca de 2.400 MHz (megahertz), ou seja, ele é capaz de processar
cerca de 2.400.000 operações por segundo. Portanto o processador é
uma grande peça para o computador faendo diferenças no modo que
se altera.
REFERÊNCIAS
ABNT - ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. 1988. NBR 105119:
Critérios de avaliação de documentos de arquivo – Procedimento
STALLINGS, William.; Arquitetura e Organização de Computadores. 8.ed. São Paulo: Prentice-Hall Brasil, 2010.
FOROUZAN, Behrouz.; Ciência da Computação – Tradução da 2 Edição Internacional. 2011.
HOGAN, Brian P. Web Design para Desenvolvedores. Rio de Janeiro. Editora Ciência
Moderna, 2011.Pressman, Roger S. Engenharia Web. Rio de Janeiro. LTC, 2009.
PRESSMAN, Roger S. Engenharia Web. Rio de Janeiro. LTC, 2009.
CYBIS, Walter. Ergonomia e Usabilidade: conhecimentos, métodos e aplicações. São Paulo. Novatec, 2007.
SILVA, Maurício Samy. Construindo sites com CSS e (X)HTML: sites controlados por
folhas de estilo em cascata. São Paulo. Novatec, 2008.
POWERS, Shelley. Aprendendo JavaScript. São Paulo. Novatec, 2010.
SILVA, Maurício Samy. Criando sites com HTML: sites de alta qualidade com HMTL e CSS. São Paulo. Novatec, 2008
CARNEIRO, J.L. Breve historia do computador: sites de alta qualidade com HMTL e CSS. São Paulo. Novatec, 2007.
ASPRAY, W. The origins of John von Neumann's theory of automata. Em Glimm et al (1990b), p. 289-309, 1990
ASPRAY, W. F. John von Neumann's contributions to computing and computer science. Em Brink & Haden (1989), p. 189-195, 1989.
ECKERT, Jr., J. P. & MAUCHLY, J. W. Automatic high-speed computing: a progress report on the EDVAC. Relatório técnico, Moore School of Electrical Engineering, University of Pennsylvania, Setembro 1945.