עבור לתוכן

הסבר על cache

Featured Replies

פורסם

שלום. אני כתבתי לחבר שלי הסבר על תפקיד של ה-cache במעבד, וכיצד הוא עובד (הוספתי גם מידע טכני לגבי ה-cache אבל ממש על קצה המזלג).

אז רציתי לדעת אם זה נכון, למקרה שהטעיתי אותו או משהוא (ההסבר כתוב כלפיו, ולא לא היה לי כוח לשנות את זה, אז תתיסו לזה כאילו זה מיועד לכם מבחינת השפה).

אז אתה רוצה לדעת מה זה cache במעבדים

אז ככה: המטרה העיקרית של ה-cache במעבדים היא לקצר את זמן הגישה לקבצים, אשר המישתמש משתמש בהם באופן תדיר

מה זה אומר אתה שואל ואיך זה בלא לידי ביטוי. אני אתן לך דוגמה:

כשאתה מקליד הודעה בפורום ולוחץ על "שלח", מה שקורה זה שהמידע לביצוע פעולה זאת (כידוע המעבד זקוק למשאבים, שהם זיכרון, ע"מ לבצע פעולות) מופק לשפה הבינארית (השפה הבינארית זאת שפת המחשב. זאת שפה שמורכבת מספרות של 1, ו-0 , ואיתה המחשב מתקשר עם רכיבים בתוך המחשב) ועובר אל המעבד. (CPU). המעבד בודק כמה זיכרון הוא צריך ע"מ שהוא יוכל לבצע את פעולה זו.

לאחר שנפח הזיכרון ידוע למעבד, הוא בודק עם המידע (זיכרון) לביצוע פעולה זאת נימצא ב-cache שלו. אם כן, אז יופי טופי. המעבד יבצע את הפעולה הזאת כל כך מהר עד שאתה אפילו לא תספיק למצמץ, וכבר ההודעה תישלח (הפעולה). אבל אם למעבד אין את המידע הזה ב-cache נישאלת השאלה, מאיפה הוא יביא את כמות המידע הזה לביצוע הפעולה הזאת. אז התשובה פשוטה למדי RAM (זיכרון פנימי).

עכשיו אני אנסה להסביר לך את אופן הפעולה של ה-cache. אז ככה:

נגיד אתה עושה הרבה פעמים את החישוב 3+3. מה שקורה זה שהמעבד שלך שומר את התוצאה של החישוב הזה ב-cache של עצמו. כך שב-cache נימצאת הסיפרה 6. וכך כשאתה נגיד עושה במחשב שלך חישוב של 3+3, מה שקורה זה שהמעבד לא צריך לחשב את הפעולה הזאת מחדש, כי היא כבר מחושבת לו ב-cache, והוא יישר שולף את המידע 6 מה-cache, וכך אתה לא צריך להמתין הרבה, דע לרגע ביצוע הפעולה (3+3).

עכשיו אני אספר לך קצת רקע טכני על cache במעבדים:

עכשיו קודם כל חייבים לומר שה-cache במעבד הוא סוג זיכרון בעצמו. זהו סוג זיכרון מסוג SDRAM.

ישנם שלושה רמות של cache במעבדים. ככול שהרבה של ה-cache נמוכה יותר, כך זמן הגישה של המעבד אליו יהיה קצר יותר, אך נפח המידע (הזיכרון) שהוא יכול להכיל, יהיה קטן יותר.

לדוגמה: זיכרון מטמון (ניקרא גם cache) רמה 1 הוא בעל אפשרות גישה, הרבה יותר מהירה מזיכרון מטמון בעל רמה 2.

*(תתיחסו פחות לחלק הטכני על ה-cache כי זה פחות חשוב לי).

תודה מראש על תצומת הלב.

פורסם

אני בספק שהקאש שומר תוצאות של חישובים

זה יותר אמור לשמור כתובות

כלומר אם אתה ניגש לגובץ מסוים שנמצא בProgram Files ואז סוגר את התקיה

בפעם השניה שאתה תיגש ל Program Files הוא יגש אליה יותר מהר כי הוא כבר יודע איפםה התקיה נמצא אז הוא לא צריך חפש אותה

בוא אני יתן לך דוגמה שלי הסבירו

תאר לך ספריה ענקית עם אלפי ספרים

שאתה בא לבקש ספר:

הספרנית הולכת ומחפשת את המיקום של הספר

הולכת למיקום ומביאה לך את הספר

שאתה מחזיר את הספר הספרנית במקום ישר להחזיר את הספר למקום היא רושמת לה בספרון קטן את המיקום של הספר הזה

ואז אם מישהו אחר בא ומבקש את אותו ספר היא מחפשת קודם בספרון הקטן לראות אם היא כבר יודעת את המיקום

עכשיו כדי לעשות את החיפוש יותר מהיר הספרנית מחזיקה לה גם דף נייר קטן שבוא היא רושמת גם מיקומים של ספרים

עכשיו אם מישהו אחר בא ומבקש ספר הספרנית עושה את הפעולות הבאות

עוברת על הדף נייר הקטן- אם היא מוצאת את המיקום היא הולכת ומביאה לך את הספר באופן מידי

עוברת על הספרון הקטן - אם היא מוצאת את המיקום היא הולכת ומביאה לך את הספר באופן מידי

אם היא לא מוצאת את המיקום לא בנייר הקטן ולא בספרון הקטן היא הולכת מחפשת את הספר ןמביאה לך אותו

עכשיו לאנלוגיות....

הספרנית זה המעבד כמובן

הקליינט שבא לבקש ספר זה אתה - משתמש המחשב

הספריה הענקית זה הזכרון

דף הנייר הקטן זה הקאש L1 והספרון הקטן זה הקשא L2

כביכול זה נראה יותר פעולות

אבל על תשכח שלעבור על ה"נייר הקטן" (L1) ולעבור על הספרון הקטן (L2) אלו הם פעולות הרבה הרבה הרבה יותר מהירות מלחפש את הספר

מקווה שעזרתי

פורסם

ה-cache פשוט מכיל בתוכו חלק (קטן מאד) מהזיכרון הראשי של המחשב

כל מה שהמחשב צריך מהזיכרון הוא בודק קודם אם הוא נמצא בקאש

אם הוא בקאש הוא קורא ממנו אחרת הוא קורא אותו מהזיכרון ובין היתר גם כותב אותו לקאש

יש עוד כל מיני מנגנונים של עידכון הזיכרון לפי הקאש ופינוי דברים ישנים מהקאש

פורסם
  • מחבר

מה גם ה-cache נוגס בזיכרון הפיזי של המחשב.

אז..........לפי מה שאמרתם יש דימיון מסוים בין ה-cache במעבדים, ובין ה-HD. האם זו השואה נכונה (לא באופן מלא, אך במאפיינים בודדים).

אם הבנתי את ההסבר שלכם: המעבד קודם כל בודק אם המידע לביצוע הפעולה נימצא ב-L1. ואז ב-L2 ואז ב-L3 (אם יש דבר כזה. אני לא כל כך בטוח)

אז עם מישהוא יכול לענות לי האם ה-cache שומר מיקום של קבצים או תוצאות של חישובים (כמו: 3+3=6. כלומר הוא שומר את המספר 6).

תודה על ההסברים. אם מישהוא יכול לתת לי עוד חוות דעת. (בימיוחד מנהל הפורום:ליאור. שלו אני מאמין בעיינים עצומות. אל תעלבו חברה פשוט, אני מעדיף לכת על בטוח).

פורסם

לא נעלבים

בשאלות שלי גם אני מעדיף שיענו לי מנהלים

הקאש לא שומר את הקובץ עצמו

כמו שאמרתי הוא שומר את המיקום של הקובץ

זה יותר קטן וככה הוא יכול להכיל בתוכו הרבה כתובות

פורסם

קצת מידע:

יש 3 סוגים

L1 נמצא רק על המעבד

L2 יכול להיות על המעבד ועל לוח האם

L3 רק על לוח האם

הקאש עובד בד"כ בתדר של המעבד ושומר חישובים שנעשו/נעשים ע"י המעבד.

http://he.wikipedia.org/wiki/%D7%96%D7%99%D7%9B%D7%A8%D7%95%D7%9F_%D7%9E%D7%98%D7%9E%D7%95%D7%9F

לא ממש במעבדי הEE הישנים (סוקט 478) הם היו נמצאים על המעבד....(אם זכור לי טוב)..

פורסם

יש גם את הקטע של קאשים שמכילים אחד את השני. במעבדי אינטל הL2 מכיל גם את הL1 - כלומר הוא נחשב לאינקלוסיבי. באת'לון זה הפוך. הזיכרון הוא אקסקלוסיבי - בעיקר בגלל שהL1 שלהם הרבה יותר גדול - יש אפילו מעבדים עם יותר L1 מL2! (דורונים). האינקלוסיבי קצת יותר מהיר, אבל זה לא ממש משנה.

פורסם

חחחח איזה עלוב :lol:

לא ידעתי שזה קיים

עכשיו שמתי לב

פורסם
  • מחבר

תודה אנשים, אתם אחלה.

(זה אחד מהפורומים היחידים שבו אני יכול להיות בטוח שיענו לי ברצינות. כל הכבוד לקהילה :xyxthumbs::yelclap:;).

אה.........עוד שאלה קטנה שלא ממש הבנתי וחשוב לי לדעת את זה: האם גם ה-cache נוגס בזיכרון של המחשב?.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים