דיעה אישית: האם כדאי לעבור לויסטה 64 ביט ?!
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
אתה מתקן אותי או שאתה מוסיף על מה שכתבתי?
אתה אומר שאני צודק בהסבר שלי או לא?
במה אני צודק ובמה לא?
אתה אומר שאני צודק בהסבר שלי או לא?
במה אני צודק ובמה לא?
- Yonster
-
- חבר פעיל מאוד

- תגובות: 267
- הצטרף: דצמבר 2005
הבהרה
בהתחלה חשבתי שאתה צודק ושאנחנו מתכוונים לאותו דבר.
אבל אחרי שכבר הגבתי ראיתי שמשום מה פספסתי שורה בתגובה שלך, ששם הזכרת את כרטיס המסך.
סורי:)
אז אני מתקן אותך. הזכרון של כרטיס המסך ל-א נספר עם הזכרון הראשי. הוא נספר בצורה עצמאית ע"י יחידת העיבוד של כרטיס המסך. כלומר, במערכת של 32 ביט, אין שום בעייה לשים 4 ג'יגה זכרון ראשי, ו - SLI עם שני 9800GFXים עם 1.5 ג"ב כל אחד מהם.
הכל יעבוד נהדר.
אבל אחרי שכבר הגבתי ראיתי שמשום מה פספסתי שורה בתגובה שלך, ששם הזכרת את כרטיס המסך.
סורי:)
אז אני מתקן אותך. הזכרון של כרטיס המסך ל-א נספר עם הזכרון הראשי. הוא נספר בצורה עצמאית ע"י יחידת העיבוד של כרטיס המסך. כלומר, במערכת של 32 ביט, אין שום בעייה לשים 4 ג'יגה זכרון ראשי, ו - SLI עם שני 9800GFXים עם 1.5 ג"ב כל אחד מהם.
הכל יעבוד נהדר.
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
אני חושב שזה יהיה בעייתי
תצורה שבה לכרטיס מסך יש 3GB זיכרון ועובדים עם מערכת 32bit תהיה בעייתית.
קראתי קצת שוב בtomshardware.
במרחב הזה נכללים כל ההתקנים כאשר בעדיפות אחרונה נמצא זיכרון הRam ולכן הוא זה ש"מתבזבז" כאשר מתקרבים ל4 ג'יגה.
קראתי קצת שוב בtomshardware.
ובציורWhen you install 4GB worth of memory sticks in the slots on your motherboard, you need to understand that is In Addition To a small amount that's built into your Mobo, plus however much is in your Video Card. Devices also take up some addresses, and anything with a cache needs to have that cache addressed as well.
So: Mobo has a few meg built into it, your video card has 250GB~1000GB, your processor has few MB cache, plus a few hundred more Kb for your device addresses, including the 8/26/32MB cache in your hard drive and that sort of thing. After all that has been done, then comes the 4GB worth of DIMMS you installed on your Motherboard. ALL of these need to be fully addressed so your Operating System, drivers, and applications can communicate to them. But the total in this case is much more than 4GB.
So what happens is your Mobo claims the first addresses, then the cache on your CPU, then the cache on your HDD, then however much your other devices need, then however many addresses your video card needs. All of this comes out of the 4GB total. WHAT IS LEFT OVER after the rest of your comp is handled can be used for your installed DIMMS. In this case there is 4GB worth of DIMMS, but a large chunk of addresses have already been assigned to other purposes. So the system assigns however many addresses remain. Again: 4GB worth of potential addresses, less Mobo, Devices, Caches, and Video memory. Whatever is left over is used for your system memory. And that is how you get to 3GB~ish displayed memory in your OS.
In the case of 2GB of RAM, your system still assigns from the same 4GB pool of addresses. So you have the 1GB~ish total for your system, followed by the 2GB DIMMS. The total is less than 4GB, therefore you will see all of the RAM....
מה שהם אומרים זה בעצם שסך הכל יש 4 ג'יגה.In normal mode, the CPU can address this much:
+---------------+ 4GB
| |
| |
| |
| |
| |
| |
| |
| |
+---------------+ 0
Now you put your stuff in this address space:
+---------------+ 4GB
| BIOS, PCI |
| GFX, ETC... |
|---------------+ 3 GB
| EMPTY |
| |
|---------------+ 2 GB
| |
| RAM |
| |
| |
+---------------+ 0
If you put another 1GB RAM into there, it will be fine, because you still have 1GB of EMPTY space.
But if you put another gig (4 total), then you have an overlap. The last GB will be hidden behind pci and gfx, so Windows cannot reach it, and it will be "lost".
Memory remapping can solve it, by moving the last gig above pci and gfx, but then you'll need an OS than can go beyond 4GB, which 32-bit xp and vista cannot do....
במרחב הזה נכללים כל ההתקנים כאשר בעדיפות אחרונה נמצא זיכרון הRam ולכן הוא זה ש"מתבזבז" כאשר מתקרבים ל4 ג'יגה.
- Yonster
-
- חבר פעיל מאוד

