שְׁאֵלָה:
האם אתה יכול לבסס מחשב סביב מיקרו-בקר 32 סיביות?
Rick_2047
2010-04-30 00:05:46 UTC
view on stackexchange narkive permalink

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

קשור: http://chiphacker.com/questions/1092/whats-the-difference-between-a-microcontroller-and-a-microprocessor
שבע תשובות:
Jay Atkinson
2010-04-30 01:29:44 UTC
view on stackexchange narkive permalink

בהחלט! תסתכל כמעט כמו כל טלפון סלולרי שם בחוץ. לדוגמה, מוטורולה דרואיד משתמשת במיקרו-בקר מבוסס TI OMAP ARM שמריץ אנדרואיד על גבי לינוקס. ביסודו של דבר, מערכת הפעלה ממוחשבת מלאה נמצאת בה ובגאדג'טים רבים אחרים. בחלק מהמוצרים שהלקוח שלי בונה, הם משתמשים ב- FreeScale PowerQuicc I & II מעבד / בקרי 32 סיביות שיכולים להריץ עליהם לינוקס. ל- PowerQuicc בעצם יש ליבת PowerPC יחד עם מעבד RISC נפרד לטיפול בכל ציוד היקפי בצורה ניתנת להגדרה. זהו מיקרו-בקר מהולל.

אתה גם צריך לזכור שלפני שנים מחשבים לא פעלו על מעבדי 32 סיביות, אלא יותר כמו מעבדים של 8 סיביות (4 סיביות אז) כמו קומודור 64. ואז הם נדדו ל -16 סיביות, 32 סיביות וכו '. באמת אין הבדל גדול בין מיקרו-בקר לעומת מעבד בעל ארכיטקטורת סיביות שווה ומהירות. לרוב המיקרו-בקרים חסרה יחידת הנקודה הצפה, אך ניתן לפצות על כך במתמטיקה של נקודות קבועות. לדוגמא, המעבד המקורי של מוטורולה 68000 (16 סיביות) שימש להנעת אותם מחשבי מקינטוש ישנים ואז הסתובב לגרסת מיקרו-בקר עבור יישומים אלקטרוניים מוטבעים רבים במשך שנים.

עליך לבדוק את תפקיד המיקרו-בקר כדי להבין כיצד משתמשים בו. בדרך כלל, כאשר אתה מתכנן עם מיקרו-בקר, יש לך בראש יישום מיוחד ביותר ואתה מנסה להתאים אותו למרחב קטן יותר מאשר לומר מגדל PC. ואילו, המחשב הוא מטרה כללית מאוד: מספרים מחורצים וקלט משתמשים מעובד. כשאתה מחפש מיקרו-בקר, אתה מחפש אחד שיתמוך בסוג הממשק שאתה בונה ליישום שלך. האם אתה צריך 3 יציאות USB, 2 אתרנט, 2 UART, יציאת SPI, כספומט וממשק CAN? חלק מהממשקים הללו אינם מופיעים במחשב טיפוסי כגון SPI, כספומט ו- CAN, ובמיקרו-בקר מובנה אותם כדי לצמצם את שטח הלוח. אתה יכול להסתכל על מיקרו-בקרים כמעבדים המיועדים לפיתרון ספציפי.

אני לא חושב שאף "מחשב למטרות כלליות" אי פעם השתמש במשהו קטן יותר ממעבד 8 סיביות. מחשבים לשימוש כללי צריכים להיות מסוגלים לגשת למספיק זיכרון RAM כדי להכיל תוכנית שמישה, ואני לא מכיר מחשבים עם ארבע סיביות שיש להם חנות קוד RAM בגודל שמיש.
אולי לא מסחרית, אבל הרבה האקרים עשו את סבי.היה לו מחשב של 4 סיביות בסדנה שלו לפני שקומודור 64 ו- TRS-80 היו פופולריים.היה בו גם זיכרון RAM (ערימות של מח"ש).
האם יש לך תיעוד כלשהו לגבי מכונות ארכיטקטורות של Von-Neumann-ארכיטקטוניות בעלות 4 סיביות?
JustJeff
2010-05-01 22:31:50 UTC
view on stackexchange narkive permalink

זה תלוי איך אתה מגדיר 'מחשב' ..

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

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

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

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

עכשיו, זה בסדר גמור לבצע חישוב למטרות כלליות במכשירים ללא MMU, ולא הרבה זיכרון. מחשב ה- IBM המקורי של 128K זיכרון RAM, מבוסס 8088 (16 סיביות), מחשב זה, כל עוד היית צריך להריץ תוכנית אחת בכל פעם.

אז אם אתה רוצה להגדיר 'מחשב' כמשהו כמו טכנולוגיית 1982, התשובה היא בהחלט כן. או אם יש לך מערכת סגורה בה תוכל להקל על הבעיות שאין לך MMU ו / או הרבה זיכרון RAM (למשל, טלפונים סלולריים) על ידי שליטה קפדנית בעיצוב התוכנה, גם כן. לחלופין, אם למיקרו-בקר שלך יש MMU מובנה ו gobs של זיכרון RAM (או יכול להכיל אותם חיצונית), אתה אמור להיות מסוגל לבנות מערכת הדומה יותר למחשבים הנוכחיים.

התפתחויות במהדרים בדיוק בזמן לדברים כמו Java הופכים MMU אולי פחות נחוץ ממה שהיה מבחינה היסטורית.בהיעדר באגים הקשורים ל- JIT, ניתן היה לעבד מספר רב של עיבודים עצמאיים המריצים פלטפורמות עצמאיות במכונות וירטואליות של Java ללא MMU, ולהיות מבודדים זה מזה, מכיוון שה- JIT לא יפיק הוראות לתכנית אחת שתאפשר גישה לא נכונה לזיכרוןמשמש את האחר.
pingswept
2010-04-30 00:10:00 UTC
view on stackexchange narkive permalink

אנחנו בהחלט יכולים. האייפד, למשל, משתמש במעבד ARM Cortex A8 למוחו.

זהו מעבד, לא מיקרו-בקר, כפי שציין JPC להלן
jpc
2010-05-01 16:12:49 UTC
view on stackexchange narkive permalink

ראוי לציין כי ה- ARM שהוזכרו (OMAP ו- A8) הם מעבדים ללא זיכרון פלאש ו- RAM (לא נכון לחלוטין עבור ה- A8). מיקרו-בקרת Cortex-M3 הוא קטן יותר, בעל זיכרון מובנה קטן וגישה קלה יותר לציוד היקפי.

יש פער גדול למדי (ביצועי ותכונתי) ביניהם.

+1 להצביע על ההבדל בין סדרת Cortex-A ו- Cortex-M ...
מיקרו-בקר הטמיע פלאש ו- RAM. למיקרו-מעבדים יש את הזיכרון שלהם באופן חיצוני.
terrace
2010-05-02 08:29:49 UTC
view on stackexchange narkive permalink

ספרי Netbook אחרונים מבוססי ARM: http://www.google.com/search?client=safari&rls=en&q=arm+netbook&ie=UTF-8&oe=UTF-8

לעתים קרובות מערכות מבוססות זרועות משתמשות במיקרו-מעבדים זרועים, ולא במיקרו-בקרים.
stevoh
2010-12-07 11:44:44 UTC
view on stackexchange narkive permalink

לא מנסה להחיות שרשור ישן אבל ה- Zaurus SL5500 שלי הפעיל לינוקס משובצים על מעבד ARM עם זיכרון RAM, ושקעי אחסון נוספים באמצעות חריצי CF ו- SD. עד כמה שידוע לי ה- MMU יושם בעיקר בתוכנה (בכל מקרה הגיוני למערכת לינוקס). מחשוב למטרות כלליות לא היה אפשרי רק, אלא היה זמין באופן יסודי באמצעות תוכנות צד שלישי, מהדרים ופגזת פקודה גמישה שסיפקה את מרבית השירותים והתכונות הסטנדרטיים של nix *.

לא היה מחשב ה GP המהיר ביותר בעולם, אבל בטוח גרם לכך ש- ARM (ו / או המקבילות של סמסונג - אני לא בטוח במאת האחוזים שהוא מכיל) נראים נורא מסוגלים. בתכונה ובביצועים זה השווה די יפה עם WinMobile Ipaq מבציר הרבה יותר חדש (שיבוט חזק של סמסונג StrongArm). בשתי המכונות היה הרבה זיכרון RAM והרבה אחסון ולכן המון זיכרון מתנהל - אני מניח שאנחנו צריכים לטשטש את הקו בין המעבדים והמיקרו-בקרים כשנגיע לרמת הביצועים הזו.

Peter Green
2015-10-27 01:40:55 UTC
view on stackexchange narkive permalink

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

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

ניתן לראות את ה- SOC כקרע ביניים בין מיקרו-בקרים קונבנציונליים שהכל משולב על שבב אחד לבין מעבדים קונבנציונליים שדרשו כמויות גדולות של מעגלי תמיכה. ל- SOC יש ליבת מעבד ופרה-פרל משולבים על שבב אחד, אך בניגוד למיקרו-בקרים הם משתמשים בזיכרון חיצוני. בדרך כלל ל- SOC אלה יש MMU מלא שיכול ליצור מרחב כתובות וירטואלי ליישומים שונים. לרשות SoCs רבים יש גם בלוקים מיוחדים עבור גרפיקה תלת-ממדית, DSP, קידוד / פענוח וידאו וכו ' לספור כ"מחשבים למטרות כלליות ".



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...