PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Prijenosnici (https://forum.pcekspert.com/forumdisplay.php?f=48)
-   -   Ugrađeno 8GB, upotrebljivo 2.47GB memorije (https://forum.pcekspert.com/showthread.php?t=264287)

ivan_29 24.10.2014. 19:47

Ugrađeno 8GB, upotrebljivo 2.47GB memorije
 
Pozdrav

imam laptop Hp probook 4545s, sa instaliranim "multiboot" dva OS-a, W7/64 i W7/86. U ovom 64bitnom imam upotrebljivu svu memoriju od 8Gb, odnosno 7,47, dok u ovom 32bitnom upotrebljivo je samo 2.47Gb. Probao sam onu opciju sa "msconfig" na "maximum memory", ali nije pomoglo i dalje stoji "instaled 8Gb, usable 2.47Gb." Ima li neka druga opcija da se ovo promjeni?

osspaljeni 24.10.2014. 20:00

Nema.
32-bita jednostavno ne mogu raditi sa više od 4 GB memorije i točka.

redscro 24.10.2014. 20:03

... a ostatak do 4GB (ili nešto manje) ti krade integrirana grafička.

ivan_29 24.10.2014. 20:33

Znam da grafika uzima svoj dio, ali sam stvarno mislio, da u sedmici može više memorije od 4Gb u 32bitnim windowsima.

osspaljeni 24.10.2014. 20:40

Mislio sam da je ovo već stvar opće kulture ali...

Evo pročitaj si, nije neki članak, wikipedija je, ali objašnjeno je...

Ukratko rečeno: ovisno o hardweru prepoznavati će ti 2.75 - 3.5 GB (ajde recimo da u tvome slučaju grafika pojede ovaj dio do minimalnih 2.75 ) nebitno bila to 32-bitna Vista ili 7ica ili nešto drugo.

Ako ti 32-bitni sustav nije bitan za nešto bolje ga makni jer 8 GB je sasvim dovoljno da bi 64-bitni sustav mogao fino raditi.

OuttaControl 24.10.2014. 23:07

Evo ti ukratko 32 bitni sustavi su napravljeni tako da za adrese memorije imaju 32 mjesta za nule/jedinice, i kad u to ubacis neki matematiku (2^32...) dobijes maksimalan broj bajtova koje sustav moze adresirat = 4GB i takav sustav jednostavno ne zna da ima išta više od ta 4GB i tu niko nemože ništa.

A ako ti iz nekog razloga baš treba ta 32bit verzija sustava, instaliraj vmware virtualnu mašinu i stavi na nju 32bitnu verziju(googlaj kako) iako ti to nece pomoc u ovom problemu, al eto da nemoras restartat komp za te razloge

Los Sam 30.10.2014. 10:18

Instalirao sam si PatchPae2 za adresiranje vise od 3gb memorije u laptopu i sada imam punih 4GB dok sam prije imao 2.96GB.
Radi na principu da mijenja windows kernel te omogucuje PAE koji je prije bio disablean u x86.
Navodno ide kao i neki Windows Serveri do 64GB.

Mario92 30.10.2014. 10:24

Al čemu raditi takve preinake koje su nestabilne i koje onemogućuju Windows Update i slično ako instalacija 64bitnog sustava eliminira upravo taj "problem"?

kasko 30.10.2014. 12:43

Kaj se desi ako imas grafu od 4gb memorije i 4 gb ram-a te instaliras 32bitni sustav, konkretno windows xp nadalje, jel boota uopce ?

JC Denton 30.10.2014. 13:08

Citiraj:

Autor kasko (Post 2684222)
Kaj se desi ako imas grafu od 4gb memorije i instaliras 32bitni sustav, konkretno windows xp nadalje, jel boota uopce ?

Dobro pitanje? ne znam sto ce ti grafa od 4gb na winxp, ali dobro pitanje :lol2:

De5tr0yer 30.10.2014. 13:22

http://forum.pcekspert.com/showthread.php?t=128267

Za gpu sa 4+ GB vram, bootat će, windowsi ne adresiraju video ram direktno već preko grafičke kartice.

kasko 30.10.2014. 14:11

@JC Denton
Treba mi da mogu SS napravit, moje pitanje gore je teoretsko bilo.

@De5tr0yer
Moze jos malo pojasnjenje, jer sam ja imao ovakvo shvacanje:
imas recimo 4gb jedan stick RAM-a u racunalu i stavis graficku karticu s 4gb memorije, instaliras 32 bit XP/7/8.1/10 znači 4way boot (šala, no za jedan objasni).

Kako je raspoređen RAM i vram tj kojeg će se koliko koristiti?

De5tr0yer 30.10.2014. 14:36

Da budem iskren, nisam siguran u točnost mojeg odgovora kojeg sam napisao zbog načina na koji shvaćam kako sustav radi, da ne ulazimo previše u dubinu:

Radna memorija alocirana sustavu preko memorijskog kontrolera koji direktno "odgovara" procesoru (bilo u northbridgeu, PCH ili samom procesoru) ovisi uvijek o dvije komponente, HW i SW. SW je u našem slučaju s radnom memorijom sam 32bitni OS.

Kao što je Bubač napisao, 32bitni windowsi nemaju omogućeno 36 bitno alociranje memorije unatoč PAE podršci od strane procesora, reklo bi se, od vajkada.

SW u slučaju grafičke kartice su njezini upravljački programi ili driveri. Pošto pretpostavljam da windowsi ne alociraju grafičku memoriju uopće, već da to čini upravljački program grafičke kartice, ako su oni napisani tako da omogućuju 64+ bitno adresiranje memorije problema ne bi smjelo biti.

Valjalo bi istražiti malo dublje kakvu vezu driveri ostvaruju s OS-om prilikom alociranja memorije, koriste li direktno kernel OS-a ili im je dovoljno ono napisano u driveru.

Dakle, pretpostavka je da će se adresirati do 3.5GB RAM-a i sva video memorija koju imaš na raspolaganju.

Ako nitko ne isproba prije, na kraju studenog ću najvjerojatnije složiti računalo pa odraditi alociranje :D

kasko 30.10.2014. 14:59

I SUMMON * BUBBA * da odgovori na moje pitanje iznad !

jopis 31.10.2014. 08:43

Imao sam ja na na konfi sa q6600, 4gige rama, hd6950 2gb, par mj. 32bitne winse.
Raspoloživog ram-a je bilo 3.5gb i sve je radilo najnormalnije.
Jednak iznos ram-a bio je raspoloživ u istom setupu i sa 6870 1gb i sa 5670 512mb.

rodney 31.10.2014. 13:58

Pobrkali ste loncice. Nebitno jel mema na grafi ili ne, s 32 bita se može adresirati tih cca 3.5gb, zaokruzimo na 4 :D.
Zasto je to tako, zato sto se kod alociranja memorije mora jasno naglasiti da li se ta memorija alocira na hostu (CPU), ili na uredjaju (device ili GPU). Znači možeš alocirat 4 vamo, 4 tamo.
Potpuno je nebitno da li je program neki moj CUDA "Hello world", ili pišem drivere za grafičku. Uostalom, kako bi instalirali 64bitne drivere za grafu na 32 bitni OS da prepozna svih 4GB ili vise?

De5tr0yer 31.10.2014. 14:55

Driveri za 32bitni operativni sustav označavaju samo nomenklaturu bitnosti koju su nametnuli sami windowsi i nema (direktne) veze s alociranjem memorije na grafičkim karticama.

Kao što je napisano, memorijska sabirnica kod intela odavno je 36bitna i kao takva može adresirati 2^36bit=64GB memorije, što je vrlo često dovodilo do slučajeva sa po >4GB memorije u serverskim okruženjima s intelovim 32bitnim procom i 32bitnim OS-om... -> problem je u komercijalnim windowsima koji imaju 32bita i nemaju PAE.

Ako posjeduješ dublje znanje o problematici molit ću te da podijeliš s nama. Ovo što si gore napisao ne daje nikakvu korisnu informaciju.

Dakle, razmišljam ovako: pošto je memorijski kontroler na grafičkoj više nego 32bitan, memorije se teoretski može adresirati za današnje pojmove gotovo neograničeno. Način na koji grafička komunicira s ostatkom sustava je ono što je dubiozno i što treba pojašnjenje.

Pošto nitko osim samih proizvođača grafičkih kartica ne zna točno kako su realizirane jedinice memorijskog kontrolera, mislim da se neki univerzalni odgovor neće pojaviti.

Ako netko ima vremena da napravi mini istraživanje o logici grafičkih kartica, recimo ranga 8800 (G90-G92 čipovi), nek javi što je našao o memorijskom kontroleru. Mislim da je ta serija dovoljno stara da se mogu naći neke detaljnije informacije.

Citiraj:

Autor kasko (Post 2684289)
I SUMMON * BUBBA * da odgovori na moje pitanje iznad !


summonat Bubbu ne možeš na taj način. Moraš napisat neku pametnu glupost tako da te on ispravi. (khm :D)


____


EDIT:

SORS

Citiraj:

256-bit memory bus, four independent 64-bit controllers
Hijao, čak 17179869184GB memorije može alocirati. Tko bi to rekao.

Detalja nema o načinu dojavljivanja količine memorije OS-u. Pitanje je kako OS barata s tim.

--

Razlog zašto na 32bita nemamo punih 4GB rama (iako bi trebalo to tako biti), te zašto oscilira razlika od iskoristivih 2.75GB pa sve do 3.5GB, ovisi o - hardwareu. Svaki uređaj adresira dio memorijskog prostora počevši od zadnje memorijske lokacije. Tako će korištenje dodatne kartice u računalu zauzeti dodatni adresni prostor.
Na 64bitnom OS-u se teoretski ovo isto može dogoditi. Staviš u računalo 17179869184GB rama i od toga ćeš, prema današnjim tendencijama nestajanja memorije na 32bitnim OS-ovima, dobiti 17179869182.75GB do max 17179869183.5GB (primjetiti da je razlika samo u zadnjim brojevima).

Tako se primjerice ovaj pojedeni memorijski prostor može donekle osloboditi ako se u BIOS(UEFI) ugase paralelni, serijski portovi, USB portovi ili bilo koji uređaj. Njemu se potom neće dodijeliti adresni prostor, tj. imat ćemo ga više.

Pošto CPU ne adresira grafički memorijski prostor, nema smisla da postoji ograničenje. Ponavljam, ovo je sve teoretski

Bubba 31.10.2014. 15:30

Citiraj:

Autor kasko (Post 2684289)
I SUMMON * BUBBA * da odgovori na moje pitanje iznad !

:blush:

AFAIR, imas dva nacina "zaobilazenja" tog problema:

a) PAE, sto zahtijeva PPro+ procesor. No obzirom da je PPro na sutrasnji dan tocno 19 godina na trzistu, to se i ne cini kao problem.
b) Double Address Cycle svojstvo PCI sabirnice, koje omogucuje 64 bitni DMA. No mislim da je to hack tezi od i PAE (koji je ozbiljno problematican), pa je pitanje koliko je "skup" za izvoditi i gdje je uopce dostupan (cini mi se da je implementacija ovisna i o hardveru, ali i o softveru).

