• Nenhum resultado encontrado

Arquiteturas Não Convencionais de Computadores

N/A
N/A
Protected

Academic year: 2021

Share "Arquiteturas Não Convencionais de Computadores"

Copied!
82
0
0

Texto

(1)

Arquiteturas Não Convencionais de Computadores

(2)
(3)

Roteiro da Aula

• Sistema de Entrada/Saída – Conceitos básicos • Discos • Barramento – Características – Sincronização – Arbitragem • Implementando Entrada/Saída – Suporte do S.O. – Suporte do processador – Tipos de Entrada/Saída

• Projetando um sistema de Entrada/Saída • Resumo

(4)

Sistema de E/S

• Dependentes da tecnologia

• Considerações de projeto:

– a possibilidade de expandir o sistema – o comportamento no caso de falhas – o desempenho

(5)

Sistema de E/S

Main memory I/O controller I/O controller I/O controller Disk Graphics output Network Memory– I/O bus

Processor

Cache

Interrupts

(6)

Sistema de E/S

• Desempenho

– tempo de acesso (latência)

– taxa de transferência (throughput) – Dependência:

• características do dispositivo • conexão com o sistema

• hierarquia de memória

(7)

Desempenho com E/S

• Aplicação:

– tempoexecução=100 seg

– CPU = 90 seg, E/S = 10 seg

– tempoexecução= tempoCPU+ tempoE/S

• desempenho da CPU melhora de

50% a cada ano e o do sistema de

E/S não

– tn=to/(1+c)n

• Quanto mais rápida será a aplicação

daqui a 5 anos?

(8)

Desempenho com E/S

N anos TempoCPU TempoE/S Tempototal % tempoI/O

0 90 10 100 10 1 90/1.5=60 10 70 14 2 40 10 50 20 3 27 10 37 27 4 18 10 28 36 5 12 10 22 45

Melhora do DesempenhoCPU=7.5

(9)

Desempenho de E/S

• Métricas

– depende da aplicação

• Taxa de transferência

– Quantidade de dado transferido – Quantidade de operações de E/S

(10)

Dispositivos de E/S

• Comportamento

– Entrada (read once) – Saída (write only)

– Armazenamento( Podem ser lidos e re-escritos)

(11)
(12)

Flash Storage

• Armazenamento de semicondutores não

voláteis

– 100 × - 1000 × mais rápido que o disco – Menor, menor potência, mais robusto – Mas mais $ / GB (entre disco e DRAM)

(13)

Flash Types

• Flash NOR: bit como a porta NOR

– Acesso aleatório de leitura / gravação

– Usado para armazenamento deinstrução em sistemas embarcados

• Flash NAND: célula bit como porta NAND

– Maior densidade (bits / área), mas acesso de bloco por vez

– Mais barato por GB

(14)

Disk Storage

• Armazenamento magnético rotativo não

volátil

(15)

Disk Drivers:Terminologia

• Vários pratos, com a informação armazenada magneticamente em ambas superfícies (usual)

• O Atuador move a cabeça (fim do braço,1/superfície) sobre a trilha (“seek”), seleciona a superfície, espera pelo setor passar sob a cabeça, então lê ou escreve

– “Cilindro”: todas as trilhas sob as cabeças

• Bits armazenados em trilhas, que por sua vez são divididas em setores (e.g., 512 Bytes) Platter Outer Track Inner Track Sector Actuator Head Arm

(16)

Foto: Braço, Cabeça, Atuador e Pratos

Atuador Braço Cabeça Pratos (12) Eixo

(17)

Platter Track Platters Sectors Tracks

Discos magnéticos

• # discos: 1-15 (2 lados) • rotação: 3600 - 7200 rpm • diâmetro: 1-8 inch • # trilhas: 1000-5000 • # setores: 64-200 • setor: 512 bytes

(18)

Discos magnéticos

• Acesso:

– posicionamento da cabeça leitura/escrita

• seek time (mínimo, máximo, médio)

– seleção do setor

• rotational delay (médio)

• ARD = 0.5/3600 RPM = 0.5/3600/60=8.3ms

– tempo de transferência

• depende do tamanho do setor, rotação e capacidade de armazenamento da trilha • 1997: 2 - 15 MB/seg

(19)

Discos magnéticos

• Calculando tempo de leitura:

– Qual o tempo para ler um setor de um disco rotacionando a 10000 rpm?

• Seek time = 6ms (médio) • Taxa = 50 MB/seg