- תגובות: 267
- הצטרף: דצמבר 2005
זה מאוד מוזר לי..
אתה יכול לשלוח בבקשה לינק לכתבה?..
מה גם שהגיונית...
ממש לא חסרים גיימרים על 4 ג'יגה ראם ועוד SLI יפה כזה.... עם שני 8800ULTRA עם ג'יגה כ"א...
אולי מישהו מהפורום? בבקשה תראה סימן!:)
זה ממש מוזר לי... אולי מדובר שם על קונפיגורציה ספציפית?
מה גם שהגיונית...
ממש לא חסרים גיימרים על 4 ג'יגה ראם ועוד SLI יפה כזה.... עם שני 8800ULTRA עם ג'יגה כ"א...
אולי מישהו מהפורום? בבקשה תראה סימן!:)
זה ממש מוזר לי... אולי מדובר שם על קונפיגורציה ספציפית?
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
שמתי לינק לפני הציטוטים.
יכול להיות שיש כאלה אבל מי אמר שהם על 32bit?
יכול להיות שיש כאלה אבל מי אמר שהם על 32bit?
- Yonster
-
- חבר פעיל מאוד

- תגובות: 267
- הצטרף: דצמבר 2005
אה אוקיי!
לא ראיתי.
זה פורום.. לא כתבה מקצועית... אבל אני אקרא ואחזור אליך עם זה!
למרות שאני די בטוח שזה לא נכון. לפי השרטוטים שם, אתה יכול להשתמש רק ב1 ג'יגה עבור כרטיסי מסך..
יש כבר היום, למערכות של 32 ביט, כרטיס מסך בודד עם 1.5 ג'יגה זכרון.. (דגמים מסויימים של אנווידיה... 9800ULTRA וכל מיני...שלא לדבר על SLIים של שני כרטיסים של ג'יגה)..
וכמובן ששאלתי לגיימרים לצוץ כדי שנתחקר אותם על איזו מערכת הפעלה הם:)
זה פורום.. לא כתבה מקצועית... אבל אני אקרא ואחזור אליך עם זה!
למרות שאני די בטוח שזה לא נכון. לפי השרטוטים שם, אתה יכול להשתמש רק ב1 ג'יגה עבור כרטיסי מסך..
יש כבר היום, למערכות של 32 ביט, כרטיס מסך בודד עם 1.5 ג'יגה זכרון.. (דגמים מסויימים של אנווידיה... 9800ULTRA וכל מיני...שלא לדבר על SLIים של שני כרטיסים של ג'יגה)..
וכמובן ששאלתי לגיימרים לצוץ כדי שנתחקר אותם על איזו מערכת הפעלה הם:)
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
זה נכון שזה פורום, אבל זה פורום מאוד מקצועי.
tomshardware זה אתר מאוד נחשב.
כנראה שהמגיבים שם הם לא מפתחים במייקרוסופט אבל הם כן אנשים שמבינים משהו.
זה לא אומר שיש ג'יגה לכרטיס מסך.
זה אומר שככל שתוסיף יותר התקנים, או לחילופין כרטיס מסך עם יותר זיכרון, ייקטן טווח הכתובות של הRam.
בהחלט יכול להיות מצב שמערכת ההפעלה תמפה פחות מ3GB של זיכרון Ram בגלל ריבוי התקנים.
tomshardware זה אתר מאוד נחשב.
כנראה שהמגיבים שם הם לא מפתחים במייקרוסופט אבל הם כן אנשים שמבינים משהו.
זה לא אומר שיש ג'יגה לכרטיס מסך.
זה אומר שככל שתוסיף יותר התקנים, או לחילופין כרטיס מסך עם יותר זיכרון, ייקטן טווח הכתובות של הRam.
בהחלט יכול להיות מצב שמערכת ההפעלה תמפה פחות מ3GB של זיכרון Ram בגלל ריבוי התקנים.
- biss
-
- חבר ותיק

- תגובות: 1574
- הצטרף: מאי 2007
- מיקום: שם. כמעט תמיד שם!
יופי של מאמר

