Hardware/Software co-design para aplicações de processamento de voz

Tamanho: px
Começar a partir da página:

Download "Hardware/Software co-design para aplicações de processamento de voz"

Transcrição

1 Hardware/Software co-design para aplicações de processamento de voz Pedro Manuel Fonseca da Mota (ee00022) Pedro Manuel Vieira dos Santos (ee00115)

2 Hardware/Software co-design para aplicações de processamento de voz - 1 Este projecto foi desenvolvido no âmbito da cadeira de Projecto, Seminário ou Trabalho de fim de curso em parceria com a empresa Chipidea. Pretende-se agradecer a orientação dos responsáveis da Feup, professor João canas Ferreira e professor Aníbal José Ferreira e da empresa Chipidea, em particular aos Engº António Pacheco e Engº Vasco Santos, pela sua preciosa colaboração.

3 Hardware/Software co-design para aplicações de processamento de voz Sumário Introdução O codec de voz AMR Descrição geral Princípios do codificador de voz AMR Princípios do descodificador de voz AMR Detector de presença de voz (VAD) Controlo do débito (SCR) Código C para o codec de voz AMR Conteúdos do código C Execução do programa Estrutura do código Hierarquia do código OpenRISC 1200 RISC/DSP Core Descrição do OpenRISC 1200 Core CPU/DSP Unidade de Instruções Registos para uso genérico (GPR) Unidade de Load/Store Excepções System Unit Pipeline e MAC Unit DSP MAC Caches Memory Management Unit Power Management Unit Unidade de Debug Tick Timer Integrado Programmable Interrupt Controller Unidades Adicionais E Definidas Pelo Utilizador Ferramentas De Suporte Ao Desenvolvimento Sistemas Operativos Suportados: Interface do Sistema Nível de transferência lógica de registos do OR CPU Core top-level Slices associadas ao CPU Core Top-level do OPENRISC Adaptando o Or1k ao espaço disponível Ferramentas de desenvolvimento Ferramentas disponíveis e funcionalidade Instalação das ferramentas Produção de binários e ferramentas auxiliares Simulação dos binários produzidos Funções de interesse presentes na libraria usada no linking Profiling e análise do codec AMR Introdução...70

4 Hardware/Software co-design para aplicações de processamento de voz Análise ao estilo de programação definido pela norma Operações básicas Uso do ficheiro count.c para realizar o profiling do codec Profiling do codec AMR Optimização do algoritmo pesquisa do codebook inovativo no modo 12.2 kbit/s Medição das operações básicas no codec Pequeno programa a simular no processador lei A Introdução A lei A Implementação da lei A no processador O caminho para a implementação do Or1k em hardware Plataforma de desenvolvimento Comunicação entre a memória e o Or1k Controlador de Memórias Área ocupada pelo controlador de memórias Configuração do controlador de memórias Aceder aos registos de configuração e ao espaço de memória Testbench do controlador de memórias Descrição das unidades auxiliares para teste Testes pretendidos para o modelo desenvolvido e concretização Formas de onda obtidas e o protocolo wishbone Or1k e memory controller: necessidade de um arbitrador Testbench para o sistema master/slave Adaptação da norma do codec AMR à arquitectura do processador OpenRISC Definição dos tipos de variáveis no OpenRISC Funções não reconhecidas pelo compilador do OpenRISC Optimização das operações básicas no OpenRISC Escrita de instruções assembly em código C Colocação das operações básicas inline O uso de macros mas operações básicas Alteração do código nas funções básicas As flags de Overflow e Carry Instruções de adição/subtracção Instruções de multiplicação Instruções de normalização Instruções shift left/right Instruções mac Outras instruções Problemas encontrados Problemas do compilador Melhorias observadas pelo uso das macros Perspectivas de desenvolvimento futuras Operações básicas a serem implementadas na arquitectura do OPENRISC bits versus 16 bits Conclusões Bibliografia

5 Hardware/Software co-design para aplicações de processamento de voz - 4 Lista de Figuras Figura 1: Funções gerais do processamento de áudio do codec AMR...13 Figura 2: Diagrama de blocos simplificado do modelo de síntese de voz CELP...14 Figura 3: Diagrama de blocos simplificado do codificador de voz AMR...17 Figura 4: Diagrama de blocos simplificado do descodificador de voz AMR Figura 5: Diagrama de blocos simplificado do algoritmo VAD Figura 6: Diagrama de blocos de uma ligação com operação SCR...21 Figura 7 - OpenRISC 1200 Core...31 Figura 8 - Blocos que constituem o CPU/DSP Core...33 Figura 9: Estrutura da cache...36 Figura 10 CvsGet da página Figura 11: Esquema que representa o Core do CPU...42 Figura 12: Organização do top-level do Or1k (slices ocupadas por cada módulo)...45 Figura 13: Configuração do OpenRisc 1200 no seu top-level e interface com o exterior...49 Figura 14: Resultados obtidos ao ser invocado o or32-uclinux-objdump S mul...58 Figura 15:Resultados obtidos ao ser invocado o or32-uclinux-readelf a mul...60 Figura 16: Resultados da execução do comando or32-uclinux-readelf x 1 mul...60 Figura 17:Resultados obtidos ao ser invocado o or32-uclinux-size -- radix=16 mul ( formatação em hexadecimal)...61 Figura 18: Configuração da memória usada no simulador...65 Figura 19:Resultado da execução do programa de teste mul...67 Figura 20: Resultado da simulação do ficheiro representado acima...69 Figura 21: Interface necessário para realizar a comunicação com a memória da Cypress...84 Figura 22: Modelo pretendido em relação ao controlador de memórias...85 Figura 23:Arquitectura do controlador de memórias...86 Figura 24:Registos de configuração presentes no controlador de memórias...90 Figura 25:Modelo usado no testbench...92 Figura 26: Modo de geração dos endereços quando se realizam bursts...94 Figura 27: Timings e formas de onda associados à leitura da memória da Micron...94 Figura 28:Timings e formas de onda que estão associados à memória da Micron...95 Figura 29: Programação da mascara para o base address e do control status register...96 Figura 30:Configuração do CSC register e TMS register...96 Figura 31: Resultado da execução do testbench default relativo ao memory controller...97 Figura 32: Formas de onda associadas à escrita/leitura usando o protocolo wishbone...99 Figura 33:Descrição dos sinais de wishbone Figura 34: Memória instanciada no sistema Figura 35: Resultado da simulação em relação aos sinais da SSRAM Figura 36: Modificação para fazer uso da memória da Cypress Figura 37: Forma de ondas obtidas com a memória da Cypress Figura 38 Configuração do Wishbone builder Figura 39: Modelo Master Model para teste Figura 40 : Teste do master model com acessos alternados Figura 41: Resultados da execução do testbench com acesso concorrente dos...107