De5tr0yer 31.10.2014. 15:44

To samo u slučaju da hoćeš svih 4GB radne memorije, ne?
DMA je zaobilaženje procesora prilikom pristupanja memoriji, nema veze s memorijom na samoj grafičkoj.

Znaš li je li točna pretpostavka: imam 2GB rama, 666GB vrama i 32bitni win 7. Mogu koristiti svih 666GB vrama. :D

rodney 31.10.2014. 15:48

PAE je samo hack, i ne može se sva memorija koristiti jednako kao u nativno 64bitnom okruženju, zato što niti jedna aplikacija sama za sebe ne može vidjeti više od 4gb memorije. To je tako jer su pointeri i dalje 32 bitni, a PAE je samo dodatni layer između, koji ti kaže "početnu točku".
http://en.wikipedia.org/wiki/Physical_Address_Extension

Što se tiče alociranje memorije, itekako je bitno koliko su "bitni" windowsi.
Jerbo imaš 32 bitni pointer na memorijsku lokaciju. a ako operacijski sustav ne vidi memorijsku lokaciju, ne vidi ju ni driver, ni nitko drugi.

Što se tiče memorijskih kontrolera, vrsti memorije i slično kod grafičkih kartica, imaš itekako dobro objašnjeno po netu (barem za Nvidiu pouzdano znam da ima jer mi je trebalo). Nisam doktor za to, ali jesam diplomirao na CUDI (PMF-MO), i nagledao sam se CUDA segmentation fault errora, puno više nego sam želio u životu.