מה שכן, אם כבר מפרסמים אותו כמאמר מסודר, אולי כדאי להתייחס גם לשאלות ולתשובות בדיון זה
מה שכן, אם כבר מפרסמים אותו כמאמר מסודר, אולי כדאי להתייחס גם לשאלות ולתשובות בדיון זה
לבקשת המערכת, החתימה בעריכה.
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
Yonster, מצאתי כתבה מקצועית
Microsoft
For example, if you have a video card that has 256 MB of onboard memory, that memory must be mapped within the first 4 GB of address space. If 4 GB of system memory is already installed, part of that address space must be reserved by the graphics memory mapping. Graphics memory mapping overwrites a part of the system memory. These conditions reduce the total amount of system memory that is available to the operating system....
-
osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
נוצר פה איזה מיש-מש בקשר לעניין ה 3 ג'יגה וכרטיסי המסך
אני אנסה לתמצת הפעם
מערכת הפעלה 32 ביט יכולה לגשת למרחב כתובות בזיכרון של עד 4 ג'יגה בגלל שהמצביע הוא באורך של 32 ביט ולכן המספר הגבוה ביותר שיכול להירשם ע"י 32 ביטים (4 בתים) הוא 4 ג'יגה בקרוב (יש לזה חריגה שהיא הרחבה של ה CPU בשם PAE אבל לזה ממש לא כדאי להיכנס).
מערכת ההפעלה של מיקרוסופט משתמשת במשהו שנקרא זיכרון הוירטואלי (זה גם לא מדוייק לגמרי אבל לצורך ההסבר זה מספיק).
הזיכרון הוירטואלי הזה לא מייצג מרחב כתובות אמיתי על הזיכרון הראשי אלא ,כשמו הוא כן הוא, מדמה כאילו יש לך 4 ג'יגה זיכרון למרות שבפועל ,בדר"כ ,יש לך הרבה פחות !!!
מערכת ההפעלה היא זאת שאחראית על המיפוי בין הזיכרון המדומה (שאפליקציות רגילות ב Windows משתמשות) לבין הזיכרון הראשי.
אז כמו שנאמר המערכת מסוגלת לגשת ל 4 ג'יגה זיכרון אבל החלוקה היא כזאת:
1) ה 2 ג'יגה התחתונים ניתנים לשימוש ע"י כל האפליקציות (process)
2) ה 2 ג'יגה העליונים ניתנים לשימוש ע"י המערכת (system)
אבל כמו שכבר נאמר ה 1 ג'יגה העליון שמור ולא ניתן לשימוש ע"י תהליכים במערכת (גם לא של מערכת ההפעלה וגם לא דרייברים )
(אגב הג'יגה השלישי ניתנים לשימוש רק ע"י תהליכים שרצים ברמת ה Kernal כגון דרייבירים)
בהרבה כרטיסי חומרה כיום יש זיכרון פנימי שלהם ולכן להם בכלל צורך בשימוש במרחב הכתובות של הזיכרון הפיסי ולכן הם לא גוזלים זיכרון הראשי בכלל.
הדוגמה הפשוטה ביותר הם כרטיסי המסך (עם הזיכרון המובנה) ששם אין בכלל שימוש בזיכרון המחשב (כמובן שאני לא כולל פה דרייברים ואפליקציות שמגיעים עם הכרטיסים)
לסיכום הג'יגה העליון ששמור ע"י המערכת ולא נמצא כיום כמעט בשימוש ונמצא שם בגלל התמיכה לאחור (כרטיסים ישנים וכו)
ראשית תן לעצמך
מכיוון שהקישור הזה פורסם בהודעה הראשונה של השרשור הזה 
ושנית הציטוט מדבר על כרטיסי מסך OnBoard שמשתמשים בזיכרון המשותף של המערכת כלומר בזיכרון הפיסי (זאת השאלה השנייה שחיכיתי שתשאל בעקבות ההסבר)
הזיכרון הזה אכן נלקח באופן קבוע מהזיכרון הפיסי (זהו משהו שמוקצה ע"י ה bios) אבל הוא לא נלקח מהג'יגה העליון אלא (אם אני זוכר נכון) דווקא מה- 1 הג'יגה התחתון (זה שבשימוש תהליכים רגילים במערכת) ולכן למי שיש כרטיס מסך OnBoard צריך לדעת שהכרטיס שלו "אוכל" זיכרון פיסי מהמערכת שלו כך שאפליקציות יקבלו פחות ממה שבפועל מותקן
אני מפחד שבסוף נגיע למצב שככל שמסבירים יותר ככה מבינים פחות.or_y כתב:קראתי פעם על עניין התמיכה ב4GB והבנתי משהו קצת שונה.
מערכת הפעלה 32bit יכולה לראות מרחב כתובות של 4GB כמו שהסברת.
מרחב הכתובות הזה צריך לכלול הכל. הכל זה אומר גם כרטיסים והתקנים שונים.
לצורך העניין אם יש לך כרטיס מסך עם 512MB זיכרון, אז הזיכרון הזה נכלל ב4GB ולכן בפועל יהיה למערכת ההפעלה פחות זיכרון לעצמה.
הזיכרון לא יהיה מנוצל למשהו, אלא רק המרחב שלו.
הסיבה שזה ככה זה לא בשביל תאימות, אלא בגלל העובדה שמערכת 32bit לא יכולה לעבוד עם יותר מ4GB של מרחב כתובות.
המערכת צריכה גישה גם לזיכרון של ההתקנים ולכן זיכרון זה נכלל במרחב הכתובות.
זה לפחות מה שאני הבנתי, שזה קצת שונה ממה שהסברת אם הבנתי אותך נכון....
אני אנסה לתמצת הפעם
מערכת הפעלה 32 ביט יכולה לגשת למרחב כתובות בזיכרון של עד 4 ג'יגה בגלל שהמצביע הוא באורך של 32 ביט ולכן המספר הגבוה ביותר שיכול להירשם ע"י 32 ביטים (4 בתים) הוא 4 ג'יגה בקרוב (יש לזה חריגה שהיא הרחבה של ה CPU בשם PAE אבל לזה ממש לא כדאי להיכנס).
מערכת ההפעלה של מיקרוסופט משתמשת במשהו שנקרא זיכרון הוירטואלי (זה גם לא מדוייק לגמרי אבל לצורך ההסבר זה מספיק).
הזיכרון הוירטואלי הזה לא מייצג מרחב כתובות אמיתי על הזיכרון הראשי אלא ,כשמו הוא כן הוא, מדמה כאילו יש לך 4 ג'יגה זיכרון למרות שבפועל ,בדר"כ ,יש לך הרבה פחות !!!
מערכת ההפעלה היא זאת שאחראית על המיפוי בין הזיכרון המדומה (שאפליקציות רגילות ב Windows משתמשות) לבין הזיכרון הראשי.
אז כמו שנאמר המערכת מסוגלת לגשת ל 4 ג'יגה זיכרון אבל החלוקה היא כזאת:
1) ה 2 ג'יגה התחתונים ניתנים לשימוש ע"י כל האפליקציות (process)
2) ה 2 ג'יגה העליונים ניתנים לשימוש ע"י המערכת (system)
אבל כמו שכבר נאמר ה 1 ג'יגה העליון שמור ולא ניתן לשימוש ע"י תהליכים במערכת (גם לא של מערכת ההפעלה וגם לא דרייברים )
(אגב הג'יגה השלישי ניתנים לשימוש רק ע"י תהליכים שרצים ברמת ה Kernal כגון דרייבירים)
בהרבה כרטיסי חומרה כיום יש זיכרון פנימי שלהם ולכן להם בכלל צורך בשימוש במרחב הכתובות של הזיכרון הפיסי ולכן הם לא גוזלים זיכרון הראשי בכלל.
הדוגמה הפשוטה ביותר הם כרטיסי המסך (עם הזיכרון המובנה) ששם אין בכלל שימוש בזיכרון המחשב (כמובן שאני לא כולל פה דרייברים ואפליקציות שמגיעים עם הכרטיסים)
לסיכום הג'יגה העליון ששמור ע"י המערכת ולא נמצא כיום כמעט בשימוש ונמצא שם בגלל התמיכה לאחור (כרטיסים ישנים וכו)
or_y,or_y כתב:![]()
Microsoft
For example, if you have a video card that has 256 MB of onboard memory, that memory must be mapped within the first 4 GB of address space. If 4 GB of system memory is already installed, part of that address space must be reserved by the graphics memory mapping. Graphics memory mapping overwrites a part of the system memory. These conditions reduce the total amount of system memory that is available to the operating system.......
ראשית תן לעצמך
ושנית הציטוט מדבר על כרטיסי מסך OnBoard שמשתמשים בזיכרון המשותף של המערכת כלומר בזיכרון הפיסי (זאת השאלה השנייה שחיכיתי שתשאל בעקבות ההסבר)
הזיכרון הזה אכן נלקח באופן קבוע מהזיכרון הפיסי (זהו משהו שמוקצה ע"י ה bios) אבל הוא לא נלקח מהג'יגה העליון אלא (אם אני זוכר נכון) דווקא מה- 1 הג'יגה התחתון (זה שבשימוש תהליכים רגילים במערכת) ולכן למי שיש כרטיס מסך OnBoard צריך לדעת שהכרטיס שלו "אוכל" זיכרון פיסי מהמערכת שלו כך שאפליקציות יקבלו פחות ממה שבפועל מותקן
-
osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
מערכת ההפעלה תמפה תמיד 3 ג'יגה של זיכרון (ולחלק מהתהליכים במערכת יש גישה לכל מרחב הזיכרון הזה) אבל חלק מההתקנים תופסים באופן קבוע חלק מהזיכרון הזה (כמו כרטיס מסך OnBoard) וכך יש פחות זיכרון לשימוש לשאר המערכת.or_y כתב: זה אומר שככל שתוסיף יותר התקנים, או לחילופין כרטיס מסך עם יותר זיכרון, ייקטן טווח הכתובות של הRam.
בהחלט יכול להיות מצב שמערכת ההפעלה תמפה פחות מ3GB של זיכרון Ram בגלל ריבוי התקנים....
אבל !!!
יש מעט מאוד כרטיסי חומרה שדורשים מיפוי פיסי קבוע גדול לזיכרון המחשב (כרטיס המסך OnBoard הוא החריג בעניין הזה).
גם כרטיסי החומרה שכן צורכים זיכרון פיסי במחשב בדר"כ הם:
-צריכים זיכרון באופן זמני ולכן זה מנוהל דרך המנגנון של הזיכרון הוירטואלי ולכן לא תופס באופן קבוע זיכרון פיסי במחשב
-כרטיסי החומרה (דרייברים) שכן צורכים זיכרון פיסי קבוע (יצא לי פעם ,בגלל עצלנות, לכתוב אחד כזה) צורכים בדר"כ מעט מאוד זיכרון פיסי (אם הם כתובים נכון) ולכן הם לא תופסים נתח משמעותי קבוע מהזיכרון במחשב !
שוב הנושא הזה מאוד מורכב (וקשור בחלקו לעולם הדריברים ב Win32 ועבודה ב Kernel Mode) .
צריך לזכור שיש פה הרבה פינת, כגון הזיכרון הפיסי שתפוס באופן קבוע ע"י תהליכים של מערכת ההפעלה שדרושים לצורך הרצת תהליכים (אפליקציות) במערכת ההפעלה וכו
-
osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
איך הגענו מהבעיות שיש לויסטה 64 ביט לנושא הדריברים וכרטיסי המסך OnBoard בסביבת Win32 אין לי מושג 
- michael123
-
- חבר מכור קשה

- תגובות: 6161
- הצטרף: פברואר 2008
- מיקום: מרכז הארץ
אולי פספסתי את זה, לא ראיתי היזכור במאמר:
יש אפשרות לשים אופציה /3GB ב-BOOT.INI
אנחנו משתמשים בזה בקינפוג של Oracle
לא יודע אם זה עובד על VISTA, אבל על XP PRO צריך לעבוד..
יש אפשרות לשים אופציה /3GB ב-BOOT.INI
אנחנו משתמשים בזה בקינפוג של Oracle
לא יודע אם זה עובד על VISTA, אבל על XP PRO צריך לעבוד..
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
הגענו לזה בגלל שקראתי פעם על הנושא הזה והבנתי משהו טיפה שונה
צודק, לא נכנסתי לקישור במאמר שלך.
לגבי מה שהסברת על כרטיס מסך OB, אני לא חושב שזה קשור.
ברור לי שכרטיס מסך OB משתמש בזיכרון Ram בגלל שאין לו זיכרון משלו.
אני לא מבין איך הסקת שבמיקרוסופט דיברו על כרטיס OB.
פה אני לא מסכים איתך.בהרבה כרטיסי חומרה כיום יש זיכרון פנימי שלהם ולכן להם בכלל צורך בשימוש במרחב הכתובות של הזיכרון הפיסי ולכן הם לא גוזלים זיכרון הראשי בכלל.
הדוגמה הפשוטה ביותר הם כרטיסי המסך (עם הזיכרון המובנה) ששם אין בכלל שימוש בזיכרון המחשב (כמובן שאני לא כולל פה דרייברים ואפליקציות שמגיעים עם הכרטיסים)...
נכון שהכרטיסים לא משתמשים בזיכרון הפיסי, אבל הם כן משתמשים באותו מרחב כתובות של הזיכרון הפיסי שאנחנו מסכימים שהוא 4GB במערכות 32bit.
בלי קשר לתאימות לאחור, מערכת 32bit לא תוכל לנצל את כל ה4GB כי יש עוד התקנים שנכנסים למרחב הכתובות.
זה מה שהבנתי ממה שקראתי.
-
osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
Re: הגענו לזה בגלל שקראתי פעם על הנושא הזה והבנתי משהו טיפה
אני ינסה לשכנע אותך בדרך השלילה:or_y כתב: פה אני לא מסכים איתך.
נכון שהכרטיסים לא משתמשים בזיכרון הפיסי, אבל הם כן משתמשים באותו מרחב כתובות של הזיכרון הפיסי שאנחנו מסכימים שהוא 4GB במערכות 32bit....
כך לדוגמה את הכרטיס "הפשוט" הבא:
http://www.tigerdirect.ca/applications/ ... &CatId=320
-יש לכרטיס הזה 2GB זיכרון !
האם אתה חושב שהכרטיס הזה צורך מרחב כתובות של 2GB מהזיכרון הראשי ?!
-שים לב שדרישת הסף של הכרטיס הוא סה"כ 512MB זיכרון מחשב (סה"כ
האם אתה חושב שהכרטיס "תופס" באופן קבוע 2GB מרחב כתובות של הזיכרון הוירטואלי במערכת (מתוך 3GB האפשריות במערכות 32 ביט), כלומר במצב זה היה נשאר לכל תהליכים במערכת סה"כ אופציה להשתמש עד 1GB של זיכרון פיסי ?! (בפועל זה היה עוד הרבה פחות !)
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
איזה כרטיס חמוד הבאת
לפי מה שאמרתי במצב שתיארת היה נשאר 2GB בגלל שזה יורד מה4GB ולא מה3GB.
בכל מקרה, אכן יש לי טעות במה שכתבתי.
מה שתופס את המקום זה לא הזיכרון של הכרטיס אלא אפיק הPCI או במקרה הזה PCI Express.
כמות הזיכרון שנשמרת כן תלויה בתצורת המערכת, למשל קראתי שכאשר יש SLI נשמר עוד מקום.
לינקSignificant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware:
• BIOS – including ACPI and legacy video support
• PCI bus including bridges etc.
• PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory
...
-
osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
Re: איזה כרטיס חמוד הבאת
לא הבנתי האם השתכנעת בסוף או לאor_y כתב:![]()
לפי מה שאמרתי במצב שתיארת היה נשאר 2GB בגלל שזה יורד מה4GB ולא מה3GB.
בכל מקרה, אכן יש לי טעות במה שכתבתי.
מה שתופס את המקום זה לא הזיכרון של הכרטיס אלא אפיק הPCI או במקרה הזה PCI Express.
כמות הזיכרון שנשמרת כן תלויה בתצורת המערכת, למשל קראתי שכאשר יש SLI נשמר עוד מקום.
לינקSignificant chunks of address space below 4GB (the highest address accessible via 32-bit) get reserved for use by system hardware:
• BIOS – including ACPI and legacy video support
• PCI bus including bridges etc.
• PCI Express support will reserve at least 256MB, up to 768MB depending on graphics card installed memory
......
הבלבול ,לדעתי, נובע מכך שאתה חושב שמה שנשמר זה זיכרון פיסי
בפועל מה שנשמר במקרה זה הוא מרחב זיכרון וירטואלי שלעולם לא עושה שימוש בזיכרון הפיסי עצמו אלא הוא משתמש בו רק לצורך "דיבור" עם רכיבי חומרה !
בגלל שהדיבור נעשה בצורה זאת אי אפשר להשתמש במרחב הוירטואלי הזה לשום דבר אחר.
הבעייה צצה כאשר כל המרחב הוירטואלי = גודל הזיכרון הפיסי במחשב (=4 ג'יגה)
ואז הזיכרון הפיסי הזה פשוט לא נמצא בשימוש כי הוא תפוס ע"י מנגנון שהומצא בתקופה ש 4 ג'יגה היה שווה ערך למחיר בית קטן
הנה דוגמה ,מוזרה, להמחיש את המצב:
נניח קניתי 4 ג'יגה זיכרון מחשב (4 סלוטים של 1 ג'יגה)
ועכשיו פתאום גיליתי שהשולחן שהמחשב שלי עומד עליו מתנועע קצת, ואני חייב לפתור את הבעייה הזאת. אז כדי לפתור זאת אני לוקח 1 ג'יגה זיכרון ושם אותו מתחת לאחד הרגליים של השולחן כדי שיפסיק לזוז.
עכשיו באמת הבעייה שהייתה לי נפתרה (והיא באמת הייתה קיימת) אבל זה בא על חשבון 1 ג'יגה זיכרון מחשב שבו אני לא יכול להשתמש יותר
- or_y
-
- חבר פעיל מאוד

- תגובות: 254
- הצטרף: פברואר 2006
1) זה ברור לי, והיה ברור לי מהתחלה שמה שנתפס זה מרחב כתובות ולא הזיכרון עצמו, גם כתבתי את זה.
2) לגבי מה שאמרתי על זה שהזיכרון של הכרטיס מסך בא על חשבון הRam כאשר מתקרבים ל4GB, פה טעיתי.
3) לגבי זה שכתבת במאמר שלך שהמגבלה היא בגלל רק בגלל עניין של תאימות, פה אני לא מסכים איתך. עובדה שהיום PCIExpress תופס יותר מ256MB ממרחב הכתובות.
2) לגבי מה שאמרתי על זה שהזיכרון של הכרטיס מסך בא על חשבון הRam כאשר מתקרבים ל4GB, פה טעיתי.
3) לגבי זה שכתבת במאמר שלך שהמגבלה היא בגלל רק בגלל עניין של תאימות, פה אני לא מסכים איתך. עובדה שהיום PCIExpress תופס יותר מ256MB ממרחב הכתובות.
- truejoker
-
- חבר מכור קשה

- תגובות: 5738
- הצטרף: יולי 2007
אושרוב , רציתי להבין שני דברים עיקריים :
1 היות ומדובר במרחב זכרון ווירטואלי , מדוע שמיקרוסופט לא תגיד לנו שאם זה כרטיס אונבורד להוסיף זכרון ?
ב: מדוע יצרני ה NOTHER BOARD לא מבצעים אופטימיזציה של כרטיס המסך שהדרייבר יתן למכונה הווירטואלית את הFOOT PRINT הקטן ביותר וישתמש בזכרון של הכרטיס עצמו ? אני מבין שאולי זה טיפה סיבוך לדרייבר , אבל ממעט הידע שלי בתכנות זה לא אמור להיות בעייתי מידי או שאולי אני טועה ?
2 : לגבי תוכנות 64 ביט , האם זה לא נכון שלא רק צריך לקמפל מחדש תוכנית קיימת בקומפיילר אלא צריכים גם לעבוד על שינויים בפוינטרים הפנימיים ובהקצאת הזכרון הפנימית של התוכנה וזה אומר לעצב אותה מחדש ? כי אם אני צודק אני מניח שעד שיגיע הזמן שתוכנות 64 BIT יהיו שוות שימוש יקח עוד המון זמן
1 היות ומדובר במרחב זכרון ווירטואלי , מדוע שמיקרוסופט לא תגיד לנו שאם זה כרטיס אונבורד להוסיף זכרון ?
ב: מדוע יצרני ה NOTHER BOARD לא מבצעים אופטימיזציה של כרטיס המסך שהדרייבר יתן למכונה הווירטואלית את הFOOT PRINT הקטן ביותר וישתמש בזכרון של הכרטיס עצמו ? אני מבין שאולי זה טיפה סיבוך לדרייבר , אבל ממעט הידע שלי בתכנות זה לא אמור להיות בעייתי מידי או שאולי אני טועה ?
2 : לגבי תוכנות 64 ביט , האם זה לא נכון שלא רק צריך לקמפל מחדש תוכנית קיימת בקומפיילר אלא צריכים גם לעבוד על שינויים בפוינטרים הפנימיים ובהקצאת הזכרון הפנימית של התוכנה וזה אומר לעצב אותה מחדש ? כי אם אני צודק אני מניח שעד שיגיע הזמן שתוכנות 64 BIT יהיו שוות שימוש יקח עוד המון זמן
-
osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
שתי שאלות שהתשובות אלינן ארוכות משהו,truejoker כתב: אושרוב , רציתי להבין שני דברים עיקריים :
1 היות ומדובר במרחב זכרון ווירטואלי , מדוע שמיקרוסופט לא תגיד לנו שאם זה כרטיס אונבורד להוסיף זכרון ?
ב: מדוע יצרני ה NOTHER BOARD לא מבצעים אופטימיזציה של כרטיס המסך שהדרייבר יתן למכונה הווירטואלית את הFOOT PRINT הקטן ביותר וישתמש בזכרון של הכרטיס עצמו ? אני מבין שאולי זה טיפה סיבוך לדרייבר , אבל ממעט הידע שלי בתכנות זה לא אמור להיות בעייתי מידי או שאולי אני טועה ?...
ולכן אני אתחיל בראשונה ושוב אני אנסה לתמצת
נוצר פה בשרשור בילבול בין:
א. כרטיסי מסך OnBoard - שמשתמשים בזיכרון הראשי לצורך עבודה שוטפת (Shared Memory). כרטיסים אלו באמת תופסים את הזיכרון הפיסי (לא הוירטואלי) וממש משתמשים בו (קוראים וכותבים ממנו ואליו) לצורך העבודה השוטפת. אין קשר בין הזיכרון שהם תופסים לכל נושא הג'יגה האבוד עליו אנחנו מדברים פה בשרשור.
לדוגמה-נניח שיש לך 1 ג'יגה זיכרון פיסי מותקן במחשב ויש לך כרטיס OnBaord שהוגדר להשתמש ב 256 מגה. במקרה הזה למערכת ישאר רק 768 מגה זיכרון פיסי פנויים לשימוש שאר התהליכים במערכת (דריברים, אפליקציות, מערכת הפעלה וכו).
אני רוצה להדגיש שהכרטיס ,במקרה הזה, באמת משתמש בזיכרון עצמו וממש קורא וכותב ממנו ולכן אין פה שום בעייה במימוש לעניין.
ב. כרטיסי המסך בעלי זיכרון פנימי על הכרטיס עצמו - אני אנסה פשוט לתת דוגמה כדי להמחיש איך זה עובד : נניח ,ששוב ,אתה משתמש ב 1 ג'יגה זיכרון פיסי במחשב אבל הפעם אתה מתקין כרטיס מסך שיש לו זיכרון פנימי על הכרטיס של 256 מגה.
במקרה הזה המערכת תוכל להשתמש בכל ה 1 ג'יגה זיכרון מכיוון שכרטיס המסך פשוט לא צריך וגם לא משתמש בזיכרון הראשי (כמובן שהדריבר של הכרטיס צורך זיכרון מסויים אבל הוא זניח בגודל). עכשיו מגיע הקטע הטריקי להבנה:
"אז איך בדיוק נכנס לנו לסיפור המרחב של ה 1 ג'יגה העליון שעליו אני מדבר כל הזמן !"
והתשובה היא שעדיין צריך איזה מנגנון שיעביר את הנתונים אותם אני רוצה לכתוב לזיכרון הפנימי של כרטיס המסך ! פעולת הכתיבה הזאת לא נעשית בצורה אוטומטית,
אלא דרך כתיבה לכתובת וירטואלית שהוגדרה מראש. הכתובת הזאת (ניחשתם נכון !) נמצאת היכן שהוא בג'יגה הרביעי של מרחב הכתובות האפשריות במערכת.
נניח שהכתובת במרחב שהוגדרה לכך זה תחילת הג'יגה השלישי והגודל של המרחב הזה הוא 256 מגה.
במקרה זה כל דבר שיכתב באזור הזה ישלח ע"י המערכת ישירות לזיכרון של כרטיס המסך ולא לזיכרון הפיסי של המחשב !
כלומר המערכת ממפה את המרחב הזה ישירות למרחב הפיסי בכרטיס המסך.
אז איפה הבעייה:
אותם 256 מגה בדוגמה (ובעצם כמעט כל הג'יגה העליון) שמור ע"י המערכת ההפעלה רק לפעולת המיפוי הזאת בין זיכרון וירטואלי לזיכרון הפיסי על רכיבי חומרה (במציאות זה לא מדוייק אבל לשם ההסבר זה מספיק)
הבעייה היא שברגע שהמערכת עובדת בצורה זאת, אין דרך למפות 4 ג'יגה זיכרון וירטואלי ל 4 ג'יגה לזיכרון פיסי מכיוון ש 1 ג'יגה זיכרון וירטואלי כבר שמור (אבל לא לשימוש בזיכרון הראשי : RAM)
אני מניח שהסיבה שמנגנון "הדיבור" עם החומרה נבנה כך היא שבזמן שזה נעשה אף אחד לא חשב על האופצייה שמישהו יתקין 4 ג'יגה זיכרון במחשב וגם אלה שכן שחשבו, אמרו "שיהיה שימוש בכל-כך הרבה זיכרון העולם כבר יעבור ל 64 ביט ולכן הבעייה הזאת לא תהיה קיימת בכלל" (אגב, הם כמעט לגמרי צדקו).
אני מניח שאם מיקרוסופט (ויצרני החומרה) היו משקיעים היום זמן ואנרגייה הם היו יכולים לפתור את הבעייה הזאת ע"י שינוי המנגנון הזה בגירסאות ה 32 ביט. במקרה זה ניתן היה רק ע"י עידכון תוכנה (SP4
הערת סיום,
כדי לא לסבך יותר מידי אני הוסיף שיש הרבה עיגולי פינות ורק חצאי אמיתות בחלק מהדברים שנכתבו בהודעה הזאת (שגזלה ממני יותר זמן מהרגיל לצורך כתיבתה
אז אני מקווה שתסלחו לי מראש
נ.ב
-אני לא בטוח שעכשיו הדברים ברורים יותר
-truejoker, לא שכחתי את השאלה השנייה, שגם היא צורכת איזה הסבר "קצרצר" שאני ישאיר למחר (עכשיו אני הולך לראות קצת "חדשות הספורט" !!)