6 Hardware/Software co-design para aplicações de processamento de voz - 5

7 Hardware/Software co-design para aplicações de processamento de voz - 6 Lista de Tabelas Tabela 1: Alocação de bits do algoritmo do codec AMR para uma frame de 20 ms...18 Tabela 2: Estruturas existentes no codificador de voz AMR Tabela 3: Estruturas existentes no descodificador de voz AMR...27 Tabela 4: Estrutura da chamada das funções do codificador...28 Tabela 5: Estrutura da chamada das funções da função cbsearch Tabela 6: Estrutura da chamada das funções da função gainquant Tabela 7: Estrutura da chamada das funções do descodificador Tabela 8: Macros e respectiva interferência no sistema...40 Tabela 9: Módulos presentes no CPU Core, correspondência com ficheiro e respectiva funcionalidade...43 Tabela 10: Ficheiro e funcionalidade correspondentes para um determinado módulo do Or1k...46 Tabela 11: Slices ocupadas por cada uma das memórias...49 Tabela 12:Comandos disponíveis no simulador e respectiva funcionalidade...64 Tabela 13: Secções que constituem o sim.cfg e que podem sofrer alterações...67 Tabela 14: Operações básicas usadas pela norma do codec AMR...72 Tabela 15: Peso computacional do codec AMR em WMOPS (weighted million operations per second)...74 Tabela 16: Peso computacional do codificador de voz AMR no modo 12.2 kbit/s em WMOPS Tabela 17: Peso computacional do descodificador de voz AMR no modo 12.2 kbit/s em WMOPS Tabela 18: Posições potenciais dos pulsos individuais no codebook algébrico para o modo 12.2 kbit/s Tabela 19: Número de ocorrências médias das operações básicas do codec no modo 12.2 kbit/s por frame Tabela 20: Codificação definida pela lei A Tabela 21: Configuração do Chip select register para uma memória SSRAM...88 Tabela 22: Lista de sinais associados ao protocolo wishbone e respectiva funcionalidade (obtidos a partir do documento de wishbone)...98 Tabela 23: Número de instruções obtido da simulação para o codificador e descodificador.126 Tabela 24: MIPS médio para codificador e descodificador...126

8 Hardware/Software co-design para aplicações de processamento de voz - 7 Ficheiros de Apoio Ficheiro de apoio 1: default.ld- contém as definições das diversas regiões de memória e endereços iniciais...55 Ficheiro de apoio 2:Makefile que permite a criação do binário a ser usado para a simulação.56 Ficheiro de apoio 3: Aspecto do simulador. São evidenciados os registos e as instruções do processador Ficheiro de apoio 4: Ficheiro que mostra a potencialidade das funções referidas...69

9 Hardware/Software co-design para aplicações de processamento de voz - 8 Anexos Anexo 1:Versão simplificada do algoritmo do codificador ficheiro s10_8pf.c Anexo 2:Contagem das operações básicas da norma do codec ficheiro count.c Anexo 3: Implementação da lei A em código C Anexo 4:Top level do CPU Anexo 5: Instruções de vírgula fixa do processador Or1k Anexo 6: Funções básicas da norma do codec implementadas em asssembly Anexo 7: tt_ssram.v Anexo 8: bench.v Anexo 9: wb.vhd (descrição do master slave) Anexo 10: Wishone.defines (definições para a elaboração do master slave) Anexo 11: Modelo verilog da memória da Cypress Anexo 12: Modelo verilog da memória da Micron Anexo 13: bench1.v Anexo 14: bench2.v Anexo 15: Or1k TOP level Anexo 16: mc_defines.v Anexo 17 : Top level do master slave...219

10 Hardware/Software co-design para aplicações de processamento de voz Sumário A sociedade moderna assenta a sua dinâmica nas telecomunicações e contacto em tempo real. Por essa razão vários sistemas capazes de realizar a codificação de voz têm sido desenvolvidos. Integrado no contexto mencionado, neste projecto pretende-se realizar a implementação de um codificador de voz de débito variável, usando um processador dedicado. A linha orientadora assenta sobre a optimização quer a nível de software, a que corresponde a modificação de algoritmos, quer a nível de hardware, onde a arquitectura do processador é refinada para a aplicação desenvolvida. Este codec tem a capacidade de baixar ou aumentar o seu débito mediante as maiores ou menores interferências no canal de comunicação. Nas condições referidas, a codificação de canal contra erros será maior no caso de interferências mais acentuadas, garantindo-se assim que o bom desempenho do codec seja mantido. A arquitectura do processador usado é de domínio público, tendo sido desenhada com o objectivo de implementar um sistema capaz de ter consumo de potência reduzido, simplicidade, versatilidade e reduzida área. A avaliação das vantagens e desvantagens da utilização do modelo open-source no desenvolvimento de sistemas electrónicos dedicados é um dos motivos nucleares.

