Baixe o app para aproveitar ainda mais
Prévia do material em texto
Software básico Cap 3 – lógica digital e E/S Lógica digital § Implementação em hardware das portas lógicas e circuitos combinacionais § Uso de circuitos integrados para representar informações em binário § Bit 0 – voltagem baixa § Bit 1 – voltagem alta § Ou outras combinações possíveis Lógica digital – implementando portas lógicas Figure 3-1. (a) A transistor inverter. (b) A NAND gate. (c) A NOR gate. Portas lógicas básicas Construindo unidades lógicas mais complexas § Toda operação de uma CPU é uma combinação de portas lógicas § Existem diversas técnicas de simplificação e equivalência de circuitos para chegar a desenhos mais eficientes Construindo unidades lógicas mais complexas – ALU de 1 bit Clocks § Devemos saber em qual momento o sinal de saída está estável em circuitos complexos § Instabilidade da saída devido a feedback § Tempo de propagação do sinal do início ao fim da unidade lógica § Uso de um sinal regulador, o sinal de relógio Clock Figure 3-20. (a) A clock. (b) The timing diagram for the clock. (c) Generation of an asymmetric clock. Armazenando dados § Muitas vezes queremos armazenar um dado para uso posterior § Manter um sinal constante na entrada do circuito § Memórias internas do processador § As unidades básicas de uma memória em um circuito são os latches e flip-flops Clocked SR Latches Registradores § Registradores são um conjunto de flip- flops ou latches que são acionados ao mesmo tempo Registradores e chips de memória § Empregando latches, flip flops e capacitores, podemos construir sistemas de memória RAM e de memórias rápidas § Assunto para outro curso (circuitos digitais, introdução aos sistemas lógicos…) Lógica digital e software básico § A lógica digital muitas vezes aparece para “assustar” os programadores de software básico § Interação entre processadores § Dispositivos de E/S § Processadores e microcontroladores suportam alguns padrões (mas nem todos) § Microcontroladores: SPI, I2C § CPUs para PC: com. serial e paralela, barramentos PCI, etc Lógica digital e software básico § Programação de barramentos e E/S é muito comum em sistemas embarcados § Popularização de sistemas baratos e de alto poder computacional, que são empregados para projetos de controle e automação Arduino e Raspberry Pi § Placa com microcontrolador, desenhadas para projetos pequenos de controle/ atuação e para hobbistas § Arudino uno: § Processador ATMEGA 328 § 16 MHz § 32KB de flash § 2KB SRAM § 1KB EEPROM Arduino Uno Programando dispositivos de E/S § Existem muitas bibliotecas em linguagens de alto nível para Arduino, mas… § E se você precisar de um processador mais potente? § E se você empregar um sensor “exótico”? Barramentos Barramentos Controlando barramentos § A ação dos dispositivos de E/S depende dos sinais de controle do barramento § Organização escravo-mestre § Mestre controla os sinais do barramento e quem pode comunicar § Escravos seguem as ordens do mestre Controlando barramentos Barramentos síncronos e assíncronos § Barramento síncrono: utiliza sinal de clock de referência § Operações de barramento medidas em ciclos de clock § Barramento assíncrono: não tem clock de referência § Permite dispositivos com velocidades diferentes no mesmo barramento Barramento síncrono Barramento assíncrono Arbitragem do barramento § Como definir qual dispositivo pode acessar o barramento? § Exemplo: CPU e disco tentando acessar a memória ao mesmo tempo § Duas abordagens principais: § Centralizada § Distribuída Arbitragem centralizada § Um dispositivo controla o acesso § Pode ser multi-nível § Daisy chaining Arbitragem distribuída § Não há coordenador § Problema de dois pedidos de acesso ao mesmo tempo § Similar a uma rede de computadores Arbitragem e interrupções § Interrupções geram pedidos que precisam ser ativados rapidamente § Linha separada para interrupções: mais prioritário que acesso de E/S Sentido da comunicação § Simplex – Dados trafegam em um único sentido § Exemplo: impressora § Duplex – Dados trafegam nos dois sentidos § Exemplo: Porta USB § Full Duplex – Tráfego simultâneo de dados nos dois sentidos § Half Duplex – Tráfego de dados em um sentido a cada vez Sistemas duplex Linhas de um barramento § Linhas de controle: empregadas para sinalização nas transferência de dados § Linhas de dados: empregadas para transferência de dados § Linhas de endereço: identificam posições na memória interna do dispositivo de E/S Linhas de um barramento Portas seriais e paralelas § Barramentos síncronos § Muitos processadores possuem sistemas internos para controlar E/S serial e paralela § Leitura/escrita em registradores ou endereços de memória específicos § Serial – 1 bit por vez § Paralela – Um byte por ciclo de clock Portas seriais e paralelas Comunicação Serial § Padrão RS232 – Recommended Standard 232 § Suporta comunicação síncrona e assíncrona § Sinalização de transmissão dos dados § Clock variável Comunicação serial - sinalização Comunicação Serial com “Handshaking” DTEDTE DCEDCE TxDTxD RTSRTS CTSCTS RTSRTS CTSCTS TxDTxD DADO SERIAL RTS – Request to Send CTS – Clear to Send Comunicação Serial RS 232 Comunicação Serial RS 232 -- CC Porta serial – formatando os dados § Start bits: Indicam o início de um byte § Serve para diferenciar barramento livre de barramento em uso § Bit de paridade § Para fins de detecção de erro (ruído na linha) § Bits de parada: § Indicam o fim da palavra § Conhecidos como siglas (8N1, 8N2, …) Start, stop e parity bits a. Formato do Caractere 1, 1e 1/2 ou 2 stop bits próximo caracter repouso 5 a 8 bits de dados bit de paridadestart bit bits de repouso 1 0 1/0 1/0 1/0 1/0 1/0 1/0 1/01 1 1 1 start bit b. Sincronismo O sincronismo é feito a cada caractere, através de um clock localizado no receptor, cujo período é K vezes menor do que o período de duração do bit. TB = K.Tc TB - tempo de duração do bit Tc - período do clock de sincronismo do caractere Comunicação Serial AssíncronaComunicação Serial AssíncronaComunicação Serial Assíncrona 39 Serial Transmission Using UARTs embedde d device 1 0 0 1 1 0 1 1 Sending UART 1 0 0 1 1 0 1 1 Receiving UART 1 0 0 1 1 0 1 1 start bit dat a end bit 1 0 0 1 1 0 1 1 § UART: Universal Asynchronous Receiver Transmitter § Takes parallel data and transmits serially § Receives serial data and converts to parallel Barramentos I2C e SPI I2C e SPI § Barramentos muito usados para sensores digitais § Uso em sistemas embarcados, por exemplo controle de temperatura, umidade, LCDs, comunicação, etc Sensores analógicos § Não iremos tratar no curso proportionality Vmax = 7.5V 0V 1111 1110 0000 0010 0100 0110 1000 1010 1100 0001 0011 0101 0111 1001 1011 1101 0.5V 1.0V 1.5V 2.0V 2.5V 3.0V 3.5V 4.0V 4.5V 5.0V 5.5V 6.0V 6.5V 7.0V analog to digital 4 3 2 1 t1 t2 t3 t4 0100 1000 0110 0101 time an al og in pu t ( V ) Digital output digital to analog4 3 2 1 0100 1000 0110 0101 t1 t2 t3 t4 time an al og o ut pu t ( V ) Digital input SPI – Serial Parallel Interface § Interface síncrona, com arbitragem centralizada, serial I2C - Inter Integrated Circuit § Comunicação serial de baixa velocidade master 1 master 2 slave 1 slave 2 SCL SDL data line clock line E/S no I2C § Todo dispositivo tem um endereço (7 ou 10 bits) § Bit 8 indica se é leitura ou escrita § Permite sinal enviado para todos os dispositivos I2C transmissions multi-byte write read from slave write, then read S adrs 0 data data P S adrs 1 data P S adrs 0 data S adrs 1 data P Fieldbus § Used for industrial control and instrumentation---factories, etc. § H1 standard based on 31.25 MB/s twisted pair medium. § High Speed Ethernet (HSE) standard based on 100 Mb/s Ethernet. Fieldbus § Padrão na indústria em sistemas de controle Barramentos de um PC Barramento ISA § Industry Standard Architecture § Defunto § Primeiro padrão de barramento (interesse das fabricantes de periféricos) § Compatível com o primeiro barramento do PC AT § 8,33MHz § EISA: Extended ISA Barramento PCI § Peripheral Component Interconnect bus § Surgiu com o advento das interfaces gráficas § Patentes em domínio público: até algumas SUN usam § ISA: 16,7Mbps, EISA: 33,3Mbps § PCI 1.0: 133Mbps § PCI 2.0: 528Mbps § Operando em 5V e 3.3V (compatibilidade) Conectores PCI Barramento AGP § Surgiu com as placas gráficas aceleradoras e redes de computadores de alta velocidade § Accelerated Graphics Port Bus § Versões: § 1x – 264Mbps § … § 8x – 2.1Gbps Conexões PCI e AGP Barramentos “comutados” § O aumento do número de linhas dos barramentos gera muita interferência § Limitação de distância física entre placas de E/S e controlador do barramento § Solução: voltar à transmissão serial de dados, mas em alta velocidade Barramentos “comutados” § O barramento funciona como uma rede de computadores § Controlador do barramento vira um “switch” (comutador) § Dados são enviados em “pacotes”, que são comeutados pelo controlador do barramento Barramentos “comutados” § Pacotes possuem diversos tipos: § Dados § Serviços (interrupções, pedir exclusividade do barramento, alocar tempo do barramento, consultar dispositivos ligados) § Gerenciamento dos dispositivos (ligar, desligar, modificar parâmetros de funcionamento) § Pacotes possuem campos específicos que identificam o seu tipo PCI Express PCI Express - Camadas Camadas do PCI Express § Camadas física e de enlace transmitem os dados § Camada de transação implementa interrupções, DMA, etc § Camada de software faz interface com SO, e.g. emulação de interface ISA ou PCI tradicional USB – Universal Serial Bus § Barramento serial para dispositivos externos § Dispositivos externos: normalmente mais lentos que as placas internas Pacotes USB The Universal Serial Bus (2) § Figure 3-58. The USB root hub sends out frames every 1.00 msec. The Universal Serial Bus Goals of USB developers: • Users must not have to set switches or jumpers • Users must not have to open the case to install new devices • There should be only one kind of cable • I/O devices should get power from the cable • Up to 127 devices should be attachable to a single computer • The system should support real-time devices (e.g., sound) • Devices should be installable while the computer is running • No reboot should be needed after installing a new device • The bus and devices should be inexpensive to manufacture Muitos barramentos, muitos problemas § Acesso à memória pede maior velocidade a cada nova geração de processador § Barramentos devem evoluir a cada geração § Compatibilidade com placas antigas § Uso das pontes (bridges) ligando barramentos lentos a barramentos rápidos Compatibilidade: bridges
Compartilhar