Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial e Computadores Carlos Silva 2º Semestre de 2005/2006 Aula - A1 21 Fev 06 - M
Sumário Objectivos da disciplina Programa de Microcontroladores e Interfaces Avaliação Bibliografia Links importantes Atendimento 2
Objectivos 3 Após a conclusão com sucesso da disciplina, o aluno deverá ser capaz de: Explicar a arquitectura de um processador e de sistemas baseados em processadores e microcontroladores (sistemas computadorizados). Explicar a motivação e os tipos de implementação de caches e de memória virtual, bem como avaliar o seu impacto na performance. Explicar a motivação e a implementação de pipelines, bem como avaliar o seu impacto na performance. Explicar a motivação do sistema I/O e a sua implementação, bem como avaliar o seu impacto sobre a performance e adquirir a capacidade para projectar a interface de periféricos ao processador/microcontrolador. Tomar conhecimento dos principais barramentos e periféricos séries e paralelos.
Programa 1. Performance de sistemas baseados em microprocessadores e microcontroladores Definição de performance Escolha de programas para avaliar a performance Comparação da entre vários sistemas performance 2. Pipeline do Processador Pipeline do caminho de dados Controlo do pipeline Structural, data e control hazards Stall e Forwarding Excepções e interrupções 4
Programa 3. Hierarquia de memória Memória cache Avaliação e medição da performance da cache Memória virtual 4. Interface do processador aos periféricos Barramentos Módulos I/O Programmed I/O Interrupt-driven I/O Direct Memory Access Interface externa: ATA, PCI, SCSI, USB e Firewire 5
Programa 5. Standards, dispositivos e interfaces Séries Paralelos Armazenamento de dados 6. Projecto de sistemas baseados em microcontroladores 6
Programa Notas Mudanças relativamente ao passado: Serão usados exemplos de vários microprocessadores/microcontroladores: i8051, Pentium, PowerPC, ARM e MIPS. Mas será requisito apenas conhecimento prévio em programação do i8051. No estudo do pipeline será ensinado os rudimentos da programação do MIPS. A ordem dos assuntos será alterada de modo a dar um melhor apoio aos Laboratórios Integrados II. 7
Programa Havará dois trabalhos baseados em microcontroladores em LI 2. Nova ênfase: Programação dos dispositivos usando linguagem assembly. Ligação da linguagem C à linguagem assembly para microcontroladores. 8
Disciplinas relacionadas Microprocessadores Forte dependência Microcontroladores e Interfaces Sistemas Digitais 9
Sistema de avaliação 10 A avaliação está dividida em duas componentes: A avaliação da disciplina é do tipo periódica: RIAPA A avaliação periódica é feita pontualmente durante cada semestre, em momentos classificativos prédeterminados. A avaliação periódica será constituída por: 2 Mini-testes 40% 1 Exame 60%. Notas: O exame e os mini-testes avaliarão conhecimento e não a velocidade. Os mini-testes e o exame são sem consulta.
Regime de Faltas A presença nas aulas teórico-práticas é obrigatória, sendo condição de passagem a presença em pelo menos a 2/3 das aulas leccionadas. Haverá de igual modo marcação de presença nas aulas teóricas, sendo condição de passagem a presença em pelo menos 2/3 das aulas leccionadas. Excepções: Alunos com estatuto de trabalhador/estudante. Alunos com disciplinas em atraso, mas apenas com um sistema compensatório. 11
Formato das aulas Não haverá uma divisão estanque entre aulas teóricas e aulas teorico-práticas. 12
Bibliografia Heuring, V., Computer Systems Design and Architecture, Prentice Hall, 2003. Hennessy, J. e Patterson, D., Computer Organization and Design: The Hardware/software Interface, Morgan Kaufmann Publishers, 2004. Stallings, W., Computer Organization and Architecture, MacMillan, 1993. Carpinelli, John, Computer System: Organization & Architecture, Addison Wesley, 2001. 13
Informação administrativa Aulas: Aulas teóricas: terça-feira - 11:00-13:00H Aulas teorico-práticas: terça-feira - 15:00 16:00H / 16:00 17:00H Atendimento: Terça-feira: 17:30 19:30H 14
Microcontroladores e Interfaces? Vale o esforço?
Vida Biónico: Sensores embutidos nos dedos de latex instantaneamente detectam calor e frio, e uma interface electrónica no seu antebraço artificial estimulam os nervos da parte superior do seu braço que passa a informação ao cérebro. Este sistema cujo custo ascende a mais de 3000 permite que a sua mão sinta pressão e peso, por isso pela primeira vez desde que perdeu o seu braço num acidente em 1986, ele pode pegar numa lata de refrigerante sem esmaga-la ou deixa-la cair pelos dedos. 16 Adaptado de Patterson@UCB
Comodidade Wireless access (tecnologia Bluetooth) Display com servidor X Display 96x120 pixeis Controlador de infravermelho Som Duas portas séries Sistema Operativos: Linux 17
Mais de 30 % do custo do carro é hoje gasto na electrónica 90 % de toda a inovação será baseada em sistemas electrónicos Segurança 18 Extraído da revista Computer vol. 35, nº1, 2002
Correcção da tensão da rede: usando um filtro série v S v L Rede Eléctrica i S v R L i L1 Carga Não Linear i L2 Carga Linear 19
Correcção da tensão da rede: usando um filtro série 20
Correcção da tensão da rede: usando um filtro série a i a v ca Rede Eléctrica b c v sa v sb i b i c v cb v cc v a v b Carga N v sc v c v sa v sb v sc i a i b Controlador * v ca * v cb * v cc Inversor ic V DC + - Filtro Activo Série V DC Fonte de Alimentação 21
Que tipo de controlador deve ser usado? Primeira solução: microcontrolador i80296sa @ 40 MHz 22
Segunda solução: Computador pessoal P3 @ 733 MHz, 512 MB RAM; OS Linux com extensão para tempo real; placa de aquisição de dados. 23
Qual é a melhor solução? 24
Primeira solução: microcontrolador i80296sa @ 40 MHz Cálculos usando a teoria p-q: Números inteiros (8 bit) 50 µs Entrada/Saída de dados: 300 amostras/ciclo (15 khz) atraso do controlador 67 µs 25 Como os cálculos usam as amostras obtidas no ciclo anterior o tempo total será de 67 µs
Segunda solução: Computador pessoal P3 @ 733 MHz, 512 MB RAM; OS Linux com extensão para tempo real; placa de aquisição de dados. 26
Características da placa de aquisição: T latência-adc = 8 µs; T latência-dac = 3 µs T placa = 6 x T latência-adc + 2 x T latência-dac = 54 µs 27
T memória = 8 x T CAC = 8 x 70 ηs = 0,56 µs 28
T cálculos teoria p-q = 4 µs 29
T PCI-Burst = [8 + (n-1)] x T CLK = 8 x 30,3 ηs = 0,243 µs T PCI = 8 x 0,243 = 1,94 µs (f CLK-PCI = 33 MHz) 30
T total 60 µs (T mínimo = 71 µs) Esta análise não considera os seguintes efeitos: A latência devido à memória cache. A latência devido à memória virtual. A latência devido à transição entre user space e kernel space (comutação de contexto: guardar/recuperar registos, pilha, espaço de endereçamento, esvaziar cache). Ocorre frequentemente em sistemas microkernel. O tempo de execução das funções de leitura e escrita na placa de aquisição de dados (6 leituras e 2 escritas). 31