11 Hardware/Software co-design para aplicações de processamento de voz Introdução Neste projecto pretendeu-se realizar a implementação da norma 3GPP TS V6.0.0 de codificação de audio para UMTS usando o processador OpenRisc A arquitectura do processador OpenRISC 1200 é de domínio público, constituindo a base para as famílias de processadores do tipo RISC/DSP de 32-bit e 64-bit. Este codec foi escolhido pela Third Generation Partnership Project (3GPP) como o codec principal para os sistemas da 3ª geração. A filosofia por detrás do AMR é baixar o seu débito assim que as interferências aumentem, possibilitando desta forma uma maior ou menor codificação de canal contra erros. Neste trabalho fez-se o estudo do OR1k, relativamente ao nível de tranferência lógica de registos, verificando qual era a sua caracterização em termos de performance, velocidade e área relativamente a um conjunto de módulos que lhe estavam associados. Essa caracterização é de tal forma importante, que sem a mesma, não se poderia adaptar este processador para a plataforma de desenvolvimento. Na parte do codec, fez-se um profiling das funções que ocupam mais processamento e implementou-se uma modificação no sentido de realizar optimizações a nível computacional com resultados comprovados. Numa outra fase, dedicaram-se os esforços para conseguir ter as ferramentas orientadas a este processador em funcionamento. Fizeram-se testes de pequenos segmentos de código e com base neles compreendeu-se a forma de poder interagir com o compilador e simulador, disponíveis de forma livre. Um teste mais profundo foi a implementação da lei A, onde na parte de software se fizeram as alterações necessárias à implementação do mesmo na arquitectura deste mesmo processador. Por outro lado, observou-se como funcionava a memória deste processador, registos e o assembly gerado com base no código C. A fase que mais recursos consumiu constitui a adaptação do código desta norma para a arquitectura do processador, onde diversas modificações tiveram de ser implementadas. Por outro lado foi necessário integrar o OR1k no sistema oferecido pela plataforma de desenvolvimento, tendo-se encontrado aí dificuldades.

12 Hardware/Software co-design para aplicações de processamento de voz - 11 Após ter sido terminada a adaptação da norma para a arquitectura, procedeu-se à sua caracterização em termos de instruções executadas no simulador, verificando-se que de facto uma variedade de optimizações podia ser implementada. Essas optimizações passaram pela escrita de funções em assembly, revelando-se uma solução poderosa. A integração do or1k continua, passando pela introdução de um controlador de memória, um master/slave capaz de estabelecer prioridades nos barramentos de dados, até chegar a um modelo final em que o core do OR1k tem acesso à memoria presente na plataforma de desenvolvimento. A optimização da norma revelou ser de facto espantosa em termos do número de instruções agora necessárias, cerca de 2,3 x menos existindo um caminho disponível para melhorar ainda mais este valor. No caso de hardware, o teste de um modelo capaz de verificar se o sistema integrado do or1k, master/slave e memory controller é capaz de funcionar e correr um programa compilado para este processador, foi a ultima tarefa que se pretendeu cumprir.

13 Hardware/Software co-design para aplicações de processamento de voz O codec de voz AMR 3.1 Descrição geral Desenvolvido pela European Telecommunications Standards Institute (ETSI) e standardizado para GSM, este codec foi escolhido pela Third Generation Partnership Project (3GPP) como o codec principal para os sistemas da 3ª geração. A filosofia por detrás do AMR é baixar o seu débito assim que as interferências aumentem, possibilitando desta forma uma maior ou menor codificação de canal contra erros. O AMR também é usado para harmonizar standards entre diferentes sistemas de telecomunicações celulares. O codec de voz AMR consiste assim num codificador de voz de débitos múltiplos, um esquema capaz de controlar e gerir os diferentes débitos através dum detector de presença de voz e um gerador de ruído de conforto, e um mecanismo de cancelamento de erros para combater os efeitos provocados por erros de transmissão. Este codec integra oito diferentes débitos desde 4.75 kbit/s a 12.2 kbit/s para codificar voz propriamente dita e um modo de baixo débito para codificar ruído de fundo. O codificador de voz é capaz de variar o seu débito a cada frame de 20ms. Toda a descrição detalhada deste codec pode ser encontrada no site da 3GPP em Aqui podem ser encontrados todos os documentos que descrevem esta norma em todas as suas vertentes. Na figura seguinte é possível ver-se aquilo que foi descrito anteriormente. Note-se que a fonte do sinal a ser codificada tem que surgir no formato PCM de 13 bits. Caso o sinal de entrada esteja codificado de acordo com a lei A, este terá que ser convertido para PCM de forma a ser codificado correctamente.

14 Hardware/Software co-design para aplicações de processamento de voz - 13 GSM AMR GSM AMR BSS side only GSM AMR Voice Activity Detector 3 1 8bit / A-law to 13-bit uniform LPF A/D 2 Speech Encoder VAD GSM AMR 6 4 Speech frame DTX Control and Operation SP flag 6 7 MS side only TRANSMIT SIDE GSM Comfort Noise TX Functions GSM AMR 5 SID frame Info. bits GSM AMR GSM AMR Info. bits 8 Speech frame substitution BSS side only GSM AMR BFI 9 GSM AMR 13-bit uniform to 8bit / A-law 1 SID 10 DTX Control and Operation 4 Speech Decoder 2 TAF Speech frame D/A LPF 11 GSM AMR 5 SID frame Comfort Noise RX Functions MS side only RECEIVE SIDE GSM Figura 1: Funções gerais do processamento de áudio do codec AMR. 1) 8-bit A-law or µ-law PCM (ITU-T Recommendation G.711), samples/s; 2) 13-bit uniform PCM, samples/s; 3) Voice Activity Detector (VAD) flag; 4) Encoded speech frame, 50 frames/s, number of bits/frame depending on the AMR codec mode; 5) SIlence Descriptor (SID) frame; 6) TX_TYPE, 2 bits, indicates whether information bits are available and if they are speech or SID information;

15 Hardware/Software co-design para aplicações de processamento de voz ) Information bits delivered to the 3G AN; 8) Information bits received from the 3G AN; 9) RX_TYPE, the type of frame received quantized into three bits. 3.2 Princípios do codificador de voz AMR O codec AMR consiste em oito diferentes fontes de débitos: 12.2, 10.2, 7.95, 7.40, 6.70, 5.90, 5.15 e 4.75 kbit/s. Este codec é baseado no modelo CELP (code-excited linear predictive). É usado um filtro de síntese obtido por uma análise de 10ª ordem dos parâmetros de predição linear, dados pela seguinte formúla: 1 1 Hz ( ) = Az $ = ( ) m 1+ az $ i = 1 onde â i são os parâmetros LP quantizados e m = 10 é a ordem de predição. A síntese de pitch é feita recorrendo-se ao seguinte filtro: 1 1 = Bz ( ) 1 g z onde T é o atraso do pitch e g p o seu ganho. Este filtro é implementado usando técnicas adaptativas. p T i i O modelo de síntese deste codec de voz é ilustrado na figura seguinte: adaptive codebook g p v(n) fixed codebook + u(n) 1 s(n) ^ A(z) post-filtering s'(n) ^ g c c(n) LP synthesis Figura 2: Diagrama de blocos simplificado do modelo de síntese de voz CELP.

