Kilka pytań laika dotyczących procesorów

0

Zaczynam naukę informatyki i nie mogę pojąć pewnych rzeczy, proszę o wytłumaczenie. Chodzi o procesor, to moje pytania:

  1. czy architektura procesora oznacza zasady działania i budowę procesora?
  2. są 2 główne architektury procesorów: Intel (czyli x86-32) i AMD (czyli x86-64) te Intel są 32 bitowe, a AMD 64 bitowe, i innych nie ma?
  3. jak sprawdzić, jakiej architektury jest mój procesor? Mam Ubuntu.
  4. co właściwie oznacza, że procesor jest zbudowany w architekturze Intel, a inny AMD - czytam w internecie, ale nie za bardzo rozumiem
  5. czy jak chcę coś pobrać z rejestru procesora za pomocą funkcji rdtsc to będzie tak samo działała na architekturze Intel i AMD?

Będę wdzięczny za jakiekolwiek odpowiedzi, linki, książki, gdzie mogę znaleźć odp.

0
  1. czy architektura procesora oznacza zasady działania i budowę procesora?

Nie za bardzo lapie pytanie. Te nowsze procki sa zbudowane inaczej niz te stare, ale czym to sie rozni konstrukcyjnie to Ci nie powiem, nie za bardzo sie hardwarem interesuje.

  1. są 2 główne architektury procesorów: Intel (czyli x86-32) i AMD (czyli x86-64) te Intel są 32 bitowe, a AMD 64 bitowe, i innych nie ma?

Nie ma takich architektur. Te o ktorych mowisz to x86 i x86-64. Zarowno procesory Intela jak i AMD wspieraja obie. Sa jeszcze ARM, AVR. Ogolnie jest tego duzo: http://en.wikipedia.org/wiki/List_of_CPU_architectures

  1. jak sprawdzić, jakiej architektury jest mój procesor? Mam Ubuntu.

lscpu, wylistuje Ci wszystko na ten temat, obslugiwane tryby pracy, etc, etc.

  1. co właściwie oznacza, że procesor jest zbudowany w architekturze Intel, a inny AMD - czytam w internecie, ale nie za bardzo rozumiem

Tu tez nie lapie za bardzo pytania.

1
  1. czy architektura procesora oznacza zasady działania i budowę procesora?

Zwykle pod tym pojęciem rozumie się zestaw instrukcji. Wewnętrzna i zewnętrzna budowa może być zupełnie różna.

Te o ktorych mowisz to x86 i x86-64. Zarowno procesory Intela jak i AMD wspieraja obie.

Można też rozumieć x86 i x86-64 (zwane też x64) jako jedną „architekturę” w różnych wersjach. Zarówno Intel jak i AMD wydaje jedną serię dokumentów dotyczących obu.

Architektura x86 powstała, gdy pod koniec lat 70-tych powstał procesor 8086. Był to procesor 16-bitowy. Potem pojawiały się nowsze procesory zgodne wstecz z 8086, z nowymi trybami pracy i instrukcjami (tryb chroniony w 286, 32-bitowość w 386), z czasem ukuto termin x86 na oznaczenie ich wszystkich.
Intel oficjalnie nazwał architekturę IA-32, od “Intel Architecture, 32-bit”.

Próbę wprowadzenia 64 bitów podjął Intel w procesorze Itanium, i nazwał to architekturą IA-64. Pomysł się nie przyjął. Drugie podejście należało do AMD. Ich pierwszym 64-bitowym procesorem był Opteron. Architekturę nazwano AMD64. Później Intel im zazdrościł i „pożyczył” pomysł w późniejszych seriach Pentium 4, nazywając 64-bitowy zestaw instrukcji IA-32e, potem EM64T, a później Intel 64.

Uwaga na zamieszanie w nazewnictwie: x86-64, x64, AMD64, IA-32e, EM64T i Intel 64 to ta sama architektura, ale IA-64 to co innego.

0

Ok dzięki, już mi się powoli zaczyna rozjaśniać :) Teraz mam ciut inne pytanie: czy mając jednordzeniowy procesor, mogę zainstalować system 64 bitowy na komputerze, będzie to działać?

0

Jeszcze jedno b. ważne dla mnie pytanie: czyli rozumiem, że właściwie istnieją właściwie tylko 2 architektury: 32 bitowa (x86) oraz 64 bitowa (x86-64)?

0
  1. Rdzenie nie maja nic wspolnego z architektura, to zupelnie inna bajka.
  2. Dalem Ci linka do listy architektur, jest tego sporo. Istnieja 2 architektury pod szyldem x86, 32-bitowa i 64-bitowa. Co nie wyklucza istnienia innych.
0
  1. (do pierwszego postu) Intel i AMD to nie architektury, tylko dwie największe firmy na świecie produkujące procesory.
0
  1. czy jak chcę coś pobrać z rejestru procesora za pomocą funkcji rdtsc to będzie tak samo działała na architekturze Intel i AMD?

Pomijając, że instrukcja rdtsc nie służy do pobierania wartości z rejestru (btw, dokąd chciałbyś ją tak w ogóle pobrać?), to tak - o ile nie korzystasz z jakichś Intelowo lub AMD-owo specyficznych rozwiązań bądź nie próbujesz w jakichś sposób "hackować" procesora (jakkolwiek by to nie brzmiało :P), to wszystko będzie działać identycznie.

0

@n0name_l: możesz powiedzieć coś więcej na ten temat? Chodzi mi o różnicę między rdzeniami, a architekturą - czy można o tym gdzieś przeczytać? A może móglbyś polecić jakąś książkę, która by mi rozjaśniła co nieco w temacie?

0

Chodzi mi o różnicę między rdzeniami, a architekturą

Tak na logikę (w uproszczeniu, bo w rzeczywistości działa to 'nieco' inaczej):

Pojedynczy rdzeń jest w stanie wykonywać jedną instrukcję w jednej chwili/pojedynczej jednostce czasu[#]. W procesorze może być kilka/kilkanaście (a nawet kilkaset[#]) rdzeni, każdy identyczny i pracujący równolegle z innymi.
Czyli podczas gdy procesor jednordzeniowy wykona np.jedną instrukcję w jakiejś jednostce czasu, procesor czterordzeniowy wykonałby aż cztery!
Oczywiście nic na siłę: jeżeli w naszym programie nie korzystalibyśmy z wątków, wykonywałaby się znów tylko jedna, ponieważ jeden wątek = jeden rdzeń (again: w uproszczeniu).

Natomiast mianem architektury oznacza się zestaw instrukcji, jakie ten rdzeń może wykonać, np.x86 bądź x86-64, każdy rdzeń budowany jest w jakiejś konkretnej (przy czym w procesorze każdy rdzeń posiada tę samą).

.. [#] dla przykładu, rdzeń taktowany zegarem 2.5 GHz wykona jedną instrukcję w ciągu ~4*10-10 sekundy (co daje 2500 instrukcji na mikrosekundę!; przyjmując - w uproszczeniu oczywiście - że każda instrukcja zajmuje dokładnie tyle samo czasu, w rzeczywistości tak łatwo nie ma, ale w to się nie wgłębiajmy).
.. [#] lecz takich nie kupisz w sklepie :P


czy można o tym gdzieś przeczytać?

Wikipedia, słownik, manuale dla deweloperów od Intela, strona Gynvaela Coldwinda (ostatnio wrzucił drugą część właśnie odnośnie wielowątkowości ;>), cokolwiek...

0

0

Architektura to (jak ja to rozumiem) jedna lub więcej cech opisujących budowę - tu CPU.
http://sjp.pwn.pl/lista.php?co=architektura

Przykłady terminów które łączy się z ze słowem "architektura":

  • 32- lub 64-bitowa
  • x86, RISC, CISC, ARM, Atom, GPU, FPGA
  • jedno- i wielo-rdzeniowa
  • SMP / NUMA
  • komputery: smartfon / PC / blade / mainframe / midrange / jednoukładowiec...
  • itd.

AMD i Intel nie różnią się architekturą w znaczącym stopniu, jedynie zestawem instrukcji, parametrami i...osiągami.
To co wypisałem powyżej mocno dzieli sprzęt na zupełnie odrębne obszary.

0

AMD i Intel nie różnią się architekturą w znaczącym stopniu, jedynie zestawem instrukcji,

Zaaaraz. To właśnie zestawem instrukcji nie różnią się, a wewnętrzną budową moga się różnić znacznie (zwłaszcza jeśli są różnej generacji).

1 użytkowników online, w tym zalogowanych: 0, gości: 1