Bubba 31.10.2014. 17:11

Citiraj:

Autor De5tr0yer (Post 2684743)
To samo u slučaju da hoćeš svih 4GB radne memorije, ne?
DMA je zaobilaženje procesora prilikom pristupanja memoriji, nema veze s memorijom na samoj grafičkoj.

Cemu tocno pristupas u smislu fizockog layera ces tesko znati na danasnjim OS-evima. Pa kvragu, to i jest najveca mana Von Neumanovske arhitekture - nepostojanje segmentacije izmedju podatka i instrukcija.

PAE nije ruzan zbog maksime "32 bitni procesor moze adresirati 2^32 GB RAM-a" (jer to nema veze jedno s drugime, bilo je nekoliko rasprava po forumu pa potrazi ako te vise zanima) nego zato sto je x86 arhitektura stara i primitivna kakva je.

Citiraj:

Znaš li je li točna pretpostavka: imam 2GB rama, 666GB vrama i 32bitni win 7. Mogu koristiti svih 666GB vrama. :D
Kada bi ti kernel podrzavao PAE, imao bi 2^36 byteova, olitiga 64GB adresnog prostora. Dakle, ne bas.

Ako te zanimaju detalji, imas primjerice poprilicno bizaran Microsoft AWE API pa tu mozes saznati svasta nesto pametno.