16 Hardware/Software co-design para aplicações de processamento de voz - 15 Neste modelo, o sinal de excitação à entrada do filtro de síntese LP é construído adicionando-se dois vectores de excitação: um do codebook fixo e outro do codebook adaptativo. O sinal de fala é sintetizado fazendo-se passar pelo filtro LP o sinal proveniente da soma dos codebooks. O sinal de excitação óptimo é obtido fazendo-se uma análise por síntese onde o erro entre o sinal original e o sintetizado é minimizado de acordo com uma medida de distorção pesada perceptual. O filtro de distorção perceptual usado na técnica de análise por síntese é dado por: Az Wz ( ) = Az ( γ 1) ( γ ) onde A(z) é o filtro LP não quantizado e 0 < γ 2 <γ 1 1 são os pesos dos factores perceptuais. Valores de γ 1 = 0.9 (para os modos de 12.2 e 10.2 kbit/s) ou γ 1 = 0.94 (para os restantes modos) e γ 2 = 0.6 são usados. O codificador opera com frames de fala de 20 ms cada, correspondendo a 160 amostras obtidas a um frequência de amostragem de 8000 amostras por segundo. A cada 160 amostras, o sinal é analisado de forma a extrair os parâmetros do modelo CELP: coeficientes do filtro LP, índices e ganhos dos codebooks adaptativo e fixo. Estes parâmetros são codificados e transmitidos. No descodificador, estes parâmetros são descodificados e o sinal de fala é sintetizado fazendo-se passar o sinal de excitação (codebook adaptativo mais codebook fixo) pelo filtro de síntese LP. No diagrama seguinte ilustra-se todas as operações realizadas pelo codificador. Análise LP é realizada duas vezes por frame para o modo de 12.2 kbit/s e uma vez para os restantes modos. Para o modo 12.2 kbit/s, dois conjuntos de parâmetros LP são convertidos para line spectral pairs (LSP) e quantizados juntamente usando split matrix quantization (SMQ) num total de 38 bits. Para os outros modos, é feita uma análise LP que é convertida para LSP e quantizada usando split vector quantization (SVQ). A frame do sinal de fala é dividida em 4 subframes de 5 ms cada (40 amostras). Os parâmetros do codebook fixo e adaptativo são transmitidos em cada subframe. Os parâmetros LP quantizados e não quantizados ou suas versões interpoladas são usadas dependendo da subframe. Um atraso de pitch é estimado em open-loop em cada 2

17 Hardware/Software co-design para aplicações de processamento de voz - 16 subframe (excepto para os modos 5.15 e 4.75 kbit/s onde é feito uma vez por frame) baseado no sinal de fala perceptualmente pesado. De seguida as seguintes operações são repetidas para cada subframe: O sinal objectivo x(n) é calculado filtrando o sinal residual LP através do filtro de síntese pesado W(z)H(z) com o estado inicial dos filtros sendo actualizados pela filtragem do erro entre o LP residual e a excitação (isto é equivalente a subtrair a resposta do filtro de síntese pesado a uma entrada nula ao sinal de fala pesado). A resposta impulsional, h(n) do filtro de síntese pesado é calculada; Uma análise, dita closed-loop, do pitch é realizada (para encontrar o atraso e ganho do pitch), usando o sinal objectivo x(n) e a resposta impulsional h(n), pesquisando em torno do atraso obtido no open-loop pitch. Pitch fraccionários com 1/6 ou 1/3 de resolução de uma amostra (dependendo de modo) são usados; O sina objectico x(n) é actualizado removendo-se a contribuição do codebook adaptativo, e este novo sinal objectivo, x2(n), é usado na pesquisa do codebook algébrico (inovativo), por forma a encontrar o melhor codebook; Os ganhos do codebook adaptativo e inovativo são quantificados escalarmente com 4 e 5 bits respectivamente ou quantificados com 6 ou 7 bits (com predição do movimento da média aplicada ao ganho do codebook fixo); Finalmente, as memórias dos filtros são actualizadas (usando o sinal de excitação determinado) para encontrar o sinal na próxima subframe.

18 Hardware/Software co-design para aplicações de processamento de voz 17 Pre-processing Pre-processing windowing and autocorrelation R[ ] Levinson- Durbin R[ ] A(z) A(z) LSP LSP indices LSP quantization interpolation for the 4 subframes LSP A(z) ^ frame subframe LPC analysis (twice per frame) Open-loop pitch search Adaptive codebook (twice per frame) search Innovative codebook search s(n) interpolation for the 4 subframes LSP A(z) A(z) compute weighted speech (4 subframes) find open-loop pitch A(z) ^ A(z) compute target for adaptive codebook x(n) T o find best delay and gain h(n) quantize LTP-gain compute adaptive codebook contribution x(n) pitch index LTP gain index compute target for innovation x (n) 2 find best innovation code index A(z) ^ A(z) compute impulse response h(n) Filter memory update update filter memories for next subframe compute excitation fixed codebook gain quantization fixed codebook gain index Figura 3: Diagrama de blocos simplificado do codificador de voz AMR. A alocação de bits para o codec AMR nos seus diferentes modos é mostrada na tabela seguinte. Em cada 20 ms de sinal de fala, 95, 103, 118, 134, 148, 159, 204 ou 244