• Overhead controle = 0,2ms

Tempo = seek + rotational + transferencia + overhead

Tempo =6ms + 0.5/(10000/60) + 0.5KB/(50MB/seg) + 0,2ms Tempo =6ms +3 + 0.1+ 0,2ms=9,2ms

(20)

Discos / História

1973: 1. 7 Mbit/pol2 140 MBytes 1979: 7. 7 Mbit/pol2 2,300 MBytes

source: New York Times, 2/23/98, page C3,

(21)

1 10 100 1000 10000 1970 1980 1990 2000 Year A re a l D e n s it y

Discos: história

1989: 63 Mbit/pol2 60,000 MBytes 1997: 1450 Mbit/pol2 2300 Mbytes (2.5” diâmetro)

source: N.Y. Times, 2/23/98, page C3

1997: 3090 Mbit/p2. 8100 Mbytes (3.5” diâmetro) 2000: 10,100 Mb/p2 25,000 MBytes 2000: 11,000 Mb/p2 73,400 MBytes

(22)
(23)
(24)

Sistemas de Armazenamento

Confiabilidade e Disponibilidade

(25)
(26)

Confiança, confiabilidade e Disponibilidade

Confiança = qualidade de serviço

1. Especificação do serviço

• Serviço entregue como especificado

2. Interrupção do serviço

• Serviço entregue é diferente do

especificado

Transições de 1 para 2: falhas

(27)

Infra-estrutura de Hardware Service accomplishment Service delivered as specified Service interruption Deviation from specified service Failure Restoration

Confiança, confiabilidade e Disponibilidade

• Fault: falha de componente

– Pode levar ou não a uma falha no sistema

(28)

Confiança, confiabilidade e Disponibilidade

Confiabilidade =

– Medida da realização continua do serviço – Tempo para a falha (MTTF)

Interrupção do serviço

– Tempo médio para reparo (MTTR)

Tempo médio entre falhas (MTBF)

(29)

Confiança, confiabilidade e Disponibilidade

Disponibilidade: medida de realização

de um serviço:

(30)

Confiança, confiabilidade e Disponibilidade

Para aumentar a MTTF, deve-se melhorar a

qualidade dos componentes ou projetar o

sistema para continuar operando no caso de

falha.

– Fault avoidance: previne a ocorrência de falha por construção

– Fault tolerance: uso de redundancia ou bypass de componentes com falhas.

– Detecção da Falha vs. correção da Falha – Falhas permanentes vs. Faltas transientes

(31)

RAIDs: Disk Arrays

• Arrays de discos pequenos e baratos

– Aumento da taxa de transferência

• Dado espalhado sobre múltiplos discos

• Acessos múltiplos são feitos a vários discos simultâneamente

• Reliability é menor que num disco UNICO

• MAS availability pode ser melhorada pela adição de discos redundantes(RAID)

– Informação perdida pode ser recuperada através da informação redundante

– MTTR: tempo de reparo é da ordem de horas

– MTTF: tempo para acontecer uma falha é dezenas de anos.

Redundant Array of Inexpensive Disks

(32)

RAID: Level 0 (No Redundancy; Striping)

• Discos pequenos múltiplos em vez de um grande disco

– Espalhamento de blocos sobre discos múltiplos– striping –

significa que múltiplos blocos podem ser acessados em paralelo aumentando o desempenho.

• Um sistema de 4 discos resulta em uma taxa 4X maior que a de um disco único.

– Mesmo custo que um disco grande

• Nenhuma redundancia, e se um disco falhar?

– Falha em um ou mais discos é mais provável a medida que o número de discos aumenta.

(33)

RAID: Level 1 (Redundancy via Mirroring)

• Use o dobro de discos de RAID 0 (e.g., 8 pequenos discos com um segundo conjunto de 4 duplicata de primeiro conjunto) existe uma cópia do dado.

– # discos redundantes = # de discos de dados – então o custo duplica

• Escrita deve ser feita em ambos conjunto então o desempenho cai pela metade.

• E se um disco falha?

– O sistema acessa o disco “espelho” para acessar o dado.

blk1.1 blk1.2 blk1.3 blk1.4 blk1.1 blk1.2 blk1.3 blk1.4

(34)

RAID: Level 2 (Redundancy via ECC)

blk1,b0 blk1,b1 blk1,b2 blk1,b3 Checks 4,5,6,7 Checks 2,3,6,7 Checks 1,3,5,7 3 5 6 7 4 2 1 1 0 0 1 0 1 ECC disks 0

ECC discos 4 e 2 aponta para o disco 6 ou 7, MAS disco ECC disco 1 informa que disco 7 está OK, então disco 6 deve ter falha.

1

Arquiteturas Não Convencionais de Computadores

• ECC discos contem a paridade de um conjunto de discos

diferentes e com sobreposição

– # discos redundantes = log (# total de discos de dado) quase o dobro do custo de um disco grande.

• Escrita requer computar a paridade para escrever nos discos ECC • Leitura requer ler disco ECC e confirmar a paridade.

• Pode tolerar falha limitada, desde que o dado pode ser reconstruído.

(35)

RAID: Level 3 (Bit-Interleaved Parity)

blk1,b0 blk1,b1 blk1,b2 blk1,b3 1 0 0 1 (odd) bit parity disk

Arquiteturas Não Convencionais de Computadores

• Custo de alta disponibilidade é reduzido a 1/N onde N é o número de discos em um protection group

– # discos redundantes = 1 × # grupos de proteção

• Escrita requer escrita do dado no disco de dado assim como computar a paridade (leitura de outros discos)

• Pode tolerar falha limitada desde que o dado pode ser reconstruído.

• Leitura requer a leitura de todos os discos operacionais assim como o disco de paridade para calcular o dado desaparecido que estava armazenado no disco com falha.

(36)

RAID: Level 3 (Bit-Interleaved Parity)

• Custo de alta availability é reduzido a 1/N onde N é o número de discos em um protection group

– # discos redundantes = 1 × # grupos se proteção

• Escrita requer escrita do dado no disco de dado assim como computar a paridade (leitura de outros discos)

• Pode tolerar falha limitada desde que o dado pode ser reconstruído.

• Leitura requer a leitura de todos os discos operacionais assim como o disco de paridade para calcular o dado desaparecido que estava armazenado no disco com falha.

blk1,b0 blk1,b1 blk1,b2 blk1,b3

1

0 0 1

(odd) bit parity disk

disk fails

(37)

RAID: Level 4 (Block-Interleaved Parity)

• Custo para maior disponibilidade permanece 1/N mas a paridade é armazenada como blocos associados com conjuntos de blocos de dados

– Desempenho 4X maior (striping)

– # discos redundantes = 1 × # de grupos de proteção

– Suporta “small reads” e “small writes” (leituras e escritas que acessam apenas um disco no grupo de proteção)

• Olhando os bits modificados quando ecrevendo uma nova informação, necessita apenas mudar bits correspondentes no disco de paridade. • O disco de paridade deve ser atualizado a cada escrita, tornando-se um

bottleneck.

• Pode tolerar falha limitada desde que o dado pode ser reconstruído

block parity disk

(38)
(39)

Pequenas Escritas

• RAID 3 small writes

New D1 data D1 D2 D3 D4 P D1 D2 D3 D4 P  3 leituras e 2 escritas envolvendo todos os discos

• RAID 4 small writes

New D1 data

D1 D2 D3 D4 P

D1 D2 D3 D4 P

2 leituras e 2

escritas envolvendo apenas dois discos

(40)

RAID: Level 5 (Distributed Block-Interleaved

Parity)

• Custo para maior disponibilidade permanece 1/N mas o bloco de paridade pode ser localizado em qualquer um dos discos (sem bottleneck para escritas)

– 4X mais desempenho (striping)

– # discos redundantes = 1 × # grupos de proteção

– Suporta “small reads” e “small writes” (leituras e escritas em um

(ou poucos) discos de dados em um grupo de proteção.)

– Permite escrita múltiplas e simultâneas desde que blocos de paridade não estejam localizados no mesmo disco.

• Pode tolerar falha limitada desde que o dado pode ser reconstruído

(41)

Distributing Parity Blocks

• Se distribuirmos os blocos de paridades por todos os discos, escritas poderão se feitas em paralelo.

1 2 3 4 P0 5 6 7 8 P1 9 10 11 12 P2 13 14 15 16 P3 RAID 4 RAID 5 1 2 3 4 P0 5 6 7 P1 8 9 10 P2 11 12 13 P3 14 15 16

(42)
(43)

Sistema de E/S

Main memory I/O controller I/O controller I/O controller Disk Graphics output Network Memory– I/O bus

Processor

Cache

Interrupts

(44)

Barramentos

CPU Memória I/O

Barramento de endereços Barramento de dados Barramento de controle Vantagens: -versatilidade - baixo custo Desvantagens:

- limita taxa de transmissão - # de dispositivos

(45)

Disco lendo memória

M e m o r y P r o c e s s o r C o n t r o l l i n e s D a t a l i n e s D i s k s M e m o r y P r o c e s s o r C o n t r o l l i n e s D a t a l i n e s D i s k s P r o c e s s o r C o n t r o l l i n e s D a t a l i n e s D i s k s a . b . c . M e m o r y envio endereço

(46)

Disco escrevendo em memória

M e m o r y P r o c e s s o r C o n t r o l l i n e s D a t a l i n e s D i s k s P r o c e s s o r C o n t r o l l i n e s D a t a l i n e s D i s k s a . b . M e m o r y envio endereço

(47)

Tipos de barramentos

Processor Memory Processor-memory bus c. Bus adapter Backplane bus Bus adapter I/O bus Bus adapter I/O bus

• Processador Memória

• Backplane (CPU, memória, I/O)

• I/O

(48)

Barramento - Temporização

• Barramento síncrono

• Este tipo de barramento exige que todo o

tráfego de dados e controle seja

sincronizado sob uma mesma base de tempo (clock)

• Vantagens:

– simplicidade – desempenho

• Problemas:

– dispositivos devem ter a mesma frequência do clock

– curtas distancias

(49)

Barramento - Síncrono

Ciclo de leitura relógio endereço dados MREQ RD dados endereço de memória T1 T2 T3 T1 - CPU ativa sinais de controle e endereço T2 - Endereço estável no barra-mento T3 - Memória li-bera dados no barramento

-Dados são lidos pela CPU -CPU desabilita controle MREQ - 0 RD - 0 Memória deco-difica endereço Memória coloca dados no barra -mento de dados MREQ - 1 RD - 1

(50)

Barramento -Temporização

• Barramento assíncrono

• Este barramento não possui um relógio mestre. Os ciclos de barramentos podem ter qualquer duração e não precisam ser iguais para todas as situações. • Podem incluir vários dispositivos

• Necessita de protocolo de handshake • Pode ser longo

(51)

Protocolo de Barramento Assíncrono

7. I/O device vê DataRdy deastivado e desativa Ack

❑ Leitura da memória por um I/O device

I/O device sinaliza requisição ativando ReadReq e colocando addr nas linhas de dados. 1 2 3 ReadReq Data Ack DataRdy addr data 4 5 6 7

1. Memória vê ReadReq, lê addr da linha de dados e ativa Ack 2. I/O device vê Ack e desativa ReadReq e linhas de dados 3. Memory vê ReadReq e desativa Ack

4. Quando dado da memória está pronto disponibiliza e ativa DataRdy 5. I/O device vê DataRdy, lê dado e ativa Ack

(52)

Melhorando o desempenho

• Aumentar barramento de dados

• Separar linhas de dados e endereços

• Transferência em blocos

Maior custo

(53)

Acessando o barramento

• Mestre do barramento

– inicia e controla todas as requisições ao barramento

• Quem pode ser mestre?

– Processador

(54)

Mestre único (processador)

Memory Processor

Bus request lines Bus

Disks

Bus request lines Bus

Disks

Processor Bus request lines

Bus Disks a. b. c. Processor Memory Memory

(55)

Mestre único (processador)

• Vantagem:

– simplicidade

• Desvantagem:

– Processador coordena todas as transações de barramento

(56)

Múltiplos Mestres

• Processador e dispositivos de E/S podem

se tornar mestres

• Necessidade de protocolo

– request – granted

– bus-release

(57)

Barramento - Arbitragem

• O que acontece quando dois ou mais

dispositivos querem se tornar mestres do barramento ao mesmo tempo?

• A arbitragem decide qual mestre terá o controle do barramento num dado instante

– Arbitragem centralizada

(58)

Barramento -

Arbitragem Centralizada

Árbitro PCI Disp. PCI A Disp. PCI B Disp. PCI C

Arbitragem no barramento PCI (centralizado)Exemplo para três dispositivos

O árbitro decide qual mestre controla o barramentoDesvantagem:

(59)

Barramento -

Arbitragem Híbrido (centralizada e distribuída)

• Barramento de um nível usando daisy-chaining

• Características

• 1. Todos os dispositivos são ligados em série, assim a permissão, dada pelo árbitro, pode ou não se propagar através da cadeia.

• 2. Cada dispositivo deve solicitar acesso ao barramento.

• 3. O dispositivo mais próximo do árbitro tem maior prioridade.

Device n Lowest priority Device 2 Device 1 Highest priority Bus arbiter Grant Grant Grant Release Request

(60)

Barramento -

Arbitragem Híbrida (centralizada e distribuída)

Arbitragem com dois níveis de prioridade

• Características

• 1. Cada dispositivo se liga a um dos níveis de requisição.

• 2. Os dispositivos com tempos mais críticos se ligam aos níveis de maior prioridade.

• 3. Se múltiplos níveis de prioridade são requeridos ao mesmo

tempo, o árbitro solta a

• permissão apenas para os de prioridade mais alta.

Árbitro D1 D2 D3 D4 permissão 1 permissão 2 requisição nível 1 requisição nível 2

(61)

Barramento -

Arbitragem Descentralizada

• Arbitragem distribuída por seleção própria

– múltiplas linhas de requisição

– dispositivos requisitantes determinam quem vai usar o barramento (prioridade)

– Ex: NuBus (Macintosh)

• Arbitragem distribuída com detecção de colisão

– requisições independentes

– colisões são detectadas e resolvidas – Ex: Ethernet

(62)

Barramento -

Aspectos de projeto

• Considerações na implementação de do

barramento do sistema:

Opções Alta Performance Baixo custo

Largura do barramento Endereços e dados separados Multiplexação das linhas de endereço/dados

Largura de dados 16 bits, 32 bits, ... (Quanto maior mais rápido)

Menor, mais barato

Transações por pacotes Múltiplas palavras menos overhead

Transferência por palavra é mais simples

Barramentos masters Múltiplos mestres (requer arbitragem)

Apenas um mestre (sem arbitragem)

(63)

Barramento - Padrões

Firewire USB 2.0 PCI Express Serial ATA Serial Attached SCSI Intended use External External Internal Internal External Devices per

channel

63 127 1 1 4

Data width 4 2 2/lane 4 4

Peak bandwidth 50MB/s or 100MB/s 0.2MB/s, 1.5MB/s, or 60MB/s 250MB/s/lane 1×, 2×, 4×, 8×, 16×, 32× 300MB/s 300MB/s Hot pluggable

Yes Yes Depends Yes Yes

Max length 4.5m 5m 0.5m 1m 8m

Standard IEEE 1394 USB

Implementers Forum

PCI-SIG SATA-IO INCITS TC T10

(64)

Executando operações de E/S

• Comunicação com os dispositivos de E/S:

– envio de comandos aos dispositivos

– transferência de dados de/para dispositivos – análise do status dos dispositivos e da

transmissão

• Interface entre usuário e dispositivo

(65)

Suporte do S.O. a E/S

• Proteção

– garante o acesso a dispositivos/dados para os quais se tenha permissão

• Abstração (dispositivo)

– possui rotinas específicas com detalhes de cada dispositivo

• Gerenciamento

– trata as interrupções causadas pelos dispositivos

• Escalonamento

– controla a utilização de dispositivos compartilhados entre processos

(66)

Software de E/S

• Organizado em camadas

Processo (usuário) Rotinas indep. do dispositivo. Device drivers Interrupt handler Tradução de símbolos (dispositivos,tam.etc.) Código dependente do dispositivo

(67)

Implementando E/S

• Instruções especiais

– Registradores especiais

• status dos dispositivos

• dado a ser recebido/transmitido

– Proteção

• instruções privilegiadas (só podem ser executadas via S.O.)

(68)

Implementando E/S

• E/S mapeada em memória

– Range de endereços de memória para armazenar status e dados

– Instruções de E/S : instruções de acesso à memória

– Proteção:

(69)

Implementando E/S

• Polling

CPU DISPOSITIVO

1- lê status do disp. 2- envia status 3- Inspeciona status,

se não está pronto va para 1

4- escreve no reg. dado 5- aceita dado,

status=ocupado até escrita terminada

6- se existe mais dados vá para 1

(70)

Polling

• Vantagens:

– E/S controlada pela CPU

– simplicidade de implementação – Dispositivos que iniciam E/S:

• Mouse

• Impressora

• Problema:

(71)

Polling - Overhead

• #ciclos

pooling

=400, clock= 500 MHz

• Qual a fração de tempo da CPU em cada

um dos casos:

– Mouse deve ser verificado 30 vezes/seg

– Floppy transfere palavras de 16 bits a uma taxa de 50 KB/seg

– O disco rígido transfere blocos de 4 palavras a uma taxa de 4MB/seg.

(72)

Polling

• Vantagens:

– E/S controlada pela CPU

– simplicidade de implementação – Dispositivos que iniciam E/S:

• Mouse

• Impressora

• Problema:

(73)

Polling - Overhead

• #ciclos

polling

=400, clock= 500 MHz

• Qual a fração de tempo da CPU em cada

um dos casos:

– Mouse deve ser verificado 30 vezes/seg

– Floppy transfere palavras de 16 bits a uma taxa de 50 KB/seg

– O disco rígido transfere blocos de 4 palavras a uma taxa de 4MB/seg.

(74)

Polling- Overhead

• Mouse:

– #ciclos = 30 x #ciclospolling= 30 x 400 = 12000 ciclos

– FraçãoCPU = 12000x102/500x106 =0.002%

• Floppy:

– (50 KB/seg)/2 bytes = 25K polling/seg

– #ciclos=25K x 400 = 10x106

(75)

Polling - Overhead

• Disco rígido:

– (4MB/seg)/16 bytes = 250K pooling/seg

– #ciclos=250K x 400 = 100x106

(76)

Interrupt-driven I/O

• CPU executa outras instruções enquanto

espera E/S

• Sincronização: interrupção

– disp. E/S está pronto para nova transferência – operação de E/S terminou

– ocorreu erro

• Vantagem:

(77)

Interrupt-driven Overhead

• Exemplo anterior: Disco rígido

• transferência em 5% do tempo

– Overheadinterrupção= 500 ciclos

– (4MB/seg)/16 bytes = 250K transf./seg

– #ciclos=250K x 500 = 125x106

– FraçãoCPU = 125x106 x102/500x106 =25% como o disco só transmite em 5% do tempo:

– FraçãoCPU =25% x 5% = 1.25%

Vantagem: Ausência de overhead quando dispositivo não está transmitindo

(78)

DMA(transf. autonoma)

• Transferência de blocos de dados

– 80 a 512 bytes

• E/S controlada pelo dispositivo de E/S

– parametros:

• end. memória • tamanho blocos • end. Dispositivo

(79)

DMA Overhead

• Exemplo anterior: Disco rígido

• Blocos => 8KB

• transmissão em 100% do tempo

– Setup=1000 ciclos

– Overheadinterrupção= 500 ciclos

– TempoDMA= 8KB/(4MB/seg)=2x10-3 seg

– #ciclos/seg= (1000+500)/ 2x10-3=750x103

(80)

E/S Macintosh 7200

Main memory I/O controller I/O controller Graphics output PCI CDROM Disk Tape I/O controller Stereo I/O controller Serial ports I/O controller Apple desktop bus Processor PCI interface/ memory controller Ethernet SCSI bus output input

(81)

Resumindo

• Entrada/Saída

– Desempenho: latência e taxa de transferência – Dependability

• Discos e RAID

• Barramento

– Síncrono e assíncrono – Arbitragem

(82)

Resumindo

• Implementando operações de E/S

– Software de E/S – Instruções do processador

• Tipo de E/S

– Polling – Interrupção – DMA

Referências

Documentos relacionados

− Em 2020 foi verificado efeitos de adequações de estrutura organizacional, enquanto no 4T20 o maior impacto se deu pela utilização de fretes diante do cenário de “retomada”

Apostando na proposta de Talal Asad e Saba Mahmood, as referências mais recorrentes, o secularismo é apontado como um projeto normativo e ideológico do liberalismo político

No entanto, não é suficiente o processo de interatividade de qualquer forma Por exemplo, o simples fato de enviar um e-mail não pode ser

Por se tratar de um imóvel com vocação para gerar renda através de sua locação, sua avaliação, a pedido do cliente, também foi realizada pelo Método da Capitalização da

Tempestade quebra a discriminação sobre a figura da mulher, dentro da Escola Xavier, onde não há diferenciação entre homens e mulheres, todos sendo

Nos últimos cinco anos, o ENEM tem aumentado a cobrança de conhecimento técnico e de conteúdo, mas sempre propondo exercícios com enunciados bem contextualizados, os

Ou você ficou muito tempo sem conseguir, por que pelo que eu observei aqui nessa comunidade não é muito fácil se consegui trabalho, me fale um pouco desse período que você ficou

Caso o número de candidatos impeça a realização das provas didá cas num mesmo dia, será realizado um novo sorteio de tema para cada novo dia de prova, respeitando-se o prazo de 24