PDA

View Full Version : سوال: شبیه سازی DOS روی پردازنده های ARM ؟



generalhak
دوشنبه 30 دی 1392, 01:13 صبح
سلام
آیا میشه مثلا یک شبیه ساز (به طور پایه روی سخت افزار و نه روی سیستم عامل های دیگه) برای مثلا پردازنده های arm نوشت که این شبیه ساز نقش یک پردازنده ی x86 رو بازی کنه ؟
مثلا یک پردازنده ی چند هسته ای Arm بیاد پردازش ها اون x86 شبیه سازی شده رو انجام بده ؟ که بشه یه حالت Dos ساخت اما روی arm ؟
اگر بشه این کار رو عملا انجام داد مثلا یک پردازنده 4 هسته ای arm با معماری A9 و با کلاک 1.5 حدودا شبیه به چه پردازنده ی واقعی کامپیوتر میشه؟ (میدونم حدسش سخت هست ولی یه چیز حدودی ذکر کنید ممنون میشم)
برای گرافیک چطور ؟
برای رم هایی که در موبایل ها وجود دارند هم لازم هست شبیه سازی انجام بشه ؟ یا اون ها تفاوت زیادی ندارند ؟
اگر قرار باشه همچین پروژه ای راه اندازی بشه هزینه فکر میکنید چقدر باشه ؟

m.j_banitaba
دوشنبه 30 دی 1392, 13:38 عصر
اینکار شما شبیه ساخت پژو آر دی موتور پیکان رو بدنه پژو با این فرق که شاید اونجا توجیه اقتصادی به کار شما بیاد اما اینجا نه .می خواهید dos را شبیه سازی کنید وقتی سیستم عاملهایی برای arm وجود داره بهتر از dos ؟ حتی freedos هم وجود داره می توانید اونو برای arm بهینه کنید؟

اگر قرار باشه همچین پروژه ای راه اندازی بشه هزینه فکر میکنید چقدر باشه ؟
باید دید هدف از این پروژه چی هست ممکنه بایه دانلود به هدفتون برسید ممکنه چند صد ساعت کار ببره؟؟

generalhak
دوشنبه 30 دی 1392, 15:41 عصر
اینکار شما شبیه ساخت پژو آر دی موتور پیکان رو بدنه پژو با این فرق که شاید اونجا توجیه اقتصادی به کار شما بیاد اما اینجا نه .می خواهید dos را شبیه سازی کنید وقتی سیستم عاملهایی برای arm وجود داره بهتر از dos ؟ حتی freedos هم وجود داره می توانید اونو برای arm بهینه کنید؟

باید دید هدف از این پروژه چی هست ممکنه بایه دانلود به هدفتون برسید ممکنه چند صد ساعت کار ببره؟؟

هدف اصلی اجرای سیستم عامل های ویندوز (مثلا ویندوز 8) و یا لینوکس روی پردازنده های arm هست..
البته نه به این صورت که موجود هست و روی اندروید نصب میشه...
به صورت کارا و بهینه شده

pswin.pooya
دوشنبه 30 دی 1392, 17:16 عصر
آیا میشه مثلا یک شبیه ساز (به طور پایه روی سخت افزار و نه روی سیستم عامل های دیگه) برای مثلا پردازنده های arm نوشت که این شبیه ساز نقش یک پردازنده ی x86 رو بازی کنه ؟

سلام
نه ISA ( مجموعه دستورالعملها و ... ) کلا فرق میکنه. پس باید حتما شبیه ساز x86 باشه. نمیشه خود سخت افزار مستقیم اجراش کنه.


اگر بشه این کار رو عملا انجام داد مثلا یک پردازنده 4 هسته ای arm با معماری A9 و با کلاک 1.5 حدودا شبیه به چه پردازنده ی واقعی کامپیوتر میشه؟ (میدونم حدسش سخت هست ولی یه چیز حدودی ذکر کنید ممنون میشم)
اینجوری نمیشه حساب کرد. باید CPI رو نسبت به برنامه حساب کنید.


برای گرافیک چطور ؟
برای رم هایی که در موبایل ها وجود دارند هم لازم هست شبیه سازی انجام بشه ؟ یا اون ها تفاوت زیادی ندارند ؟
متوجه منظورتون نشدم.

generalhak
دوشنبه 30 دی 1392, 17:42 عصر
سلام
نه ISA ( مجموعه دستورالعملها و ... ) کلا فرق میکنه. پس باید حتما شبیه ساز x86 باشه. نمیشه خود سخت افزار مستقیم اجراش کنه.


اینجوری نمیشه حساب کرد. باید CPI رو نسبت به برنامه حساب کنید.


متوجه منظورتون نشدم.

منظورم همون شبیه سازی هست ... یه حالت پایه تر باشه چون وقتی بخوای روی اندروید شبیه ساز اجرا کنی باز کلی منابع برای اندروید هدر میره - مثلا یه چیزی مثل که شاید بتونیم بهش بگیم سیستم عامل شبیه ساز !
منظور برای گرافیک هم میشه شبیه سازی انجام داد ؟

pswin.pooya
دوشنبه 30 دی 1392, 20:12 عصر
منظورم همون شبیه سازی هست ... یه حالت پایه تر باشه چون وقتی بخوای روی اندروید شبیه ساز اجرا کنی باز کلی منابع برای اندروید هدر میره - مثلا یه چیزی مثل که شاید بتونیم بهش بگیم سیستم عامل شبیه ساز !میشه گفت راه حلهای خیلی کمی موجوده یکی از اونها استفاده از ماشین مجازی هست که باید opcode های x86 رو که دورو بر 1000 تا هست رو تو یه چیزی شبیه switch بذاری ( نه دقیقا ) و بعد دستورها رو شبیه سازی کنی. البته کلیه ثباتها و نحوه رفتارهای اون هم لازمه + کلیه وقفه هایی که توی x86 هست. (درد سرش خیلی زیاده )

واقعیتش من اگر خودم همچین پروژه ای بخوام برات انجام بدم حداقل دوروبر 200 میلیون می گیرم که تقریبا توجیه اقتصادی نداره. اگر از پردازندهای قوی و شبیه سازهای موجود استفاده کنید به مراتب مقرون به صرفه تر هست.


هدف اصلی اجرای سیستم عامل های ویندوز (مثلا ویندوز 8) و یا لینوکس روی پردازنده های arm هست..این قضیه رو فراموش کنی بهتره. این سیستم عاملها حتی تو حالت ناتیو هم مشکل دارن چه برسه به شبیه سازی.

اما در مورد اندروید هم باید بگم مشکل از java هست و نه اندروید. جاوا خیلی کنده ( کلا زبانهایی که ماشین مجازی دارن مثل C#‎) .اگر گوگل هم مثل apple از زبانهای ناتیو استفاده می کرد. به اندازه اون سریع بود و قیمت گوشی هاش هم کمتر. لازمه یاد آوری کنم که هسته ios و android جفتشون مال خانواده یونیکس هستند.


هدف اصلی اجرای سیستم عامل های ویندوز (مثلا ویندوز 8)
ویندوز خوش یک اشتباه هست که ادامه پیدا کرده. لااقل خوبه که به پلتفرمهایی با صلاحیت تر از x86 مثل ARM و SPARC و MIPS پورت نیشه. این می تونه برای آینده نرم افزار خیلی مفید باشه.

r00tkit
دوشنبه 30 دی 1392, 22:02 عصر
ویندوز خوش یک اشتباه هست که ادامه پیدا کرده. لااقل خوبه که به پلتفرمهایی با صلاحیت تر از x86 مثل ARM و SPARC و MIPS پورت نیشه. این می تونه برای آینده نرم افزار خیلی مفید باشه.
جدا از اینکه قبلا پورت شده :
http://bit.ly/1bCZvmy
صلاحیت ARM ,.. نسبت به x86 ؟؟؟؟؟ یا ابرفرض تعصب بی مورد روی سیستم عامل دیده بودیم ( مثل همین متن بالا ) ولی روی معماری X86 ندیده بودیم
اشتباه ؟

generalhak
دوشنبه 30 دی 1392, 22:43 عصر
جدا از اینکه قبلا پورت شده :
http://bit.ly/1bCZvmy
صلاحیت ARM ,.. نسبت به x86 ؟؟؟؟؟ یا ابرفرض تعصب بی مورد روی سیستم عامل دیده بودیم ( مثل همین متن بالا ) ولی روی معماری X86 ندیده بودیم
اشتباه ؟

اونو که شما دادید ویندوز rt هست که تقریبا هیچ ربطی به ویندوز اصلی نداره !
arm پردازنده های بهتری نسبت به x86 هستند (اگر میزان برق و هزینه رو حساب کنیم.... نه این که فقط بگیم در کلاک مساوی کدام بهتره !) هرچند اینجا بحث بهتری نبود میخواستم محک بزنم و راه های این کار رو بدونم
سعی کنیم کل کل نکنیم دیگه ما که اینجاییم نباید واقعا این بحث ها رو داشته باشیم از دوست دیگرمونم میخوام پاسخ ندند
هرچند جایی که گفتند اشتباه موافق نیستم نه لینوکس اشتباه است و نه ویندوز ... لینوکس برای برنامه نویسی عالی هست (مثلا در وب من به جای اینکه بیام دانلود منیجر بنویسم از برنامه های لینوکس استفاده میکنم چون به راحتی با خط فرمان از اکثر برنامه هاش میشه استفاده کرد و خیلی کارها میشه باهاش کرد)
و ویندوز هم برای کاربری و ابزار های مهندسی و... عالی هست
به هر حال تکنولوژی پیشرفت میکنه و هر دو اینها پیشرفت کردند مثل ویندوز فون و اندروید که هر دو در زمینه هایی عالی هستند
....
فکر میکنم تقریبا یه چیزایی از احتمال انجام و موفقیت همچین کاری فهمیدم اگر کسی نظری داره بگید ولی لطفا با هم بحث نکنید..

pswin.pooya
سه شنبه 01 بهمن 1392, 00:48 صبح
صلاحیت ARM ,.. نسبت به x86 ؟؟؟؟؟ یا ابرفرض تعصب بی مورد روی سیستم عامل دیده بودیم ( مثل همین متن بالا ) ولی روی معماری X86 ندیده بودیم این به خاطر ضعف مطالعاتی شماست. چند تا از دلیلهاش رو میگم:

1. نداشتن ریجیسترهای همه منظوره ( توی pmode تا حدودی و توی lmode کاملا حل شده )
2. معماری CISC و داشتن بیش از 1000 تا opcode . ( بعد این مورد با میکرو هسته و یک لایه مفصر حل شد اما باز هم لایه مفصر خودش کندی به ارمغان میاره و میکرو هسته هم نسبتا پیچیده تر هست. مثلا ARM کمتر از 100 تا دستور داره)
3. تعداد کم ثباتها ( مثلا معماری ARM از 16 ثبات همه منظوره استفاده میکنه اما x86 از هشت تا - اگه بشه اسمش رو همه منظوره گذاشت )
4. امکان وجود پرش ها غیر قابل پیش بینی ( باعث خالی شدن خط لوله میشه و نتیجتا کاهش سرعت - معماری ARM برای جلوگیری نسبی از این مورد توی هر opcode چهار بیت شرط داره )
5. دستورهای با طول متفاوت از یک تا 15 بایت ( به شدت مدارات رو پیچیده تر میکنه - بعدا لایه مفصر سعی کرد برای CU طول دستورات رو یکسان کنه. معماری های خوب طول دستور ثابت دارن مثل MIPS)
6. الحاقی های زیاد.
7. حافظه align نشده ( بعد باز سعی کردن این مساله رو حل کنن اما .... )
8. ...

خب میدونی نتیجه اینها تعداد ترانزیستور بیشتر و در نتیجه:


اتلاف انرژی بیشتر ( نتیجه گرمای بیشتر و اون فنی هست که می بینید )
مصرف انرژی بیشتر ( بزرگترین صد برای توسعه پردازنده حساب میشه: سر این قضیه ولتاژ رو از 5 تا یک ولت کاهش دادن تا حداقل فاکتور ولتاژ از توان مصرفی حذف شه، بیشتر پایه های زیر پردازنده مربوط به تامین برق پردازنده هست تا کارهای دیگه)
دای بزرگتر ( نتیجه گرونتر شدن، بعد از یه حد خاص امکان نداشتن تولید پردازنده و ... )
طولانی تر شدن مسیرهای بحرانی ( نتیجه کاهش کلاک - سر این قضیه مجبور شدن بعضی از مسیرها رو به خط لوله اضافه کنن تا جلوی زمان اطلافی رو بگیرن - فک کنم الان 25 مرحله pipeline داره)
....




یا ابرفرض تعصب بی مورد روی سیستم عامل دیده بودیم
حالا اسمش رو هرچی میخوای بذار ( اگر تعصب اینه، من متعصب بودن رو خیلی دوست دارم و چه خوب که تعصب دارم ) . میدونی واقعیت ضعف مطالعاتی هست و بس. هر چه قدر کمتر مطالعه کنید و کمتر دنیا و اطراف رو ببینید. نتیجه اش همین میشه. معماری x86 حتی نسبت به هم دوره های خودش مثل معماری های موتورلا هم عقب تر بود و تنها دلیل گرفتن کارش این بود که حدود شش ماه زودتر از موتورلا اومد بیرون و IBM که عجله داشت اون رو برای ساخت PC انتخاب کرد. خوبیش اینه باز من میگم صلاحیت از نظر خیلی از صاحبنظر ها این هم به اندازه ویندوز اشتباه بوده ( خود اینتل هم اعتراف کرده که توسعه این CPU از هر CPU دیگه سختر و با مشکتر هست )




arm پردازنده های بهتری نسبت به x86 هستند (اگر میزان برق و هزینه رو حساب کنیم.... نه این که فقط بگیم در کلاک مساوی کدام بهتره !) هرچند اینجا بحث بهتری نبود میخواستم محک بزنم و راه های این کار رو بدونم
هیچ راه 100 درصد استانداردی برای اندازه گیری سرعت پردازنده وجود نداره و دلیل اون هم فاکتورهای مجهول زیاده مگر اینکه برنامه رو اجرا کنید و زمان رو بسنجید و این مورد 100 درصد مربوط به کاربرد شماست. البته میتونید از آزمایش CUPSPEC2006 استفاده کنید که یه آزمایش تقریبا جامع است.





هرچند جایی که گفتند اشتباه موافق نیستم نه لینوکس اشتباه است و نه ویندوز ... لینوکس برای برنامه نویسی عالی هست (مثلا در وب من به جای اینکه بیام دانلود منیجر بنویسم از برنامه های لینوکس استفاده میکنم چون به راحتی با خط فرمان از اکثر برنامه هاش میشه استفاده کرد و خیلی کارها میشه باهاش کرد)
به نظر من در مورد مسائل باید تخصصی عمل کرد و دلیل های تخصصی آورد. من بشدت مخالف این هستم که در مورد این مسائل احساسی برخورد بشه. مثلا با همین هم مخالفم که ویندوز هم خوبه و لینوکس هم خوبه. قبول دارم هر دو هم نقاط قوت دارن و هم ضعف. اما زمانی که بحث خوب بد هست. میخواییم یکی رو انتخاب کنیم. پس باید بگیم کدوم ارجحیت داره و به چه دلیلی.



به غیر خط فرمان لینوکس و کلا خانواده یونیکس از نظر فنی مزیتهای زیادی رو دارن ( البته در کنارش ضعف هایی هم دارن ). مثلا ساختار VFS کاملا یکواخت هست ( چه میخواد محتویات یه پارتیشن باشه چه خود هارد و یا حتی RAM و هسته) یا ساختار IPC فوقالعاده قوی.

generalhak
سه شنبه 01 بهمن 1392, 14:41 عصر
به نظر من در مورد مسائل باید تخصصی عمل کرد و دلیل های تخصصی آورد. من بشدت مخالف این هستم که در مورد این مسائل احساسی برخورد بشه. مثلا با همین هم مخالفم که ویندوز هم خوبه و لینوکس هم خوبه. قبول دارم هر دو هم نقاط قوت دارن و هم ضعف. اما زمانی که بحث خوب بد هست. میخواییم یکی رو انتخاب کنیم. پس باید بگیم کدوم ارجحیت داره و به چه دلیلی.
باهاتون موافقم کلا اما با این گفته خیر...
عمرا نمیشه بگید یکی از یکی دیگه بهتره و کاملا سلیقه ای هست و بستگی به نیاز هم داره
دلیل هم کاملا مشخص هست مثلا لینوکس رو روی سرور و ویندوز رو روی pc معمولا استفاده میکنند
چون هر کدوم در یک زمینه قوی هستند
مثلا میشه همون بحث ویندوز فون و اندروید و ios که همیشه سرش تو انواع فروم ها جنگ هست !!
خوب نمیشه بگیم کدوم بهتر هست مثلا در زمینه سرعت و بهینه سازی و پیوستگی ویندوز فون بهتر هست و در زمینه تنوع و بزرگی و نرم افزاری اندروید بهتر هست و ios هم به همین شکل
پس نمیشه بگیم اندروید بهتر هست یا ویندوز فون یا ios چون بستگی داره چی رو بسنجیم و به چی نیاز داشته باشیم

pswin.pooya
سه شنبه 01 بهمن 1392, 16:46 عصر
در زمینه سرعت و بهینه سازی و پیوستگی ویندوز فون بهتر هست

می تونید برای اینها دلیلی بیارید که بشه بهش استناد کرد؟

generalhak
سه شنبه 01 بهمن 1392, 18:26 عصر
می تونید برای اینها دلیلی بیارید که بشه بهش استناد کرد؟
حالا من یه مثال زدم !
دلایل :
1 راجع به هسته این سیستم عامل تحقیق کنید و همچنین راجع به رابط کابری که بسیار سبک و با افکت های نرم ایجاد شده و همچنین خاصیت مولتی تسکینگ بسیار هوشمند اون
2 فیلم های زیادی موجود هست در اینترنت از کارکردن با این سیستم عامل که میشه متوجه سرعت اون شد
3 میتونید از کاربران متخصص در فروم های تخصصی در این زمینه بپرسید
4 میتونید بنچ مارک های اون رو ببینید (مثلا یک سخت افزار مشابه در اندروید و ویندوز فون در ویندوز فون تقریبا نزدیک به 2 برابر بنچ مارک میگیره !)
5 میتونید راجع به مارکت این سیستم عامل تحقیق کنید و همچنین سیاست و سخت گیری های های مایکروسافت که نشون از پیوستگی این سیستم عامل داره (برعکس اندروید که کاملا گسسته و از هم گریخته هست)
6 یک گوشی ویندوز فونی و یک گوشی اندرویدی تهیه کنید که دارای سخت افزار مشابه باشند و بعد تست کنید در سخت ترین شرایط ! (من امتحان کردم)
7 در همه جا سرعت و نرمی ویندوز فون زبان زد هست
8 مسابقات خیلی زیادی مایکروسافت در همین زمینه گذاشته بود که این قضیه رو اثبات کنه

pswin.pooya
سه شنبه 01 بهمن 1392, 19:33 عصر
حالا من یه مثال زدم !
دلایل :
1 راجع به هسته این سیستم عامل تحقیق کنید و همچنین راجع به رابط کابری که بسیار سبک و با افکت های نرم ایجاد شده و همچنین خاصیت مولتی تسکینگ بسیار هوشمند اون
2 فیلم های زیادی موجود هست در اینترنت از کارکردن با این سیستم عامل که میشه متوجه سرعت اون شد
3 میتونید از کاربران متخصص در فروم های تخصصی در این زمینه بپرسید
4 میتونید بنچ مارک های اون رو ببینید (مثلا یک سخت افزار مشابه در اندروید و ویندوز فون در ویندوز فون تقریبا نزدیک به 2 برابر بنچ مارک میگیره !)
5 میتونید راجع به مارکت این سیستم عامل تحقیق کنید و همچنین سیاست و سخت گیری های های مایکروسافت که نشون از پیوستگی این سیستم عامل داره (برعکس اندروید که کاملا گسسته و از هم گریخته هست)
6 یک گوشی ویندوز فونی و یک گوشی اندرویدی تهیه کنید که دارای سخت افزار مشابه باشند و بعد تست کنید در سخت ترین شرایط ! (من امتحان کردم)
7 در همه جا سرعت و نرمی ویندوز فون زبان زد هست
8 مسابقات خیلی زیادی مایکروسافت در همین زمینه گذاشته بود که این قضیه رو اثبات کنه


خب پس دلیل ندارین. تنها شنیدین.

generalhak
سه شنبه 01 بهمن 1392, 20:59 عصر
خب پس دلیل ندارین. تنها شنیدین.

من کار کردم با هردوتاش و دارم میگم بنچ مارک ها هم مشخص میکنه دیگه دلیل چی بیارم حالا کلا مهم نیست چون ربطی به بحث اصلی نداره من دیگه ادامه نمیدم چون از بحث غیر منطقی خوشم نمیاد
این دیگه چیزی نیست که بخوام اثبات کنم چون همه میدونند از هر کی میخوای بپرس

prpe26
چهارشنبه 02 بهمن 1392, 11:34 صبح
برای ARM هیچ چیز بهتر از لینوکس نیست، اگرچه FreeBSD هم اگر خوب کانفیگ شده باشه میشه سلطان ARM. ویندوز ۸ یک مشکلی که داره ، فقط بوت ظاهریش سریعه، وگرنه سرعت بوتش با سون هیچ تفاوتی نداره. برای مثال وقتی بوت شد سعی کنید بازی ای مثل Assassin's Creed یا Battlefield رو اجرا کنید اون موقع متوجه منظورم میشید. از طرفی شما با نصب QEMU میتونید یک ماشین مجازی i386 یا x86_64 یا حتی SPARC رو روی هر پردازنده ای اجرا کنید :)

generalhak
چهارشنبه 02 بهمن 1392, 13:09 عصر
برای ARM هیچ چیز بهتر از لینوکس نیست، اگرچه FreeBSD هم اگر خوب کانفیگ شده باشه میشه سلطان ARM. ویندوز ۸ یک مشکلی که داره ، فقط بوت ظاهریش سریعه، وگرنه سرعت بوتش با سون هیچ تفاوتی نداره. برای مثال وقتی بوت شد سعی کنید بازی ای مثل Assassin's Creed یا Battlefield رو اجرا کنید اون موقع متوجه منظورم میشید. از طرفی شما با نصب QEMU میتونید یک ماشین مجازی i386 یا x86_64 یا حتی SPARC رو روی هر پردازنده ای اجرا کنید :)

میشه بیشتر راجع به این QEMU توضیح بدید ؟
اینطور که من فهمیدم یک شبیه ساز از پردازنده های x86 هست
حالا باید به چه صورت روی arm نصبش کرد ؟

prpe26
چهارشنبه 02 بهمن 1392, 14:33 عصر
ببینید، من یک برد Cubieboard دارم، روش Debian GNU/Linux نصب کردم، و بعد اون رو با نصب QEMU به Virtual Machine Host . سپس روی اون یه سری چیزا رو امتحان کردم (برای نمونه اجرای دیسکهای زنده ای که برای x86_64 ساخته شدند) و به خوبی هم جواب داد!

FastCode
چهارشنبه 02 بهمن 1392, 14:50 عصر
بک مقدار راجع به این پروژه های تحقیق کنید:
Xen
KVM
kvm-arm
qemu

و این برنامه ها و سیستم ها:
Dom-0/Dom-U
libvirt
qemu-system-i386
qemu-static
chroot
qemu-chroot (http://wiki.gentoo.org/wiki/Crossdev_qemu-static-user-chroot)

generalhak
چهارشنبه 02 بهمن 1392, 15:02 عصر
ببینید، من یک برد Cubieboard دارم، روش Debian GNU/Linux نصب کردم، و بعد اون رو با نصب QEMU به Virtual Machine Host . سپس روی اون یه سری چیزا رو امتحان کردم (برای نمونه اجرای دیسکهای زنده ای که برای x86_64 ساخته شدند) و به خوبی هم جواب داد!

ممنون از راهنمایی
حالا چون شما تا حالا کار کردید با این روش این رو ازتون میپرسم
هدف اصلی من اینه که مثلا ویندوز 8 رو روی یک گوشی خوب بتونم اجرا کنم مثلا گالکسی اس 4
به نظرتون خوب در میاد ؟ یعنی واسه وقتی که قراره بزارم ارزش داره ؟

prpe26
چهارشنبه 02 بهمن 1392, 17:14 عصر
مگه آندروید چشه؟!

اگر میخواید وقت بزارید روی توزیع های مطرح لینوکس کار کنید، به علت داشتن هسته مشترک با آندروید (لینوکس) راحتتر و بهتر نتیجه میگیرید، و تلاشی که میکنید بی نتیجه نمی مونه.

generalhak
چهارشنبه 02 بهمن 1392, 17:39 عصر
ممنون از راهنمایی همه دوستان راجع به مواردی که گفتید تحقیق میکنم ببینم به کجا میشه رسید