19 Hardware/Software co-design para aplicações de processamento de voz 18 bits são produzidos, correspondendo aos débitos de 4.75, 5.15, 5.90, 6.70, 7.40, 7.95, 10.2 ou kbit/s. Mode Parameter 1st subframe 2nd subframe 3rd subframe 4th subframe total per frame 2 LSP sets kbit/s Pitch delay (GSM EFR) Pitch gain Algebraic code Codebook gain Total 244 LSP set kbit/s Pitch delay Algebraic code Gains Total 204 LSP sets kbit/s Pitch delay Pitch gain Algebraic code Codebook gain Total 159 LSP set kbit/s Pitch delay (TDMA EFR) Algebraic code Gains Total 148 LSP set kbit/s Pitch delay (PDC EFR) Algebraic code Gains Total 134 LSP set kbit/s Pitch delay Algebraic code Gains Total 118 LSP set kbit/s Pitch delay Algebraic code Gains Total 103 LSP set kbit/s Pitch delay Algebraic code Gains Total 95 Tabela 1: Alocação de bits do algoritmo do codec AMR para uma frame de 20 ms. 3.3 Princípios do descodificador de voz AMR No diagrama da figura seguinte é ilustrado o processo de descodificação e síntese dum sinal de fala produzido pelo descodificador AMR.

20 Hardware/Software co-design para aplicações de processamento de voz 19 frame subframe post-processing LSP indices decode LSP interpolation of LSP for the 4 subframes pitch index gains indices code index decode adaptive codebook decode innovative codebook decode gains construct excitation synthesis filter s(n) ^ post filter ^ s'(n) LSP ^ A(z) Figura 4: Diagrama de blocos simplificado do descodificador de voz AMR. Aqui, dependendo do modo escolhido, os índices transmitidos são extraídos do bitstream recebido. Estes índices são descodificados para obter os parâmetros de codificação a cada frame transmitida. Os parâmetros são os vectores LSP, os atrasos fraccionários do pitch, o codebook inovativo e os ganhos do pitch e codebook inovativo. Os vectores LSP são convertidos nos coeficientes do filtro LP e interpolados para obter filtros LP em cada subframe. Então, a cada 40 amostras (subframe) é realizado o seguinte: A excitação é construída por adição do codebook inovativo e adaptativo escalados dos seus respectivos ganhos; O sinal de fala é reconstruído por filtragem da excitação através do filtro de síntese LP. Finalmente, o sinal de fala reconstruído é filtrado por uma pós-filtragem adaptativa. 3.4 Detector de presença de voz (VAD) O algoritmo VAD (voice activity detector) usa os parâmetros do codificador de voz para calcular uma flag que simplesmente indique a presença ou não de um sinal de voz.

21 Hardware/Software co-design para aplicações de processamento de voz 20 No esquema seguinte pode-se ver um diagrama de blocos representativo deste algoritmo. s(i) Filter bank and computation of sub-band levels level[n] T_op[n] Pitch detection pitch tone VAD decision VAD_flag t0,t1 Tone detection complex_warning OL-LTP correlation vector Complex signal analysis complex_timer Figura 5: Diagrama de blocos simplificado do algoritmo VAD. Amostras da frame de entrada, s(i), são divididas em sub-bandas e o nível do sinal para cada sub-banda é então calculado. A entrada do bloco de detecção de pitch, T_op[n], é o resultado do atraso do pitch calculado no codificador de voz. Este bloco calcula uma flag (pitch) que indica a presença ou não de pitch. O bloco de detecção de tom calcula uma flag (tone), que indica a presença de um tom de informação. Tons são detectados tendo como base o ganho de pitch obtido na análise em open-loop pelo codificador de voz. A detecção de sinais complexos calcula uma flag (complex_warning), indicando a presença de sinais complexos como, por exemplo, música. Esta detecção é feita tendo como base o vector de correlação disponível na análise em open-loop do pitch. A função de decisão de VAD estima níveis de ruído de fundo. Estes níveis são comparados com os níveis da frame de entrada (level[n]) por forma a tomar-se uma decisão intermédia. Finalmente, a decisão final é tomada tendo em consideração decisões tomadas anteriormente.

22 Hardware/Software co-design para aplicações de processamento de voz Controlo do débito (SCR) A operação SCR (source controlled rate) é o mecanismo que permite a um codificador de voz AMR codificar com um débito médio inferior, tendo em conta os períodos de inactividade de voz. Este esquema é particularmente útil para se poder poupar energia nos equipamentos terminais, uma vez que quando não há actividade de voz, o processamento sobre o sinal fica simplificado para reduzir cargas de débitos a que as redes de comunicações ficam sujeitas. Esta operação requer do lado do emissor um detector de voz e um avaliador do ruído de fundo a ser transmitido. Do lado de receptor terá que existir um gerador de ruído de fundo (ruído de conforto), durante os períodos onde a transmissão está desligada. No esquema seguinte pode ver-se uma ligação entre emissor e receptor usando uma operação SCR. TX SCR handler Network RX SCR handler Speech Encoder Voice Activity Detector Comfort Noise Parameter Computation Information bits Mode Indication TX_TYPE Information packeting, transport and classification Information bits Mode Indication RX_TYPE Figura 6: Diagrama de blocos de uma ligação com operação SCR. Speech Decoder Error Concealment Comfort Noise Generation De notar que, em adição a estas funcionalidades, se os parâmetros chegados ao receptor forem detectados como estando seriamente corrompidos por erros, o sinal de fala ou de ruído de conforto deve ser substituído por outros dados de forma a evitar efeitos desagradáveis para o ouvinte. 3.6 Código C para o codec de voz AMR Esta é a parte da norma que engloba as diferentes componentes que constituem o codec AMR. Aqui, foi realizada uma implementação em vírgula fixa das funções que codificam a voz, o detector de presença de voz, ruído de conforto, controlo de débito e substituição de frames perdidas.

Figura 3.1 Diagrama de blocos do codificador de voz do ITU-T G.723.1

Figura 3.1 Diagrama de blocos do codificador de voz do ITU-T G.723.1 3 Codificadores de Voz em Telefonia IP e Móvel Celular Para o desenvolvimento de sistemas de reconhecimento de voz distribuídos voltados a rede IP e rede móvel celular é necessário conhecer os codificadores

Leia mais

Codificadores de voz do MPEG-4. Eriko Porto eriko_porto@uol.com.br

Codificadores de voz do MPEG-4. Eriko Porto eriko_porto@uol.com.br Codificadores de voz do MPEG-4 Eriko Porto eriko_porto@uol.com.br Roteiro Introdução Waveform Codecs Source Codecs Hybrid Codecs Áudio no MPEG-4 Comparação entre alguns codecs Codificadores de Voz Introdução

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy) Capítulo 4 João Lourenço Joao.Lourenco@di.fct.unl.pt Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa 2007-2008 MARIE (Machine Architecture Really Intuitive and Easy) Adaptado dos transparentes

