You are on page 1of 0

Introdução à Arquitetura

de Computadores
Representação de Dados
Arquitetura e Organização
Noções de Software Básico

Notas de aula
Raul Fernando Weber

Quarta versão - Março de 1998
Material para uso exclusivo em INF01 107
Departamento de Informática Aplicada
Instituto de Informática
UFRGS

ii .

6. 7 e 8) é completa em si mesmo. Enquanto a parte concernente à aritmética binária (capítulos 1. as outras visam somente introduzir o aluno nas áreas de arquitetura e sistemas operacionais. e o capítulo 10 ilustra a organização do NEANDER. Os capítulos 11 e 12 fornecem as principais noções e a nomenclatura básica da área de entrada e saída e software básico (compiladores. assim como sistemas de codificação. Os capítulos 7 e 8 cobrem as notações aritméticas de ponto fixo e ponto flutuante. montadores e sistemas operacionais). cobrindo sistemas de numeração e representação de dados numéricos em um computador. e estão longe de estarem completas. O capítulo 5 introduz um segundo computador hipotético. As principais áreas da disciplina são cobertas. O capítulo 9 apresenta os blocos básicos da organização de um computador. iii . dotado de uma maior número de instruções a fim de exercitar os algoritmos de multiplicação e divisão vistos no capítulo 6.PREFÁCIO Essas notas de aula são uma compilação dos tópicos desenvolvidos na disciplina de Introdução à Arquitetura de Computadores. o AHMES. 2. Estas demais áreas são posteriormente desenvolvidas em outras disciplinas do Instituto de Informática. apresentando o modelo de von Neumann e exercitando os principais conceitos através de um computador hipotético. denominado de NEANDER. Este material foi desenvolvido para suprir a falta de um livro-texto que contivesse todos os itens que são abordados na disciplina. Os capítulos 1 e 2 tratam da representação de dados. Os capítulos 3 e 4 enfocam as noções básicas sobre arquiteturas de computadores.

S. segurança em sistemas de computação e projeto automatizado de sistemas digitais. UFRGS (1980). Atualmente professor do Instituto de Informática e do Curso de Pós-Graduação em Ciência da Computação. UFRGS. Engenheiro Eletrônica. Mestre em Ciência da Computação. Áreas de atuação: tolerância a falhas. Jansch-Porto iv .SOBRE O AUTOR Raul Fernando Weber Doutor em Informática pela Universidade de Karlsruhe (1986). Colaboradores Taisy Silva Weber Carlos Arthur Lang Lisboa Ingrid E. UFRGS (1976).

.........................................3-20 4 Computador hipotético NEANDER 4.......................................2-2 2.......2 Arquitetura de 3 endereços.............2-1 2........................ 1 e 0 endereços.3.......................................................4 Registradores especiais..............1-3 1.................2 Unidade operacional......................................................................................3-6 3.............................1 Método polinomial...1 Memória...................2 Soma de números binários...1 Introdução..........4-2 4..........................3..............5 Arquitetura de zero endereços...........2 Representação de números....................................................2-13 2..........3-4 3..SUMÁRIO 1 Bases Numéricas 1.............3.........................................................................................................2-3 2..........................1-5 2 Sistemas de numeração em computação 2.3 Elementos funcionais básicos..1 Organização da UCP ........1-3 1.................3-18 3...................................................5..............................3 Conjunto de instruções ...................3.........3 Unidade de controle .............3-17 3........................1 Características..................................................................................3 Transformação entre bases....................................................3-15 3............2-9 2.........2-4 2....................3...................................................1 Breve histórico.........................3........................2 Método de subtrações ................................................1-4 1................2-2 2..........................3.............................3 Representação de números.......................................2-14 3 Componentes do computador e modelo de von Neumann 3...3-8 3..3-17 3.......................1 Introdução..............2 Conjunto de instruções...............4 Comparação entre os métodos..........................................................2 Números com sinal: representação em sinal-magnitude.3....2-12 2.................................2-13 2..........................3-7 3...................3.............................................................................4 Números com sinal: representação em complemento de B.............................6..3-10 3...........................................3 Números com sinal: representação em complemento de (B–1).......3................6.....3-1 3..............6 Ciclo de busca-decodificação-execução de instruções.............5 Conjunto de instruções e modos de endereçamento ......................5 Modelo de von Neumann: o computador IAS ....................................................................5 Subtração........................................3-15 3..........................................................................1-1 1................3-15 3..3-9 3...................................................................................................................................4-1 4...............................2 Princípios básicos.3-5 3........................................................................4-1 4......3.........................................................................3-10 3..................................................................4 Arquitetura de um endereço..........................4 Exercícios propostos....3-19 3.................................................................1 Arquitetura de 4 endereços.........1-5 1...6 Estouro de representação..................4-2 v ......................3 Arquitetura de 2 endereços............2 Modos de endereçamento......... 2.......3-3 3....3........4 Códigos de condição.............2-3 2............3-9 3...............3-18 3............................................... 3.........................4 Método da substituição direta..................................3 Método das divisões..1-2 1..................1 Números inteiros positivos...........1-2 1........................................4 Um computador de primeira geração: o EDVAC........................6.................................................3...............5.........6............6......7 Exercícios propostos.......................................................................3...........7 Programação de um processador.......6 Arquiteturas de 4..3............................................................

..................................................................................7-1 7......5 Códigos de sete bits ponderados ...........................................................................7 Soma e subtração de números em ponto flutuante....9 Códigos de paridade ...........................1 Multiplicação binária (números inteiros positivos)..........................................7 Conclusão.....................................................................................6-8 6................8 Exercícios de programação usando o NEANDER....................5-4 5...........4 Divisão em ponto fixo ..........................................................................................................................................5 Circuitos sequenciais.....4 Códigos de cinco bits ponderados.....4 Divisão binária (números em complemento de dois......2 Soma e subtração em ponto fixo...........................3 Multiplicação em ponto fixo..........................4........9-18 10 Organização do Neander 10.............................................................................................................3 Divisão binária (números inteiros positivos)..........5-4 5.......................................8-5 8................................4-4 4...................................7-7 7..................................2 Portas lógicas e equações booleanas.....10 Códigos de Hamming......................................4 Circuitos combinacionais.........9-5 9..............................6-14 6......................9-1 9....................................8-9 8.......................7-3 7..................2 Codificação.6 Exemplo de programação.......8-9 8...............5-1 5......................5......................................................................................................................................................6-19 7 Números em ponto fixo e ponto flutuante 7..................5-3 5........................7-4 7..............................................5 Divisão binária (números em complemento de dois......................9-15 9.....................7-8 8 Codificações BCD............................................................8-1 8.........5................................................ positivos) ........4-4 5 Computador hipotético AHMES 5..4-3 4..2 Aritmética de inteiros positivos...................................................10-1 vi .................9-7 9...7 Códigos de detecção e correção de erros .....5.........................................................2 Modos de endereçamento.............................................5.........3 Equivalência de portas lógicas..................4 Códigos de condição...6 Códigos Gray (ou códigos cíclicos)...1 Aritmética em complemento de dois.........6-1 6............................................................................8-8 8....1 Elementos necessários...............9 Divisão de números em ponto flutuante ..............................................................4-3 4..................................5 Formato das instruções..5 Manipulação aritmética...........................................................................................................................................................................5-7 6 Multiplicação e divisão 6........................6 Unidade Aritmética e Lógica.......................... Numérica e Alfanumérica 8..5-2 5................................................................6-18 6....8 Códigos m-de-n ..........................................4 Aritmética em sinal/magnitude...1 Introdução..........................................8-3 8...........8 Multiplicação de números em ponto flutuante......1 Números e Aritmética BCD..........................8-9 8.............5 Números em ponto flutuante.........................................3 Conjunto de instruções ......................7-6 7.....9-1 9......................................................................................................8-5 8...........................1 Características.......................5-1 5...............................................5-6 5.................................................8-11 9 Elementos básicos de organização 9.................................................... positivos ou negativos)............11 Códigos alfabéticos (ou códigos alfanuméricos)........................8-3 8.......5-6 5...................6-7 6.........7-7 7.................7-2 7........9-10 9................7-4 7...................................3 Aritmética em complemento de um ....1 Números em ponto fixo .................6 Formatos de números em ponto flutuante.................3 Códigos BCD (ou códigos de 4 bits ponderados)................8-6 8.....7 Memória...............................................6 Exercícios resolvidos .2 Multiplicação binária (números em complemento de dois)........................................................

..12-16 Bibliografia Apêndice: Utilização dos simuladores e depuradores A................................................................1 Entrada e saída programada.................................1 Simulador.....11-2 11......................................6 Sistemas operacionais...........................................................4......9 Salvando e carregando arquivos...............11-5 11.............................................11-2 11..........4............12-5 12........4 Comunicação com outras máquinas .......12 Exemplos de sistemas operacionais......................................................................................................................................................A-5 vii ...................................................11-5 12 Software básico 12......................11-3 11......A-2 A...............................................................................................4 Comandos de operação.......................A-1 A........4............................................4 Informações complementares.......12-7 12...................................................................6 Zerando uma área de memória..........A-3 A....12-13 12...........13 Redes de computadores...................A-4 A...........12-8 12....4...............................................................................11 Multiprocessamento.12-12 12..............................1 Introdução ...................................3 Memória secundária ....9 Carga do sistema (inicialização da máquina).A-3 A.................................11-5 11...............5 Imprimindo porções da memória................................................................................4 Inspecionando a memória .........12-11 12........................8 Processos e escalonamento.....................5 Interfaces entre hardware e software ............2 Fluxo de dados.............................................................12-1 12..........................3 Sinais de controle........A-4 A................................................5..........................................................................................................................12-15 12.........................................................3 Interrupção............11-3 11................................2 Formato da tela.........8 Executando um programa ........................5........5 Sistemas de E/S..........A-4 A.................................4.A-4 A....................................4....................................................................................................4...A-3 A............10..........12-13 12......1 Hexadecimal x decimal .12-15 12.....1 Introdução .......A-1 A........................4...7 Funções básicas dos sistemas operacionais...3 Exemplo com NEANDER..11-1 11...................10-1 10...................................................................5..........................................................................................................................................2 Acesso direto à memória.12-2 12......7 Movendo blocos...........2 Visualização Simbólica ...........................................10-7 11 Entrada e saída 11..........................................................4 Programas a nível de sistema.............3 Editando um programa na memória........................2 Linguagens de programação...........................10 Multiprogramação........................................5.....2 Dispositivos periféricos.............................................A-2 A..............................................................A-4 A......11-2 11.......................4................................................12-1 12....................................................................3 Entrada numérica.......