Capítulo 1
Capítulo 1 INTRODUÇÃO 1 1.1 ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES 1.2 MARCOS DA ARQUITETURA DE COMPUTADORES 1.3 ZOOLÓGICO DOS COMPUTADORES 1.4 EXEMPLOS DE FAMÍLIAS DE COMPUTADORES 1.5 UNIDADES MÉTRICAS
1 INTRODUÇÃO - Computador digital: - máquina - resolver problemas - executar instruções - programa - linguagem de máquina Capítulo 1
1.1 ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES - Conveniente para as pessoas X Conveniente para computadores - Projetar um novo conjunto de instruções: - Mais conveniente para as pessoas - Formação de uma linguagem = L1 - Linguagem mais conveniente para as máquinas - Linguagem de máquina = L0. - Tradução: - Executar programa inscrito em L1 - Substituir cada instrução em L1 por uma sequencia equivalente em L0. - Interpretação: - Escrever programa em L0 que considere programa L1 como entrada - Executa examinando cada instrução por vez diretamente - Não requer a geração de um novo programa em L0.
1.1 ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES - Conjunto de Instruções mais dirigido as pessoas e menos a máquinas - Linguagem (L2) e com máquina real (M2) - Série de Linguagens cada vez mais conveniente do que as antecessoras - Computador = série de camadas ou níveis. - Cada máquina => linguagem de máquina
Linguagens, Níveis e Máquinas Reais Máquina multinível.
1.1 ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES - Computadores modernos consiste em dois ou mais níveis - Máquinas com até 6 níveis: - nível 0: nível lógico digital portas lógicas. - nível 1: nível de microarquitetura ULA, registradores, microprograma - nível 2: nível de arquitetura do conjunto de Instruções ISA. - nível 3: nível de máquina de sistema operacional - nível 4: nível de linguagem de montagem assembly - nível 5: nível de linguagem de alto nível C, C++, Java. - Arquitetura Organização de Computadores: - conjunto de tipos de dados - operações - características de cada nível.
Máquinas Multiníveis Contemporâneas Computador de seis níveis. O método de suporte para cada nível está indicado abaixo dele (junto com o nome do programa de suporte).
1.1 ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES - Evolução de máquinas multiníveis - 1940: primeiros computadores tinham só dois níveis. - 1950: computador de três níveis. - 1960: criação dos Sistemas Operacionais - 1970: microprogramação - Hardware: circuitos eletrônicos, memórias, dispositivos de E/S. - Software: algoritmos e programas. - HW e SW são logicamente equivalentes. - Decisão: custo, velocidade, confiabilidade e frequência de mudanças.
1.2 MARCOS DA ARQUITETURA DE COMPUTADORES Geração Zero: Computadores Mecânicos (1642 1945) Primeira Geração:Válvulas (1945 1955) Segunda Geração:Transistores (1955 1965) Terceira Geração: Circuitos Integrados (1965 1980)- multiprogramação Quarta Geração: Integração em larga escala (1980 1990) Quinta Geração: computadores invisíveis (1990 -?)
1.3 ZOOLÓGICO DOS COMPUTADORES - Computadores descartáveis Chip RFID - Microcontroladores Eletrodomésticos, aparelhos de comunicação, periféricos de computadores, equipamentos médicos, sistemas de armamento, brinquedos, etc - Computadores de Jogos videogame. - Computadores Pessoais - Servidores - Clusters - Mainframes
Forças Econômicas e Tecnológicas A lei de Moore prevê um aumento anual de 60% no número de transistores que podem ser colocados em um chip. Os dados pontuais informados nesta figura são tamanhos de memória em bits.
1.4 EXEMPLOS DE FAMÍLIAS DE COMPUTADORES - Computadores pessoais: PENTIUM 4 - Servidores: UltraSPARC III - SPARC Scalable Processor ARChitecture - Computadores embutidos: 8051
Família de Computadores Intel (1)
Família de Computadores Intel (2) Chip Pentium 4. Direitos de reprodução da Intel Corporation, 2003, utilização permitida.
Família de Computadores Intel (2) Lei de Moore para chips de CPU (Intel).
Família MCS-51
1.5 UNIDADES MÉTRICAS
1. Explique cada um dos termos seguintes com suas próprias palavras. a. Tradutor. b. Interpretador. c. Máquina real. 2. Qual é a diferença entre interpretação e tradução? 3. É concebível um compilador gerar saída para o nível de microarquitetura em vez de para o nível ISA? Discuta os prós e os contras dessa proposta. 4. Você pode imaginar qualquer computador multinível no qual o nível do dispositivo e os níveis lógicos digitais não estivessem nos níveis mais baixos? Explique.
5. Considere um computador multinível no qual todos os níveis são diferentes. Cada nível tem instruções que são m vezes mais poderosas do que as do nível abaixo dele: isto é. uma instrução de nível r pode fazer o trabalho de m instruções de nível r - I. Se um programa de nível I requer k segundos pura executar, quanto tempo levariam programas equivalentes nos níveis 2. 3 e 4 :admitindo que são requeridas n instruções de nível r para interpretar uma única instrução de nível r + 1? 6. Algumas instruções no nível do sistema operacional da máquina são idênticas a instruções em linguagem ISA. Elas são executadas diretamente pelo microprograma, e não pelo sistema operacional. À luz de sua resposta ao problema anterior. por que você acha que isso acontece?
7. Considere um computador com interpretadores idênticos nos níveis 1, 2 e 3. Um interpretador precisa de n instruções para buscar, examinar e executar uma instrução. Uma instrução de nível 1 demora k nanosegundos para executar. Quanto tempo demora para executar uma instrução nos níveis 2, 3 e 4? 8. Em que sentido hardware e software são equivalentes? E não equivalentes? 9- A maquina diferencial de Babbuge tinha um programa lixo que não podia ser trocado. Isso é essencialmente a mesma coisa que um moderno CO-ROM que não pode ser trocado? Explique sua resposta.
10. Uma das consequências da ideia de Von Neumann de armazenar o programa na memória é que esses programas podem ser modificados. exatamente corno os dados. Você consegue imaginar um exemplo onde essa facilidade poderia ser útil? (Dica: pense em efetuar aritmética em vetores.) 11. A relação entre o desempenho do 360 modelo 75 e do 360 modelo 30 era de 50 vezes. Ainda assim. o tempo de ciclo era só cinco vezes mais rápido. Como você explica essa discrepância? 12. Dois projetos básicos de sistemas são mostrados nas figura 1.4 e 1.5. Descreva como poderia ocorrer entrada / saída em cada sistema. Qual deles tem potencial para melhor desempenho global do sistema?
13. Suponha que cada um dos 300 milhões de habitantes dos Estados Unidos consome totalmente dois pacotes de mercadoria por dia marcados com etiqueta.rfid. Quantas etiquetas RFID teriam de ser produzidas por ano para satisfazer essa demanda? Se a etiqueta custar um centavo de dólar por unidade. qual é o custo total das etiquetas? Dado o tamanho do PIB, essa quantia será um obstáculo à sua utilização em cada pacote oferecido a venda? 14. Dê o nome de três eletrodomésticos ou aparelhos candidatos a funcionar com uma CPU embutida. 15. Em uma cena época. um transistor instalado em um microprocessador tinha 0.1 micra de diâmetro. Segundo a lei de Moore que tamanho teria um transistor no modelo do ano seguinte'!
16. A questão legal que envolvia quem teria inventado o computador foi resolvida em abril de 1973 pelo juiz Earl Larson, que julgou uma ação judicial de violação de patente impetrada pela Sperry Rand Corporation. que tinha adquirido as patentes do ENIAC. A posição da Sperry Rand era de que todos os fabricantes de computadores lhe deviam royalties porque as patentes principais lhe pertenciam. O caso foi a julgamento em junho de 1971 e mais de 30 mil provas foram apresentadas. O arquivo do caso passou de 20 mil páginas. Estude esse caso com mais cuidado usando a grande quantidade de informaçõcs disponíveis na Internet e redija um relatório que discuta. seus aspectos técnicos. O que. exatamente. Eckert e Mauchley patentearam e por que o juiz achou que o sistema deles era baseado no trabalho anterior de AtanaSoft?
17. Escolha três pessoas que você considera serem as mais influentes na criação do moderno hardware de computadores e redija um curto relatório que descreva suas contribuições e motivo de escolhê-las. 18. Responda à pergunta anterior substituindo hardware por software de computador.
1. Explique cada um dos termos seguintes com suas próprias palavras. a. Tradutor. b. Interpretador. c. Máquina real. a. A translator converts programs in one language to another. b. An interpreter carries out a program instruction by instruction. c. A virtual machine is a conceptual machine, one that does not exist.
2. Qual é a diferença entre interpretação e tradução? An interpreter executes a program by fetching the first instruction, carrying it out, then fetching the next one, and so on. A translator first converts the original program into an equivalent one in another language and then runs the new program.
3. É concebível um compilador gerar saída para o nível de microarquitetura em vez de para o nível ISA? Discuta os prós e os contras dessa proposta. It is possible, but there are problems. One difficulty is the large amount of code produced. Since one ISA instruction does the work of many microinstructions, the resulting program will be much bigger. Another problem is that the compiler will have to deal with a more primitive output language, hence it, itself, will become more complex. Also, on many machines, the microprogram is in ROM. Making it user-changeable would require putting it in RAM, which is much slower than ROM. On the positive side, the resulting program might well be much faster, since the overhead of one level of interpretation would be eliminated.
4. Você pode imaginar qualquer computador multinível no qual o nível do dispositivo e os níveis lógicos digitais não estivessem nos níveis mais baixos? Explique. During the detailed design of a new computer, the device and digital logic levels of the new machine may well be simulated on an old machine, which puts them around level 5 or 6.
5. Considere um computador multinível no qual todos os níveis são diferentes. Cada nível tem instruções que são m vezes mais poderosas do que as do nível abaixo dele: isto é. uma instrução de nível r pode fazer o trabalho de m instruções de nível r - I. Se um programa de nível I requer k segundos pura executar, quanto tempo levariam programas equivalentes nos níveis 2. 3 e 4 :admitindo que são requeridas n instruções de nível r para interpretar uma única instrução de nível r + 1? Each level of interpretation slows down the machine by a factor of n /m. Thus the execution times for levels 2, 3, and 4 are kn /m, kn 2 /m2, and kn 3 /m3, respectively.
6. Algumas instruções no nível do sistema operacional da máquina são idênticas a instruções em linguagem ISA. Elas são executadas diretamente pelo microprograma, e não pelo sistema operacional. À luz de sua resposta ao problema anterior. por que você acha que isso acontece? Each additional level of interpretation costs something in time. If it is not needed, it should be avoided.
7. Considere um computador com interpretadores idênticos nos níveis 1, 2 e 3. Um interpretador precisa de n instruções para buscar, examinar e executar uma instrução. Uma instrução de nível 1 demora k nanossegundos para executar. Quanto tempo demora para executar uma instrução nos níveis 2, 3 e 4? You lose a factor of n at each level, so instruction execution times at levels 2, 3, and 4 are kn, kn 2, and kn 3, respectively.
8. Em que sentido hardware e software são equivalentes? E não equivalentes? Hardware and software are functionally equivalent. Any function done by one can, in principle, be done by the other. They are not equivalent in the sense that to make the machine really run, the bottom level must be hardware, not software. They also differ in performance.
9- A maquina diferencial de Babbuge tinha um programa lixo que não podia ser trocado. Isso é essencialmente a mesma coisa que um moderno CO-ROM que não pode ser trocado? Explique sua resposta. Not at all. If you wanted to change the program the difference engine ran, you had to throw the whole computer out and build a new one. A modern computer does not have to be replaced because you want to change the program. It can read many programs from many CD-ROMs.
10. Uma das consequências da ideia de Von Neumann de armazenar o programa na memória é que esses programas podem ser modificados. exatamente corno os dados. Você consegue imaginar um exemplo onde essa facilidade poderia ser útil? (Dica: pense em efetuar aritmética em vetores.) A typical example is a program that computes the inner product of two arrays, A and B. The first two instructions might fetch A[0] and B[0], respectively. At the end of the iteration, these instructions could be incremented to point to A[1] and B[1], respectively. Before indexing and indirect addressing were invented, this was done.
11. A relação entre o desempenho do 360 modelo 75 e do 360 modelo 30 era de 50 vezes. Ainda assim. o tempo de ciclo era só cinco vezes mais rápido. Como você explica essa discrepância? Raw cycle time is not the only factor. The number of bytes fetched per cycle is also a major factor, this increasing with the larger models. Memory speed and wait states play a role, as does the presence of caching. A better I/O architecture causes fewer cycles to be stolen, and so on.
12. Dois projetos básicos de sistemas são mostrados nas figura 1.4 e 1.5. Descreva como poderia ocorrer entrada / saída em cada sistema. Qual deles tem potencial para melhor desempenho global do sistema? The design of Figure 1-5 does I/O one character at a time by explicit program command. The design of Figure 1-6 can use DMA to have the controller do all the work, relieving the CPU of the burden, and thus making it potentially better.
13. Suponha que cada um dos 300 milhões de habitantes dos Estados Unidos consome totalmente dois pacotes de mercadoria por dia marcados com etiqueta.rfid. Quantas etiquetas RFID teriam de ser produzidas por ano para satisfazer essa demanda? Se a etiqueta custar um centavo de dólar por unidade. qual é o custo total das etiquetas? Dado o tamanho do PIB, essa quantia será um obstáculo à sua utilização em cada pacote oferecido a venda? Each person consumes 730 tags per nonleap year. Multiply by 300 million and you get 219 billion tags a year. At a penny a tag, they cost $2.19 billion dollars a year. With GDP exceeding $10 trillion, the tags add up to 0.02% of GDP, not a huge obstacle.
14. Dê o nome de três eletrodomésticos ou aparelhos candidatos a funcionar com uma CPU embutida. The following appliances are normally controlled by embedded systems these days: alarm-clock radios, microwave ovens, television sets, cordless telephones, washing machines, sewing machines, and burglar alarms.
15. Em uma cena época. um transistor instalado em um microprocessador tinha 0.1 micra de diâmetro. Segundo a lei de Moore que tamanho teria um transistor no modelo do ano seguinte? According to Moore s law, next year the same chip will have 1.6 times as many transistors. This means that the area of each transistor will be 1/1.6 or 0.625 times the size of this year s transistors. Since the area goes like the square of the diameter, the diameter of next year s transistors must be 0.079 microns.
16. A questão legal que envolvia quem teria inventado o computador foi resolvida em abril de 1973 pelo juiz Earl Larson, que julgou uma ação judicial de violação de patente impetrada pela Sperry Rand Corporation. que tinha adquirido as patentes do ENIAC. A posição da Sperry Rand era de que todos os fabricantes de computadores lhe deviam royalties porque as patentes principais lhe pertenciam. O caso foi a julgamento em junho de 1971 e mais de 30 mil provas foram apresentadas. O arquivo do caso passou de 20 mil páginas. Estude esse caso com mais cuidado usando a grande quantidade de informaçõcs disponíveis na Internet e redija um relatório que discuta. seus aspectos técnicos. O que. exatamente. Eckert e Mauchley patentearam e por que o juiz achou que o sistema deles era baseado no trabalho anterior de AtanaSoft?
17. Escolha três pessoas que você considera serem as mais influentes na criação do moderno hardware de computadores e redija um curto relatório que descreva suas contribuições e motivo de escolhê-las.
18. Responda à pergunta anterior substituindo hardware por software de computador.