Assim, a estrutura do curso. Nсo vai ser leituras recomendadas. Nсo vai ser em vьdeo ou em palestra perguntas que surgem. Nсo vai ser vрrios conjuntos de problemas durante o perьodo, e estes vсo ser muito Щtil para a revisсo para o exame preparaусo. Entсo, eu vou dar a vocЖs uma dica agora, que, se vocЖ fizer os conjuntos de problemas, se vocЖ realmente dominar os conjuntos de problemas, os exames vсo ser relativamente fрcil depois disso. Nзs provavelmente vamos usar a avaliaусo puro para classificar o problema porque define muitos eles sсo mais problemas em aberto. E nзs vamos ter um meio-termo e exame final. Um deles, uma outra coisa que eu queria salientar ж a colaboraусo nesta classe ж encorajada, mas eu quero que todos fazem seu prзprio problema pшe em meados de termos e exames finais. Entсo, vocЖ sabe, vocЖ pode discutir a geral generalidades das idжias e dos conceitos acontecendo, mas eu nсo quero que as pessoas discutir as questшes do exame real em particular. Assim, por exemplo, vocЖ pode discutir a conceito, se vocЖ tem alguma pergunta cache e vocЖ quer entender como caches realmente funciona, vocЖ sabe, discutir o conceitos e colaborar com isso, mas nсo discutir e colaborar na real problema em si, no respectivo problema conjuntos, meados de termos e exames finais. Ok, entсo, vamos, vamos falar sobre o conteЩdo deste curso. Assim, nзs temos um nьvel muito elevado motivaусo e agora vamos falar sobre o que estр dentro do curso. E eu vou comeуar de contrastando com o que vocЖ jр deve ter aprendido. Entсo, em uma classe organizaусo computador, algo como ELE 475 em Princeton, vocЖ vai ter aprendido como construir um processador de base. Entсo, algo como vemos aqui. Esta foi a, isto ж, na verdade, o risco um processador de Berkeley. Dependendo de quem vocЖ perguntar, quer do risco um ou o, o chip Nips primeira espжcie do Risco primeiro acadЖmica. O 801 IBM provavelmente usado um monte de pessoas idжias, mas nсo chamр-lo de riscos antes de entсo. Mas, vocЖ sabe, vocЖ, vocЖ aprendeu a coisas projeto que tinha cerca de 50 mil transistores. Assim, este projeto inteiro aqui, este ж um, um, de dois estрgios processador da linha de tubulaусo. Mas as coisas que vocЖ deve de sрbios ж, bрsicos idжias de cache, tubo de revestimento. Entсo, como vocЖ gasoduto um processador, um pouco sobre sistemas de memзria. E, e, vocЖ acha que saber como espжcie de obras de lзgica ou de obras de lзgica digital. E entсo, nessa classe, ao contraste, em vez de aprender como construir um muito processador simplista, vamos aprender como construir cortando dia toque de modernidade microprocessadores. ╔ isso mesmo, vamos aprender a construir coisas assim, ou pelo menos de design coisas como esta. Entсo, este ж um Core i7 da Intel. Nзs, eu acho, ж um Core i7 original, agora estamos na terceira geraусo de Core I7 estр de pж em 2012 agora. Entсo, isso ж, isso ж muito, muito recente. E para dar uma idжia, para a contrataусo de que a imagem anterior, que foi 50.000 transistores, este projeto ж de cerca de 700 milhшes de transistores. Assim, a complexidade aumentou muito aqui. Que outro processador ou processadores que vocЖ aprendeu sobre em seu computador classe organizaусo, hр um minЩsculo caixa-se aqui. E ter um desempenho que ж uma espжcie de equivalente ao tamanho do pequeno caixa em relaусo a esses, esses, essa grande processador. Entсo, vamos aprender como, em vez de apenas a construусo de pequenos processadores minЩsculos ou processadores de brinquedo, vamos aprender sobre como construir processadores grandes e elevados processadores de desempenho. Entсo, antes de eu ir para baixo esta lista, eu quero falar brevemente sobre o conteЩdo do curso de ELE 475 e as duas tжcnicas principais fazer processadores ir mais rрpido. Entсo, como ж que nзs, como ж que vamos fazer processadores vai, vai pessoas rрpidos como cuz seus sistemas de computaусo para correr, correr rрpido. Bem, um ж explorar paralelos, paralelismo. Entсo, vamos descobrir como explorar vрrios transistores simultРneos, ou paralelismo simultРneo em seu programa, e como vocЖ adicionar mais transiушes ou mais paralelismo. Esperamos que ele vai fazer a sua computaусo sistema de ir mais rрpido. Portanto, hр, e hр tжcnicas diferentes sobre como ir atrрs de paralelismo e eles sсo nсo paralelismo tudo explьcito. Entсo, um monte deles sсo paralelismo implьcito. Assim, por exemplo, instructionable paralelismo ж completamente implьcito conceito. O programador nсo tem que fazer nada. E, em seguida, a outra tжcnica principal pudermos pensar ж sз para fazer menos trabalho. Entсo, se vocЖ estр tentando fazer alguma coisa e vocЖ olha para dizer Vamos, uma linha de montagem de construir carros alguжm, bem, vocЖ pode ou pipeline, e tentar obter gasoduto paralelos Quer dizer, o seu sistema de montagem ou vocЖ pode tentar ter vрrias pessoas construусo de carros diferentes ao mesmo tempo. Entсo, tudo isso cai no paralelismo categoria. Hр outra coisa que vocЖ pode fazer se vocЖ quero fazer um carro mais rрpido ж vocЖ tomar apenas as etapas ou vocЖ tirar componentes. Entсo, vocЖ faz menos trabalho. E uma maneira de fazer menos trabalho, ж, ter extravagantes sistemas de software. Assim, podemos ter melhores e compiladores sistemas de tempo de execuусo. E um monte de vezes, eles podem remover o trabalho. Entсo, isso ж como a passagem de otimizaусo em seu compilador. Se vocЖ ligar -03 ou a otimizaусo para GCC, que vai tentar remover instruушes do seu programa, que sсo redundantes ou nсo fazer qualquer Щtil trabalhar. Outro grande exemplo disso, que as pessoas realmente nсo pensar em como fazer menos trabalho, mas na verdade ж, ж algo como um cache em seu microprocessador. Assim, em seu cache, ele coloca a memзria mais perto ao processador de que a memзria principal. Bem, isso ж equivalente a, se vocЖ tivesse um a montagem do sistema, ou, a, a, a produусo de um linha de carros, e vamos dizer que, para cada parte que vocЖ tinha que chegar, vocЖ tinha que caminhar os trЖs blocos de rua, comeуa a parte, e trazЖ-lo de perto. Bem, isso ж, isso ж muito lento. Ele estр fazendo um monte de trabalho para cada parte que vocЖ precisa ir buscar. Mas, em um cache, vocЖ realmente pode colocar o dados muito prзximos e, ao fazer isso, ou colocar, colocar as peуas muito prзximos, tipos similares de idжias aqui e montagem do carro ж que vocЖ pode colocar uma lixeira, se vocЖ, de todas as partes vocЖ precisa para construir o carro e sз entсo pegar de que Bin. VocЖ vai fazer menos trabalho, vocЖ vai fazer menos caminhada. Tipos similares de coisas com caches. Entсo, essas sсo as duas principais tжcnicas que vamos aplicar. Entсo, agora, vamos mergulhar na real conteЩdo tжcnico, de que vamos aprender em Arquitetura de Computadores, neste Classe Arquitetura de Computadores. E nзs vamos classificр-los como quer fazer menos trabalho ou paralelismo. Entсo, a primeira, a, isto, isto, o primeiro coisa que nзs vamos comeуar neste classe falando ж que vamos falar sobre paralelismo nьvel de instruусo. Entсo, vamos olhar para superescalar processadores, que podem executar mЩltiplas instruушes ao mesmo tempo. E isso ж feito implicitamente seqЧencial cзdigo. E nзs tambжm vamos estudar muito longo instruусo processadores de texto ou o que ж chamado processadores VLIW. Nзs vamos sugerir um pouco sobre paralelismo pipeline e olhada em como construir longos, processadores de gasodutos longish. Vamos falar sobre memзria avanуada e cache sistemas. Entсo, isso nсo tem paralelismo na palavra aqui, no tьtulo aqui. Entсo, o que ж que isto vai ser, ж isso ж vai estar olhando em fazer menos trabalho. E nзs estamos indo olhar como vocЖ construir sistemas de memзria que quer trazer os dados mais perto ou ter maior largura de banda, e, e um monte de questшes de implementaусo em construусo desses sistemas de memзria avanуados. Entсo, como o termo continua, vamos estar falando sobre o paralelismo de dados nьvel. Entсo, este ж o nьvel mais explьcitas de paralelismo. Assim, sendo, estas sсo coisas como vetor computadores e unidades de processadores grрficos, ou unidades de processador de uso geral de elementos grрficos, GPGPUs. E no final do curso, vamos para falar sobre rosca explьcita paralelismo. E nзs vamos estar falando de multithreading, como vocЖ construir sistema multiprocessador para este ж um chip mЩltipla, multiprocessador sistemas, multicore e sistemas centrais de muitos e como vocЖ interligar todos estes diferentes processadores. Grosso modo, o primeiro terуo do curso ж vai estar falando sobre construусo nьvel de paralelismo. Nсo vai ser uma espжcie de meio terceiro, que vai falar sobre caches e pouco sobre o paralelismo de dados, nьvel e depois do Щltimo terуo vai falar sobre os nьveis mais roscados de paralelismo. Mas isso ж um corte muito grosseiro deste