Iz ovog je prilicno jasno zasto je PAE ruzan - i dalje imas 32 bitni pointer, a mijenja se samo page tabela, sto znaci da si efektivno i dalje ogranicen na 4GB memorije po segmentu. Kada bi i imao neku hipotetsku situaciju u kojoj ti to treba (moram priznati da bih se u produkciji tesko dosjetiti mogao takvog primjera), opet nista mudro ne dobivas, ruku na srce.

Citiraj:

Autor rodney (Post 2684745)
Što se tiče memorijskih kontrolera, vrsti memorije i slično kod grafičkih kartica, imaš itekako dobro objašnjeno po netu (barem za Nvidiu pouzdano znam da ima jer mi je trebalo). Nisam doktor za to, ali jesam diplomirao na CUDI (PMF-MO), i nagledao sam se CUDA segmentation fault errora, puno više nego sam želio u životu.

Ain't nobody got time for malloc() return value? :D

To ti je sve zato sto si pusio droge i satirao alko'ol sa Sin***om i Nov******em umjesto da si sjeo za kompajler ko čo'ek i kuco fini kod. :p

rodney 31.10.2014. 19:04

Citiraj:

Autor Bubba (Post 2684778)
To ti je sve zato sto si pusio droge i satirao alko'ol

To je bio uvjet za prolazak kolegija i preživljavanje.

Citiraj:

Autor Bubba (Post 2684778)
sa Sin***om ...

ispravak:Sin*****om :roller:

De5tr0yer 31.10.2014. 19:12

Citiraj:

Autor rodney (Post 2684745)

Što se tiče alociranje memorije, itekako je bitno koliko su "bitni" windowsi.
Jerbo imaš 32 bitni pointer na memorijsku lokaciju. a ako operacijski sustav ne vidi memorijsku lokaciju, ne vidi ju ni driver, ni nitko drugi.

Vidi ju grafička kartica. Ona ima svoj kontroler i svoj interni program (firmware, kako god) koji upravlja pointerom koji je u G92 slučaju 64bitni. Driveri su samo način komunikacije s OS-om. Smatram da nema veze kolika je bitnost OS-a, memorija grafičke kartice se može napuniti bilo kojim načinom, a čisto sumnjam da se preslikava memorijski prostor RAM->vRAM.

Eh sad, kažete da sam u krivu ali da i dalje to nitko ne može sigurno znati.
Jesam dobro shvatio?


Bubba, fala na linku, dobro sam shvatio još prije kako to adresno ekstenziranje radi ali i dalje smatram da je vRAM odvojen od RAM-a. :)

Bubba 01.11.2014. 01:33

Citiraj:

