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