Leia mais

Recomendação H.261 para serviços audiovisuais a taxas de transmissão p*64 kbit/s

Recomendação H.261 para serviços audiovisuais a taxas de transmissão p*64 kbit/s 1. Introdução A compressão digital de imagem tem vindo a ganhar uma importância crescente, em especial nos sistemas de transmissão, uma vez que a capacidade dos canais é normalmente limitada e muito inferior

Leia mais

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1 Entrada e Saída Interface entre periféricos, processador e memória Fonte: Minho - Portugal 1 Ligação Processador/Memória - Periférico Processador Memória Controlo Dados Controlador Fonte: Minho - Portugal

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Unidade Central de Processamento

Unidade Central de Processamento Unidade Central de Processamento heloar.alves@gmail.com Site: heloina.com.br 1 CPU A Unidade Central de Processamento (UCP) ou CPU (Central Processing Unit), também conhecida como processador, é responsável

Leia mais

Edeyson Andrade Gomes

Edeyson Andrade Gomes Sistemas Operacionais Conceitos de Arquitetura Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Máquinas de Níveis Revisão de Conceitos de Arquitetura 2 Máquina de Níveis Máquina de níveis Computador

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ICO Aula N : 09 Tema: Unidade Central de

Leia mais

Introdução à Arquitetura de Computadores

Introdução à Arquitetura de Computadores 1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de