Autor De5tr0yer (Post 2684832)
Vidi ju grafička kartica. Ona ima svoj kontroler i svoj interni program (firmware, kako god) koji upravlja pointerom koji je u G92 slučaju 64bitni.

Ti si nesto pomijesao - pricas o podatkovnoj sabirnice koja nema veze s adresiranjem. To sto je ona 64 bitna samo znaci da mozes zapakirati toliko bitova po transakciji. Pomnozi s MHz i dobiti ces propusnost. Od Pentiuma (barem onih implementacija koje koriste bank interleaving, odnosno zahtijevaju dva SIMM modula) data bus je 64 bitni. Sto nema veze s time koliko Pentium moze adresirati memorijskih lokacija, pa tako specijalno i RAM-a.

Citiraj:

Bubba, fala na linku, dobro sam shvatio još prije kako to adresno ekstenziranje radi ali i dalje smatram da je vRAM odvojen od RAM-a. :)
Smatrao ti nesmatrao, stvar je vrlo trivijalna. :D Ako radis u x86 modu, ogranicen si na 32 bitni pointer. I caozdravo, nema tu prevelike filozofije.

Citiraj:

Autor rodney (Post 2684824)
ispravak:Sin*****om :roller:

Uf. :D

Forace 01.11.2014. 09:55

Mozda da im objasniš šta je pointer i segment, nisam siguran da svi znaju o čem se tu radi iako su to osnove.

De5tr0yer 01.11.2014. 16:49

Ako nekog to zanima može bez problema uposliti čak i wikipediu.

Bubba, ne treba OS više od 32bitnog pointera, ne radi on s adresiranjem memorije grafičke, po mojoj pretpostavci. Ako to direktno radi driver, jasno mi je da to ne ide kad je driver ograničen OS-om.

Ali ali, što ako... Preostaje probati pa vidjeti.

Bubba 01.11.2014. 19:40

Citiraj:

Autor De5tr0yer (Post 2685146)
Bubba, ne treba OS više od 32bitnog pointera, ne radi on s adresiranjem memorije grafičke, po mojoj pretpostavci.

Tvoja pretpostavka, kao i u proslom postu, je i dalje kriva. :)

Hajdemo jos jednom - buduci da tvoj PC koristi procesor kao MMIO kao metodu komunikacije izmedju sebe i periferije, to ukljucuje i RAM na grafickoj kartici. Ako je procesor 32 bitni (ili, specijalno, OS), onda imas 32 bitni pointer i tocno toliki rang memorijskih adresa.

Ponavljam - nema neke prevelike mudrolije. Samo sto je taj dio vec 20ak godina cak i na PC-u rijesen, davno prije nego su se na graficke pocele trpati kamare RAM-a.

Citiraj:

Ako to direktno radi driver, jasno mi je da to ne ide kad je driver ograničen OS-om.
Vec peti puta citam ovu recenicu i nije mi jasno sto si htio reci. :D

nex 01.11.2014. 21:06

Citiram Chucka Walbourna, jednog od Direct X programera:

Citiraj:

Another factor in the PC memory equation has been growing as well: video memory size. In the early days of Direct3D, the typical video card had 16 or 32 MB of Video RAM (VRAM). High-end video cards now have 512 MB, 640 MB, 768 MB, or more VRAM. When video cards had 16 or 32 MB of Video RAM, this memory was mapped directly into every process that used Direct3D for efficient access by the application and video driver.

As video cards grew larger, this became unsustainable. A 768 MB hole in the 2-GB virtual address space of each process would leave very little space for applications. Similarly, taking 768 MB out of the 4 GB physical address space would be too constraining. This problem is exacerbated in dual GPU configurations (SLI®/Crossfire™).

Therefore, video card manufacturers typically implement a 256 MB physical memory window for the video graphics memory, and modern drivers do not create direct process mappings for the entire VRAM size.
Process address space is still consumed for working with the AGP aperture (64 MB, 128 MB, or more typically on modern game systems 256 MB in size). While PCIe uses a dynamic aperture, it too is mapped into each process that uses Direct3D.
Developer Spring Enginea:

Citiraj:

Video ram is not mapped into virtual address space, there are a few pci pages mapped to it, but those are needed for communication with the pci-devices, they aren't memory. Still video ram _can_ on request mapped, this way a CPU is able to send vertex & texture data directly to a gpu, but those address spaces are normally freed after usage. So GPU drivers only keep ~128MB for this feature locked (duno if in user or system space).
I.e. the link above mentions an example of 2x GTX280 with 1GB vram each, mapping 512MB (2x256MB).
Dakle, ocito os ne alocira cijeli video RAM i ocito postoji neki nacin da ga aplikacija dinamicki alocira (unutar ogranicenja od 2 GB RAM-a dostupnog aplikacijama).

Situacija, koju je netko spomenuo, da zbog grafe sa 4 GB RAM-a ne mozes uopce bootati Windowse je nemoguca.

De5tr0yer 01.11.2014. 21:09

Bubba, htio rec da ako se o adresiranju vRAMa brine driver, na nacin da on kaze grafickoj sad mi ti na to i to mjesto u memoriji spremi to i to, onda mi je jasno da to ne ide.

Tek sad je odgovor dovoljno specifican da si ispljunuo da to ne ide jer prelazi preko cpu. Iako si prethodno spomenuo da ne mozes znati cemu pristupas na phy layerima te si mi dao nade da moj nacin moze raditi. :D

Potvrda ce stici, ne mirjuem dok ne vidim...

Bubba 01.11.2014. 22:37

Citiraj:

Autor nex (Post 2685220)
Situacija, koju je netko spomenuo, da zbog grafe sa 4 GB RAM-a ne mozes uopce bootati Windowse je nemoguca.

Vjerojatno bi bila moguca kada bi se netko potrudio i nasao PCI kartice s puno GB RAM-a i natrpao neku pre-P6 masinu s njima.

Iako bi i tada vjerojatno postojao neki rezervirani dio samo za RAM. :)

Citiraj:

Autor De5tr0yer (Post 2685222)
Bubba, htio rec da ako se o adresiranju vRAMa brine driver, na nacin da on kaze grafickoj sad mi ti na to i to mjesto u memoriji spremi to i to, onda mi je jasno da to ne ide.

Zajebao bi se, opet. :p

Vecina "slabijih" chipova ti zapravo interno barata s 32 bitnim pointerima.

Mozes isprobati i sam, napravio sam OpenCL primjer sa sljedecim kernelom:

Code:

__kernel void sizeofint(__global int* buf)
{
        int *ptr;
        buf[0] = sizeof(*ptr);
}

Sto daje otprilike ovakav output:

http://www.pohrani.com/f/1d/gs/1At73EgF/1.png

Ako netko ima neku bolju karticu neka slobodno proba pa javi rezultate da vidimo kada se zapravo dogadja "skok" na 64 bitni pointer. Predpostavljam na 3+GB modelima, no tko ima volje i zelje, bilo bi zanimljivo saznat.

Edit: izgleda da je problem zanimljiviji nego sto sam mislio -> http://devgurus.amd.com/thread/160325 (pa onda iz toga ima hrpa materijala za daljnje trazenje). Primjenivsi gore opisani postupak nisam dobio drugacije rezultate, doduse. Iako se ovdje radi specificno o OpelCL aplikaciji, a ni CUDA nije nista bolja koliko citam, to nas i dalje dovodi do[*]

Maleni program/primjer s gornje slike se moze preuzeti sa sljedeceg linka:

http://dev.banelli.biz/tmp/OpenCL-SizeOf.zip

Samo mala napomena - nisam siguran moram li AMD APP SDK biti instaliran. Ako mora (odnosno ako vam aplikacija ne radi a vas chip podrzava OpenCL), evo linka: http://developer.amd.com/tools-and-s...ssing-app-sdk/

Citiraj:

Tek sad je odgovor dovoljno specifican da si ispljunuo da to ne ide jer prelazi preko cpu. Iako si prethodno spomenuo da ne mozes znati cemu pristupas na phy layerima te si mi dao nade da moj nacin moze raditi. :D
O tome cemu pristupas brine se VM tvojeg OS-a, a ne ti.
[*]No, ono sto je sada bitno - kako mislis utrpati 12 GB podataka u Quadro K6000 u 32 bitnoj arhitekturi, recimo?


Sva vremena su GMT +2. Sada je 15:19.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger