Passatempo: Ganhe o livro Arquitetura de Computadores da FCA
A melhor forma de otimizar o aproveitamento das capacidades de um computador é compreender os princípios básicos do seu funcionamento. O livro Arquitetura de Computadores descreve as técnicas subjacentes às várias arquiteturas de computador, desde os pequenos microcontroladores até aos grandes servidores, passando pelos dispositivos de computação pessoal (PCs, tablets e smartphones).
O utilizador ficará a perceber, por exemplo, porque é que duplicar a frequência de relógio de um processador não reduz para metade o tempo de execução dos programas e porque é que às vezes o computador parece parar, com a luz de acesso ao disco ativa. O gestor de sistemas informáticos ficará com uma noção mais concreta do impacte da arquitetura dos seus servidores no desempenho dos programas e de quais são os pontos de estrangulamento no desempenho do sistema.
Como ganhar este livro?
Para se habilitar a um dos três exemplares do livro “Arquitetura de Computadores” deverá cumprir os seguintes requisitos:
- Ser fã da página do facebook da editora FCA e Pplware
- Responder à questão do formulário (ajuda aqui)
- Indicar neste artigo, porque devia ser o vencedor de um exemplar deste livro.
Este artigo tem mais de um ano
“O utilizador ficará a perceber, por exemplo, porque é que duplicar a frequência de relógio de um processador não reduz para metade o tempo de execução dos programas e porque é que às vezes o computador parece parar, com a luz de acesso ao disco ativa.”
Hum… Duplicar o tempo significa que consegue dar mais tempo aos threads. basicamente consegue ter maior eficiência no threading. Agora a luz do disco ativa e o pc para (para quem tem HDDs) isto é básico. Os CPUs funcionam da seguinte maneira: Tem registos que são uma especie de memoria que tem outra memorias (caches) de vários níveis. L1 (para 1 core) L2(para 1 nucleo) L3(CPU todo). Basicamente quando um programa corre, está a usar esses registos para andar a fazer contas literalmente a somar subtrair etc. E mover valores na memória para registos e de registos para memoria mas nunca de memoria para memoria. Então vocês perguntam: Então como é possivel fazer estas tarefas tão complexas movendo só numeros e contas básicas da primária?. Fácil. Na memoria ram, mesmo no inicio do arranque do sistema, o Kernel do SO faz load ao chamado Interrupt Table. Quem adora isto, e usa Linux podem ver a interrupt table int 0x80. http://www.informatik.htw-dresden.de/~beck/ASM/syscall_list.html (o meu nick é int3 porque é um interrupt heheh ). Esses interrupts fazem PARAR literalmente o CPU e verificar os valores em todos os registos, ou não, dependendo da interrupt table. Exemplo:
;——————-
stringtowrite: dw “P”,0 ; o zero termina a string senão lia
;só lixo 🙂 é básico para quem sabe C e C++
mov eax,0x4 ; sys_write
mov ebx,0x1 ; stdout
mov ecx,stringtowrite ; endereço de memoria da string “P”
mov edx,0x2 ; tamanho que é o P+Null terminator (o tal 0)
int 0x80 ; para o CPU de tudo para executar uma tarefa
mov eax,0x1 ; sys_exit
mov ebx,0x0 ; return 0
int 0x80 ; para novamente o CPU
;——-
EAX=0x4 ( 0x é hexadecimal, deve-se representar sempre assim por muitos motivos que não vou dizer agora) na interrupt table 0x80 diz que é para chamar a função sys_write
EBX=0x1 é para onde vai escrever que é o primeiro argumento da função
ECX=0x41000 este valor não é defenido, corre em run time mas é onde na memoria RAM a string “stringtowrite” começa.
EDX=0x2 é o tamanho em bytes do que vai escrever size_t
assim, o CPU corre a função do kernel e começa a escrever na tela byte a byte a stringtowrite 🙂
Agora tudo isto para que?
Imaginem que querem ler algo do disco rigido. A interrupt table do kernel, também há a BIOS. A BIOS começa mesmo no inicio da RAM nos primeiros Kb (já não sei ao certo, mas o Kernel começa ao endereço 0x7c00). E lá tem todos os interrupts e as “funções”.
Cada vez que o disco lê e escreve (tirando ler para a cache e vice-versa) o CPU para. Imaginem milhares de interrupts a correr para escrever os MBs todos que vocês querem. É por isso que o PC é lento. Não é por estar o disco busy, porque muita coisa está na RAM.
Espero que tenha explicado bem tudo, e se alguém também saber que diga alguma coisa para me corrigir ou não.
“stringtowrite: dw “P”,0 ; o zero termina a string senão lia”
não é ‘dw’ mas sim ‘db’. DW significa Define WORD. E eu quero definir BYTES e não uma WORD (integer 32 bits)
db = define byte
dw = define word
dd = define dword
😛
E deves ganhar o livro porque?
Acho que tenho potencialidades para expandir os meus conhecimentos e é uma matéria que mais me fascina 😀
Mas pedro, ainda não estou a concorrer 😛
Não entendi a parte do “O que representa a figura 3.1 na página 117? *” Algo me está a escapar…
Vai ao Facebook da FCA 🙂
(Aproveita esses conhecimentos e faz uns artigos com a tua marca :))
Lol! Lá está!
O acesso ao disco é uma operação bloqueante (do ponto de vista do processo), mas em qualquer um dos principais SÓ de hoje em dia (Linux, Windows, Apple e QNX), o dispatcher sabe disso, e retoma a outros threads ou a outros processos, logo… A aplicação pode ficar dependurada, mas o sistema não tem razões de ficar lento ou que as outras aplicações fiquem dependuradas…
Aumentar a frequência de relógio também não vai fazer o sistema mais rápido para o dobro porque os periféricos do CPU (memória RAM, bus PCIexpress, etc…) não ficam mais rápidos, e é isto que faz o bottleneck de performance na maioria dos casos…
EDIT: agora que li melhor o teu comentario melhor, acho que estás errado.
O CPU não pára quando lê/escreve para o disco.
O CPU nunca pára!
Quando lês/escreves do disco, o software dá comandos á kernel, que por sua vez a kernel dá comandos aos periféricos para escreverem para uma zona de memória.
Quando pedes para ler do disco, é alocado primeiro um buffer na RAM, e são dados comandos ao hardware responsável para controlar o disco rígido para escrever para esse buffer. Essa escrita é feita pelos periféricos, e não pelo processador.
Por exemplo, num x86_64, o CPU comunica com a nortbridge para chamar a southbridge, para pedir ao controlador SATA para enviar X bytes localizados no ponto Y do disco Z.
A southbridge envia os comandos ao disco SATA, e remete a resposta para a northbridge, que depois utiliza o seu MMU (Memory Management Unit) para escrever para o endereço de 64 bits da RAM, que vai ser paginado para um endereço físico de RAM (ou tratado para ser paginado no disco aka pageswap), e, finalmente, escrito na memória.
No fim, o CPU é notificado que o pedido foi completado através de uma posição de memória dedicada, o kernel vai ficar ciente disto quando ler outra vez essa posição de memória, e vai permitir que a execução da thread que chamou esse pedido, que continue.
Durante este “enorme” tempo, o dispatcher da kernel pode correr outras threads da aplicação, ou outros processos…
Não para? Depende do algoritmo de escalonamento que tenhas.
Não, não pára, em qualquer SO atual, não pára.
http://en.wikipedia.org/wiki/INT_13H
http://en.wikipedia.org/wiki/INT_(x86_instruction)
http://en.wikipedia.org/wiki/Software_interrupt
“In systems programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. An interrupt alerts the processor to a high-priority condition requiring the interruption of the current code the processor is executing (the current thread). The processor responds by suspending its current activities, saving its state, and executing a small program called an interrupt handler (or interrupt service routine, ISR) to deal with the event. This interruption is temporary, and after the interrupt handler finishes, the processor resumes execution of the previous thread.”
Estás mal nelson. Vai ao gmail e fala comigo.
Estou mal?
Então não vês o contexto da Interrupção 13h?
Já há várias décadas que isso não se usa! 🙂
Aliás, lê o que diz a wikipédia!
1. Real Mode (completamente em desuso, nada corre em real mode hoje em dia, fora no momento em que arranca)
2. Acesso ao disco em RAW
3. Aderesamento CHS
Etc…
Esquece 😉
O cpu nunca para !!! http://en.wikipedia.org/wiki/Status_register
Falta aí um ponto nos requisitos!
* Ter conta Facebook
Ao que parece, quem não tem é imediatamente excluído do passatempo.
Eu devo ser o vencedor deste livro para finalmente perceber o que o meu computador faz enquanto trabalho nele.
Pah se eu quero ganhar o livro é porque não o tenho, e se não o tenho como vou responder a esta pergunta: “O que representa a figura 3.1 na página 117? *” ?
é o que estou a tentar saber.
Quero ser um dos vencedores, pois é uma área de muito interesse para mim, quero aprofundar os meus conhecimentos sobre hardware.
?
Eu devo ganhar este livro porque sou estudante de engenharia informática e uma das cadeiras que vou ter no proximo ano é arquitetura de computadores e este livro iria ajudar-me para essa cadeira.
Ter conhecimentos para realizar diagnosticos reais antes de passar a “operar” as máquinas (computadores), um médico especialista de computadores.
Bom dia
Eu Gostava de ganhar o livro porque toda a informação que contém é a que eu preciso para o meu curso e para varias disciplinas que são vocacionadas para tudo o que o que o livro têm, e assim seria uma grande valia.
Espero que consiga convencer o juri do concurso e que me ajude a ser o melhor aluno da disclipina de IAC ” Introdução a arq de computadores” atraves do vosso livro.
Ajudem.
Deveria ganhar pois no próximo ano tenho essa cadeira e dava imenso jeito não ter de investir no livro xD
Porque a melhor forma de otimizar o aproveitamento das capacidades de um computador é compreender os princípios básicos do seu funcionamento!
A questão que ponho é a seguinte: Porque é que os outros merecerem mais do que eu ganhar este livro? a resposta é simples ninguém merece mais do que ninguém!Logo fico a espera de poder ganhar este interessante livro 😀
Penso que mereço este livro porque, embora tendo apenas 16 anos e nenhum estudo na área da informática, este poderá não só, inspirar-me a seguir uma carreira ligada á informática como também proporcionar-me um conjunto de conhecimentos aos quais não tenho acesso na minha atual área de estudo (Ciências e Tecnologias).
Eu mereço ser vencedor, porque quando era novo sempre mexi em computadores, onde os reparava-os e fazia-os upgrade, mas sabia que para saber tudo sobre computadores esse conhecimento não chegava. Então, comecei a instruir-me em várias linguagens de programação(como c, c++,c#, java, etc) para puder programar neles e saber mais sobre computadores. Mas esse conhecimento não chegava para entender toda a lógica que o computador tem. Para puder saber tudo sobre ele s falta uma parte fundamental, que é a sua lógica que está envolvida em todo o seu sistema, e essa lógica é explicada através da sua arquitetura, onde será explicado a forma de como o computador foi implementado, quais limitações dele, pois irá depender dos seus periféricos e da sua lógica que está implementada na unidade de controlo e de dados do processador.
Eu deveria ganhar porque estou a dar esta matéria na universidade 🙂
Devo ganhar este livro porque me vai fazer falta para acabar o curso pra a semestre que vem :p
Acho que deveria ser um dos vencedores deste passatempo, pois com este livro iria certamente aprender muito sobre o aproveitamento das capacidades de um computador, o que me daria muito jeito este ano com a entrada na Faculdade.
Para enriquecer os meus conhecimentos. E poder ter mais um exemplar de livros da FCA na minha coleção de livros FCA relacionado com as TI.
Com este livro poderei evoluir nos conhecimentos que já tenho a nivel de Arquitetura de Computadores. O saber mais não ocupa lugar…
Nos tempos que correm o único bem que garantidamente ninguém te poderá tirar é o conhecimento. Com a ajuda do Pplware, e da FCA poderei aprofundar e consolidar o meu know-how, e não haverá crise ou cortes que mo tirem ( se mo derem 😀 ).
remove. bad click
Bem deveria ganhar o livro , para ver se faço a cadeira de arquitectura de computadores, que me anda a moer bem o miolo. já estive a pesquisar um pouco sobre o livro e acho que me iria ajudar imenso
Eu gostaria imenso de ganhar este livro pois preciso de algo que me ajude a compreender os conceitos mais especificos da arquitetura de um computador, como por exemplo as threads. Sou aluno de eng. informática, e todos sabemos que esta é uma área onde por muito que os professores queiram explicar, é muito dificil de perceber completamente. Este semestre não passei à cadeira de Sistemas Operativos e sei que este livro me ia ajudar imenso a não cometer os mesmos erros para o ano.
Tenho 2 livros da FCA, o de C do Luiz Damas e um de java, programação orientada a objetos e posso dizer que ambos são muito bons e este de arquitetura de computadores não vai fugir ao padrão.
porque sim
Nos tempos que correm o único bem que garantidamente ninguém te poderá tirar é o conhecimento. Com a ajuda do Pplware, e da FCA poderei aprofundar e consolidar o meu know-how, e não haverá crise ou cortes que mo tirem ( se mo derem 😀 ).
Primeiro porque trata de uma das minhas áreas de eleição e os que tenho já estão desactualizados. Segundo, para enriquecer a biblioteca de livros da área de informática da FCA.
Ganhar mais conhecimentos quanto aos sistemas da actualidade, e contempla-los com os que adquiri no curso. E um bom livro para juntar a minha coleção da FCA.
Muito simples,
Porque apesar de todas as dificuldades da vida consegui tirar um CET em Redes e vou seguir para a licenciatura.
Sempre sonhei com a área da informática mas a vida nunca mo permitiu, mas aos 33 anos lancei-me de cabeça nesta fantástica aventura e toda a ajuda é bem vinda.
Por isso este livro será ouro sobre azul, para a minha aquisição continua de conhecimentos e como o dinheiro és muito escasso, ficaria muito contente ser presenteado com tal maravilha.
Muito Obrigado a todos 🙂
Este livro iria-me dar imenso porque estou no primeiro ano da Licenciatura em Engenharia Informática e como este ano e no próximo tenho a cadeira de Arquitetura de Computadores, e visto que é uma das mais difíceis do curso, qualquer tipo de ajuda seria bem vinda!!
Fácil, abranger conhecimento já obtido através de vários lugares inclusive aqui no site e conhecer minunciosamente a arquitetura do computador. Aprender nunca é de mais, aprender são coisas que necessitamos na vida.
Eu gostava de ganhar este livro porque como eu sou estudante de Engenharia Informática tenho um mundo por descobrir, neste caso o funcionamento total e detalhado ao mais ínfimo pormenor de todo um mundo de pc´s, amostrando todo e qualquer hardware usado e programado que permite-me compreender na sua totalidade um funcionamento de um pc, servidores, etc!
Eu deveria ganhar um exemplar deste livro porque tenho todo o interesse no tema.
Pelo que li no índice, o livro fala sobre assuntos que eu gostava de aprender e entender.
Sendo que também é uma boa ajuda para Eng. Informática.
Adoraria ter este livro, pois também irei entrar este ano na Universidade no curso de Engenharia Informática, e creio que este livro iria dar muito jeito para alguns trabalhos e para compreender melhor o funcionamento de um computador internamente.
Deveria ser um a ganhar, pois o conhecimento que vou adquirir nesse livro é para ser transmitido aos meus formandos (em parte) na UFCD de arquitetura de computadores.
PS: Já tive para comprar o livre 3 ou 4 vezes. Tambem é um motivo.
Eu gostava de ganhar este livro porque enquanto estudante de Engenharia Informática, esta é uma matéria indispensável e sobre a qual não possuo muito conhecimento ainda. Seria uma maneira de enriquecer aquilo que aprendi durante o curso.
Devia ser o vencedor de um exemplar deste livro, porque cá em casa tenho um estudante em Engenharia Informática e este livro é uma ótima ajuda.
Quem não tem facebook, não pode participar? Não pode ser seguidor no Google Plus em vez de fã no facebook por exemplo?
Como engenheiro de informática de profissão, este livro ajudar-me-ia a manter-me actualizado sobre o hardware usado por mim.
Quero ganhar este livro porque preciso de aprofundar conhecimentos nesta temática.
Eu acho que deveria ganhar o livro porque não percebi nada do que li nos comentários acima
existem vários motivos para ganhar este livro,dos quais,para compreender melhor essa arquitectura, e também a ajuda que preciso para passar à cadeira na licenciatura que estou a tirar!!HELP!!
Porque o meu filho está nessa área e esse livro era muito útil para que ele pudesse aprofundar os seus conhecimentos.
Gostava de ganhar por 2 motivos 1º Gosto por todos os topicos no livro não por necessidade visto que completei a mesma este semestre. 2º Edição actualizada.
Boa sorte a todos.
Quem quiser está aqui o livro https://mega.co.nz/#!zZRzmb7R!zZM9H3n2HSUfdIKtWRUWw2s3C-lOZq4FxttxH6gr6Xs
Eu devia ser o vencedor para ficar um expert em hardware e em informática e também porque nunca ganho nada
Devo ganhar este livro, porque adoro toda a mecânica e magia dos computadores e das novas tecnologias. E se este livro é uma edição da FCA e está mencionado neste site de referência, o Pplware, só pode ser um excelente livro, que todos os apaixonados por computadores devem de ter!
Eu devia ser o vencedor pois este livro dava-me imenso jeito para estudar para o exame de Arquitectura de Computadores!
Eu deveria ganhar este livro porque embora perceba a utilização do computador, não percebo nada sobre o que é efectivamente um computador! Quero perceber duma vez por todas como opera, cmo processa enfim quero deixar de me sentir ignorante cada vez que faço ma pergunta sobre o tema aos meus filhos e eles reviram os olhos e dizem “Porra, não percebes nada de computadores!”
Eu gostava muito de ganhar este livro porque sempre programei em linguagens de alto nível, até entrar pa faculdade, ai tive uma cadeira de nome Arquitetura de Computadores, que aborda basicamente este livro todo utilizando os conceitos juntamente com a linguagem C e Assembly, e descobri uma paixão nova… Já ando para o comprar a muito tempo, mas infelizmente tem um valor elevado. Estou mortinho por lhe por as mãos 🙂 Sempre que passo numa Bertrand fico pelo menos 5min inteiros a vasculhar pelas paginas dele a procura de conceitos que também abordei nas aulas.
Eu deveria ganhar para finalmente passar conseguir subir a minha nota de 10 a Arquitectura de Computadores!
Eu deveria ganhar para conseguir subir a minha nota de 10 à cadeira de Arquitectura de Computadores!
Além do pó que tenho dentro do computador, gostaria de saber algo mais sobre o seu funcionamento, aprofundando os meus conhecimentos, e sobretudo ter uma noção comparativa em relação aos dispositivos móveis, que a meu ver, é onde irá existir um maior domínio na computação no futuro e assim, desta forma, ficarei melhor preparado e com maior conhecimento sobre esta matéria.
eu quero este livro,para poder aprofundar os meus conhecimentos,sobre esta maravilhosa tecnologia e não ter, que andar sempre com duvidas,obrigado por esta oportunidade, pois os livros tecnicos da editora FCA, são autenticos manuais de aprendizagem e esclarecedores de muitas materias.
Porque deveria ser eu a ganhar? Porque faz todo o sentido que tenha os instrumentos para uma formação constante na minha profissão, 10 anos como técnica de informática 🙂 Calhava mesmo bem esta versão actualizada 🙂
Eu deveria ganhar o livro porque para um recém licenciado em engenharia informática, conhecimento nunca é demais 😀
Para os meus alunos estudar, este livro preciso ganhar… 🙂
É um livro interessantissimo, julgo que o deveria ganhar para aprofundar os meus conhecimentos, pois quando falamos em arquitectura de computadores não estámos só a falar de computadores pessoais, ou portateis, estamos tambem a falar de sistemas embebidos, domotica, etc…
Comecei à pouco tempo a brincar com micro-controladores, arduinos, raspberrys, etc…
Espero fazer algumas engenhocas com Domotica, e claro, ainda tenho muito que aprender sobre arquitectura de computadores para ter sucesso.
Eu devia ganhar porque gosto de informática e gostava de saber mais sobre arquitetura de computadores
Numa época de intensa inovação e tecnologia que bom que seria poder aprender um pouco de tudo e ao mesmo tempo utilizar esses conhecimentos para quem sabe propor, futuramente, uma nova e útil melhoria. Sem contar que o livro definitivamente me traria uma nova oportunidade de aprender tecnologia com o meu namorado que é engenheiro (uma namorada que se preze tem de saber um pouco de tudo para também ajudá-lo quando este necessitar de ajuda para algum projecto!)Esta seria definitivamente uma época de descoberta em conjunto, o que me deixaria mesmo muito feliz! 🙂
devo ganhar o livro para expandir os conhecimentos que tive no meu curso de informática. num universo em constante evolução e renovação, temos de nos manter atualizados sobre os novos sistemas.
Deveria ganhar o livro para poder complementar os meus conhecimentos como profissional nesta àrea.
Como Administrador de Sistemas, era justo vencer este passatempo e assim receber este livro, como mais um complemento de ferramenta de trabalho, dúvidas, esclarecimentos, aprender novos conceitos,…
Ninguém sabe tudo, a vida é uma aprendizagem contínua 😀
Eu devo ser a vencedora deste livro para poder perceber melhor a arquitectura de computadores. 😀