Leia mais

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2) Arquitectura de um computador Caracterizada por: Conjunto de instruções do processador (ISA Estrutura interna do processador (que registadores existem, etc Modelo de memória (dimensão endereçável, alcance

Leia mais

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema. Unidade aritmética e lógica - Executa operações aritméticas (cálculos);

Leia mais

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Primeiros computadores digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna Execução de um O executa um Quais os seus componentes? Como estes se organizam e interactuam? entrada de dados processador, memória, input bits periféricos,etc bits saída de dados output Primeiros "es"

Leia mais

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento CPU - Significado CPU Central Processing Unit Unidade Central de Processamento CPU - Função Na CPU são executadas as instruções Instrução: comando que define integralmente uma operação a ser executada

Leia mais

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel O Nível ISA Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel Nível ISA (Instruction Set Architecture) Tipos de dados Inteiros (1, 2, 4 ou 8 bytes) Servem também para representar

Leia mais

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S Estruturas de sistemas de computação Sumário! Operação de um sistema de computação! Estruturas de E/S! Estruturas de armazenamento! Hierarquia de armazenamento 2 1 Arquitectura de um sistema de computação

Leia mais

Sistemas Operativos I

Sistemas Operativos I Gestão da Memória Luis Lino Ferreira / Maria João Viamonte Fevereiro de 2006 Gestão da Memória Gestão de memória? Porquê? Atribuição de instruções e dados à memória Endereços lógicos e físicos Overlays

Leia mais

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 7 Unidade Central de Processamento (UCP): O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento e de controle, durante a execução de um

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores

Leia mais

Funcionamento básico de um computador

Funcionamento básico de um computador Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Electrónica dos Sistemas Embebidos. Guia de Laboratório II

Electrónica dos Sistemas Embebidos. Guia de Laboratório II Electrónica dos Sistemas Embebidos Guia de Laboratório II IST-2014 A -Objectivos Com este guia pretende-se tomar contacto com cada um dos blocos fundamentais do sistema de comunicações em PCM. Os sinais

Leia mais

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO Rafael Vargas Implementação de um soft-core em VHDL baseado no conjunto de instruções MIPS-I

Leia mais

Microprocessadores. Prof. Leonardo Barreto Campos 1

Microprocessadores. Prof. Leonardo Barreto Campos 1 Microprocessadores Prof. Leonardo Barreto Campos 1 Sumário Introdução; Arquitetura de Microprocessadores; Unidade de Controle UC; Unidade Lógica Aritméticas ULA; Arquitetura de von Neumann; Execução de

Leia mais

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01 Unidade Central de Processamento (CPU) Processador Renan Manola Introdução ao Computador 2010/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória Principal

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Modelo Genérico de Módulo de E/S Grande variedade de periféricos Conteúdo Capítulo 7 Entrada/Saída Dispositivos externos Módulos E/S Técnicas de E/S E/S Programada E/S Conduzida por interrupções Processamento de interrupções Controlador Intel 82C59A Acesso Directo à

Leia mais

Implementação de pipelines

Implementação de pipelines Implementação de pipelines João Canas Ferreira Novembro de 2005 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP JCF, 2005 AAC (FEUP/LEIC) Implementação

Leia mais

ESCOLA SECUNDÁRIA MANUEL DA FONSECA - SANTIAGO DO CACÉM

ESCOLA SECUNDÁRIA MANUEL DA FONSECA - SANTIAGO DO CACÉM p./9 Grupo Disciplinar: 540 Ano Lectivo: 008/009 -Circuitos sequenciais síncronos.. Aplicações com contadores síncronos... Registos. Utilizar circuitos CMOS da série 74HCT ou 4000. Testar o funcionamento

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 8: 04 de maio de 2010 1 Formatos de instruções MIPS 2 Endereçamento de operandos imediatos de 32 bits Endereçamento em desvios Modos de endereçamento do MIPS 3

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

Integração dos Leitores RFID no autómato programável

Integração dos Leitores RFID no autómato programável Integração dos Leitores RFID no autómato programável Neste breve documento são apresentados os equipamentos disponibilizados, as suas características e modos de funcionamento. Serão descritos os diferentes

Leia mais

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Componentes básicos de um sistema computacional. Cap. 1 (Stallings) Componentes básicos de um sistema computacional Cap. 1 (Stallings) 1 Sistema de Operação Explora recursos de hardware de um ou mais processadores Provê um conjunto de serviços aos utilizadores Gerencia

Leia mais

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores. 7.3.1.2 Registradores: São pequenas unidades de memória, implementadas na CPU, com as seguintes características:

Leia mais

Arquitetura de Computadores - Revisão -

Arquitetura de Computadores - Revisão - Arquitetura de Computadores - Revisão - Principais funções de um Sistema Operacional Componentes básicos da Arquitetura Barramentos Registradores da CPU Ciclo de Instruções Interrupções Técnicas de E/S

Leia mais

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA

Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Sistemas Digitais Reconfiguráveis Projecto de uma placa com DIP-Switches e LCD com ligação à placa DETIUA Liliana Rocha Nicolau Lopes da Costa 27611 Ano Lectivo de 2006/2007 Universidade de Aveiro 1. Objectivos

Leia mais

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / 2012. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2011 / 2012 Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem

Leia mais

O sucesso alcançado pelos computadores pessoais fica a dever-se aos seguintes factos:

O sucesso alcançado pelos computadores pessoais fica a dever-se aos seguintes factos: O processador 8080 da intel é tido como o precursor dos microprocessadores, uma vez que o primeiro computador pessoal foi baseado neste tipo de processador Mas o que significa família x86? O termo família

Leia mais

CerVANTES. Co-VAlidatioN Tool for Embedded Systems. Autor: José Cabrita. Orientadores: José Costa e Paulo Flores. INESC-ID, grupo ALGOS

CerVANTES. Co-VAlidatioN Tool for Embedded Systems. Autor: José Cabrita. Orientadores: José Costa e Paulo Flores. INESC-ID, grupo ALGOS CerVANTES Co-VAlidatioN Tool for Embedded Systems Autor: José Cabrita Orientadores: José Costa e Paulo Flores INESC-ID, grupo ALGOS 1 1 Objectivo Este projecto tem como objectivo a implementação de um

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1 Capítulo Sistemas de Memória Memória Virtual Ch7b Memória Virtual Memória principal funciona como uma cache para o armazenamento secundário (disco) Virtual addresses Physical addresses Address translation

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Introdução à Programação 2006/07. Computadores e Programação

Introdução à Programação 2006/07. Computadores e Programação Introdução à Programação 2006/07 Computadores e Programação Objectivos da Aula Noção de computador. Organização Interna de um Computador Noção de Sistema Operativo. Representação digital de informação

Leia mais

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / 2013. Gestor de Processos

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / 2013. Gestor de Processos Gestor de Processos Núcleo do Sistema Operativo Sistemas Operativos 2012 / 2013 Gestor de Processos Entidade do núcleo responsável por suportar a execução dos processos Gestão das Interrupções Multiplexagem

Leia mais

Nível da Microarquitetura

Nível da Microarquitetura Nível da Microarquitetura (Aula 10) Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Agradecimentos: Camilo Calvi - LPRM/DI/UFES Máquina de Vários Níveis Modernas (ISA)

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

BARRAMENTO DO SISTEMA

BARRAMENTO DO SISTEMA BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade

Leia mais

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86 Arquitetura de Computadores Arquitetura dos Processadores Intel 80x86 Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Família Intel 80x86 Ao se falar

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Sistemas Operativos I

Sistemas Operativos I Arquitectura de um Computador Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sumário Arquitectura de um Computador Estrutura de I/O Estrutura de Armazenamento Hierarquia de Armazenamento Protecção

Leia mais

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Sumário Unidade Lógica Aritmetrica Registradores Unidade Lógica Operações da ULA Unidade de Ponto Flutuante Representação

Leia mais

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador

Leia mais

CIRCUITOS E SISTEMAS ELECTRÓNICOS

CIRCUITOS E SISTEMAS ELECTRÓNICOS INSTITUTO SUPERIOR DE CIÊNCIAS DO TRABALHO E DA EMPRESA Enunciado do 2º Trabalho de Laboratório CIRCUITOS E SISTEMAS ELECTRÓNICOS MODELAÇÃO E SIMULAÇÃO DE CIRCUITOS DE CONVERSÃO ANALÓGICO-DIGITAL E DIGITAL-ANALÓGICO

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Componentes de um Computador (5) Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02597 Com slides de Roberta Lima Gomes

Leia mais

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario

Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario Arquitetura de Computadores Assembly Miscelâneas Mário O. de Menezes http://www.tf.ipen.br/~mario AC Mário O. de Menezes 1 Lembrando Instruções Lógicas e Shift operam em bits individuais, diferente de

Leia mais

Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional

Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional Capítulo 5 Nível ISA Primeiro nível desenvolvido, historicamente Atualmente existente entre o nível da microarquitetura e do sistema operacional Compatibilidade com os níveis ISA anteriores!! => Pressão

Leia mais

Arquitectura de Computadores. Dicas e Truques do Assembly do P3

Arquitectura de Computadores. Dicas e Truques do Assembly do P3 Instituto Superior Técnico Arquitectura de Computadores Dicas e Truques do Assembly do P3 Prof. Renato Nunes Versão 2.0 03/03/2008 1. Introdução Este documento contém vários pedaços de código, instruções

Leia mais

Arquitetura Genérica

Arquitetura Genérica Arquitetura Genérica Antes de tudo, vamos revisar o Modelo Simplificado do Funcionamento de um Computador. Modelo Simplificado do Funcionamento de um Computador O funcionamento de um computador pode ser

Leia mais

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença

LEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença LEI Sistemas de Computação 2014/15 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA 8 CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA A porta paralela, também conhecida por printer port ou Centronics e a porta serial (RS-232) são interfaces bastante comuns que, apesar de estarem praticamente

Leia mais

Unidade de Controlo. Unidade Aritmética e Lógica

Unidade de Controlo. Unidade Aritmética e Lógica Métodos de Programação I Departamento de Matemática, FCTUC 8 Modelo de Organização de um Computador Digital - Modelo de Von Neumann Neste modelo esquemático de organização de um computador digital tradicional

Leia mais

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tempos de Acesso

Leia mais

Arquitetura de um Computador

Arquitetura de um Computador Arquitetura de um Computador Discos Impressora tape-drives CPU Controlador Disco Controlador impressora Controlador tape-driver controlador memoria bus memoria Os periféricos de I/O e o CPU executam concorrentemente.

Leia mais

Codificação de áudio para transmissão de voz em tempo real

Codificação de áudio para transmissão de voz em tempo real Luis Eduardo Pereira Bueno Codificação de áudio para transmissão de voz em tempo real Trabalho elaborado como parte da avaliação da disciplina Processamento Digital de Sinais, ministrada pelo prof. Marcelo

Leia mais

Mestrado em Engenharia Electrotécnica e de Computadores

Mestrado em Engenharia Electrotécnica e de Computadores Mestrado em Engenharia Electrotécnica e de Computadores Projecto de Circuitos e Sistemas Digitais (2000/01) Gerador digital de tons DTMF (Dual-Tone Multi-Frequency) para codificação de dígitos na linha

Leia mais

2- Conceitos Básicos de Telecomunicações

2- Conceitos Básicos de Telecomunicações Introdução às Telecomunicações 2- Conceitos Básicos de Telecomunicações Elementos de um Sistemas de Telecomunicações Capítulo 2 - Conceitos Básicos de Telecomunicações 2 1 A Fonte Equipamento que origina

Leia mais

MODELO 827 CARACTERÍSTICAS. Controlador Trunking

MODELO 827 CARACTERÍSTICAS. Controlador Trunking MODELO 827 Controlador Trunking CARACTERÍSTICAS Obedece completamente ao Standard MPT1327/1343 e é compatível com os radiotelefones MPT1352/1327. Tem estrutura modular e o seu sistema de controlo com informação

Leia mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

Leia mais

Escola Secundária de Emídio Navarro

Escola Secundária de Emídio Navarro Escola Secundária de Emídio Navarro Curso Secundário de Carácter Geral (Agrupamento 4) Introdução às Tecnologias de Informação Correcção da ficha de trabalho N.º 1 1. Refere algumas das principais áreas

Leia mais

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software ANHANGUERA EDUCACIONAL Capítulo 2 Conceitos de Hardware e Software Hardware Um sistema computacional é um conjunto de de circuitos eletronicos. Unidade funcionais: processador, memória principal, dispositivo

Leia mais

Manual do utilizador Ethernet

Manual do utilizador Ethernet Manual do utilizador Ethernet Índice 1. Nome da placa de interface e impressora disponível... 2 2. Especificação... 3 3. Forma de instalação... 4 4. Configuração da placa de interface IP fixo... 5 5. Configuração

Leia mais

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura. Universidade de Aveiro Departamento de Engenharia Mecânica Informática Industrial 2010/2011 5 PROTOCOLO DE COMUNICAÇÃO MODBUS 5.1 Protocolo de comunicação MODBUS Este protocolo foi proposto em 1979 pela

Leia mais

Conjunto de Instruções e Arquitectura p.1

Conjunto de Instruções e Arquitectura p.1 Conjunto de Instruções e Arquitectura Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Conjunto de Instruções e Arquitectura p.1 Organização

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 16 de Dezembro de 2004 Microprocessadores

Leia mais

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 1 Processadores Computador Processador ( CPU ) Memória E/S Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento 2 Pastilha 3 Processadores (CPU,, Microcontroladores)

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Aula Prática Bit stuffing, CRC e IP 1 Introdução 1.1 Framing O nível de ligação de dados utiliza o serviço fornecido

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................

Leia mais

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Revisão dos conceitos básicos O processador é o componente vital do sistema de

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

Mecanismo de Interrupção

Mecanismo de Interrupção Mecanismo de Interrupção Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores SUMÁRIO Arquitetura e organização de computadores Hardware Software SUMÁRIO Arquitetura e organização de computadores Terminologia básica Hardware Software Arquitetura e organização

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Arquitetura de Sistemas Embarcados

Arquitetura de Sistemas Embarcados Arquitetura de Sistemas Embarcados (GQD%DUURV HQVE#FLQXISHEU &HQWURGH,QIRUPiWLFD± 8)3( Overview Processador Xscale (Intel) baseado no ARM Processador Intel PXA250 Núcleos de Processadores ARM Os núcleos

Leia mais

Componentes do Computador e. aula 3. Profa. Débora Matos

Componentes do Computador e. aula 3. Profa. Débora Matos Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e

Leia mais

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES TRANSFORMANDO DADOS EM INFORMAÇÕES Em geral, parece que os computadores nos entendem porque produzem informações que nós entendemos. Porém, tudo o que fazem é reconhecer dois estados físicos distintos

Leia mais

1. SINTAXE DA LINGUAGEM ASSEMBLY

1. SINTAXE DA LINGUAGEM ASSEMBLY 1. SINTAXE DA LINGUAGEM ASSEMBLY Antes de se escrever em assembly, é conveniente construir um fluxograma do programa. Um fluxograma não faz referência à linguagem a utilizar, pelo que pode ser utilizado

Leia mais

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. A ARQUITETURA DE UM COMPUTADOR A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957),

Leia mais

MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios

MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios MC404: Organização de Computadores e Linguagem de Montagem Lista de Exercícios 2 o semestre de 2014 - Turmas E/F Prof. Edson Borin Questão 1. Qual a diferença entre as formas de armazenamento de dados

Leia mais

Estrutura de um Computador

Estrutura de um Computador SEL-0415 Introdução à Organização de Computadores Estrutura de um Computador Aula 7 Prof. Dr. Marcelo Andrade da Costa Vieira MODELO DE VON NEUMANN PRINCÍPIOS A arquitetura de um computador consiste de

Leia mais

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária

Codificação da informação. Execução do programa. Codificação binária. Representação de inteiros positivos. Representação binária Execução do a calcula-se determinada solução (output) para determinado problema (input) usando um a que é executado no dados do problema (informação de entrada) a solução (informação resultante) Codificação

Leia mais

Microprocessadores II - ELE 1084

Microprocessadores II - ELE 1084 Microprocessadores II - ELE 1084 CAPÍTULO III OS PROCESSADORES 3.1 Gerações de Processadores 3.1 Gerações de Processadores Primeira Geração (P1) Início da arquitetura de 16 bits CPU 8086 e 8088; Arquiteturas

Leia mais

Sistemas Operativos: Introdução. February 22, 2011

Sistemas Operativos: Introdução. February 22, 2011 Sistemas Operativos: Introdução February 22, 2011 Sumário Introdução aos Sistemas Operativos Organização de Computadores Sistema Operativo Abstracções Oferecidas por um SO Serviços dum SO Interfaces dum

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais