ماشین برنامه ذخیره‌شده با دسترسی تصادفی

در علوم نظری کامپیوتر، مدل ماشین برنامهٔ ذخیره شده با دسترسی تصادفی (RASP) یک ماشین انتزاعی است که برای اهداف توسعهٔ الگوریتم و نظریهٔ پیچیدگی الگوریتم مورد استفاده قرار می‌گیرد. RASP یک مدل ماشین دسترسی تصادفی (RAM) است که بر خلاف RAM، برنامه‌اش به همراه ورودی، درون "رجیستر"های آن قرار دارد. رجیسترها نامحدود (دارای ظرفیت بینهایت) هستند؛ محدود بودن تعداد رجیسترها، به مدل بستگی دارد؛ بنابراین نسبت RASP به RAM، مانند ماشین تورینگ جهانی به ماشین تورینگ است. RASP نمونه‌ای از معماری فون نویمان است، درحالیکه RAM نمونه‌ای از معماری هاروارد می‌باشد. از میان تمام مدل‌های انتزاعی، RASP نزدیک‌ترین مدل به مفهوم متداول کامپیوتر است. اما برخلاف کامپیوترهای واقعی، مدل RASP معمولاً دارای مجموعهٔ ساختاری بسیار ساده‌ای است که تا حد زیادی از CISC و حتی پردازشگرهای RISC به صورت ساده‌ترین "حرکات" حسابی و رجیستر به رجیستر، و همچنین فرمان‌های "آزمون/جهش" ساده شده‌اند. برخی مدل‌ها، مانند یک انباشتگر، دارای رجیسترهای کمی بیشتر هستند.RASP به همراه ماشین رجیستر، RAM و ماشین اشاره‌گر، چهار مدل ماشین متوالی رایج را ایجاد می‌کند، که جهت تمایز آن‌ها از مدل‌های "موازی" (مثلاً، ماشین دسترسی تصادفی موازی) به این نام خوانده می‌شوند (van Emde Boas (1990)).

تعریف غیررسمی: مدل برنامه ذخیره شده با دسترسی تصادفی (RASP)

RASP یک ماشین تورینگ جهانی (UTM) است که بر کالبد یک RAM ماشین دسترسی تصادفی ساخته شده‌است. خواننده به یاد خواهد آورد که UTM یک ماشینگ تورینگ با یک فهرست فرمان‌های "جهانی" حالت محدود است که می‌تواند هرگونه "برنامه"ی به خوبی شکل‌گرفته و نوشته شده بر روی یک نوار ضبط به عنوان یک رشته تورینگ ۵تایی، و از اینرو عمومیت آن، را تفسیر نماید. در حالیکه انتظار می‌رود تا مدل UTM، تورینگ ۵تایی را بر روی نوار خود بیابد، هر مجموعه برنامهٔ قابل تصور را، با توجه به اینکه ماشین تورینگ انتظار دارد که آن‌هارا بیابد، می‌توان در آنجا قرار داد، با توجه به اینکه فهرست حالت محدود آن می‌تواند آن مجموعه برنامه را تفسیر نموده و آن‌ها را به عمل دلخواه تبدیل نماید. در کنار برنامه، سایر موارد چاپ شده بر روی نوار، داده-ها/مولفه‌ها/اعداد ورودی (معمولاً در سمت راست برنامه)، و در نهایت داده‌ها/اعداد خروجی (معمولاً در سمت راست هر دوی آن‌ها، یا آمیخته با ورودی‌ها، یا جایگزین آن‌ها) خواهند بود. "کاربر" باید ابتدای ماشین تورینگ را بالاتر از اولین فرمان قرار دهد، و ورودی‌ها باید در یک محل خاص و قالبی مناسب هم برای برنامهٔ روی نوار و هم برای فهرست فرمان‌های ماشین حالت محدود جای دهد. RASP از این فرمان تقلید می‌کند: "برنامه" و "داده‌هاً را درون حفره‌ها (رجیسترها) جای می‌دهد. اما برخلاف UTM، RSAP اقدام به "واکشی" فرمان‌هایش به صورت ترتیبی می‌کند، مگر اینکه آزمون شرطی آن‌ها را به جای دیگری ارسال نماید. نکتهٔ تردید دو مجموعه فرمان: مدل RASP، بر خلاف UTM، دارای دو مجموعه فرمان است؛ فهرست فرمان‌های حالت ماشین ("مفسر") و "برنامه" درون حفره‌ها.

مثالی از یک RAM به عنوان یک RASP

نمونه برنامهٔ زیر مقادیر رجیستر (حفره) #۱۸ را به رجیستر (حفره) #۱۹ انتقال داده و مقادیر #۱۸ را در این فرایند پاک خواهد نمود.

5: 03 18 15 JZ 18,15 ; if [18] is zero, jump to 15 to end the program
 02 18 DEC 18 ; Decrement [۱۸]
 01 19 INC 19 ; Increment [۱۹]
 03 19 05 JZ 15, 5 ; If [15] is zero, jump to 5 to repeat the loop (use Halt to simulate unconditional jump)
 15: 00 H ; Halt
18: n ; Source value to copy
 19: ; Destination for copy

فرمان‌های برنامه‌ای موجود در این ماشین RASP، مجموعه‌ای ساده جهت خلاصه‌سازی این مثال خواهند بود:

Instruction Mnemonic Action on register "r" Action on finite state machine's Instruction Register, IR
INCrement INC (r) [r] +1 → r [IR] +1 → IR
DECrement DEC (r) [r] -1 → r [IR] +1 → IR
Jump if Zero JZ (r, z) none IF [r] = 0 THEN z → IR ELSE [IR] +1 → IR
Halt H none [IR] → IR

برای سهولت مثال، ماشینِ حالت «RAM به عنوان RASP» را به فرمان‌های اولیهٔ طراحی شده برای همان مجموعه، اما تکمیل شده با دو فرمان کپی غیرمستقیم، تجهیز خواهیم نمود: فرمان‌های ماشین حالتِ RAM: { INC h; DEC h; JZ h,xxx; CPY <<ha>>,<ha>; CPY <ha>,<<ha>> } همچنانکه ماشین حالتِ ماشین RASP، برنامه را درون رجیسترها تفسیر می‌کند، ماشینِ حالت دقیقاً در حال انجام چه کاری خواهد بود؟ ستون حاوی علامت تعجب !، اعمال ماشین حالت را در توالی زمانی فهرست خواهد نمود، چنان‌که برنامه را "تفسیر می‌کند" (به عمل تبدیل می‌کند):

PC IR
hole # → ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹
program, parameters → ۵ JZ ۱۸ ۱۵ DEC ۱۸ INC ۱۹ JZ ۱۵ ۵ H n
encoded program → ۵ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
state machine instructions ↓
!

به‌طور مرسوم، اعمال ماشینِ حالت به دو "مرحله"ی اصلی به نام‌های واکشی و اجرا تقسیم می‌کند. در زیر آن مشاهده خواهیم نمود که "زیرفاز"هایی درون این مراحل اصلی وجود دارند. هیچ توافق قراردادی وجود ندارد؛ هر مدل نیازمند تعریف دقیق خودش خواهد بود.

مرحلهٔ واکشی

ماشین حالت، هم مستقیم و هم غیرمستقیم، به تمام رجیسترها دسترسی دارد؛ بنابراین #۱ را به عنوان "شمارشگر برنامه" (PC) اتخاذ می‌کند. نقش شمارشگر برنامه "حفظ موقعیت" در فهرست برنامه خواهد بود؛ ماشین حالت، برای کاربرد اختصاصی‌اش، دارای رجیستر حالتِ منحصربفرد خود است. به محض شروع، ماشین حالت منتظر یافتن یک شماره درون PC می‌ماند، یعنی اولین "فرمان برنامه‌ای" درون برنامه (مثلاً در #۵). (بدون استفاده از کپی‌های غیرمستقیم، وظیفهٔ رساندن فرمان برنامه‌ایِ مورد اشاره به #۲ کمی دشوار است. ماشینِ حالت، رجیستر مورد اشاره را به‌طور غیرمستقیم کاهش خواهد داد، درحالیکه رجیستر (خالیِ) #۲ را افزایش می‌دهد. در طول مرحلهٔ "تجزیه"، مقادیر ارائه شدهٔ #۵ را بوسیلهٔ قربانی کردن شمارهٔ درون #۲، ترمیم خواهد نمود) هدف از نکتهٔ انحرافی بالا این است که نشان دهیم، زمانی‌که ماشین حالت به دو نوع کپی غیرمستقیم دسترسی دارد، کارها آسان‌تر خواهند بود:

  • کپی غیرمستقیم از i و مستقیم به j: CPY <<hi>>,<hj>
  • کپی مستقیم از i و غیرمستقیم به j: CPY <hi>,<<hj>>

مثال بعدی نشان می‌دهد که در طی مرحلهٔ "واکشی" ماشینِ حالت، چه اتفاقی رخ می‌دهد. عملیات‌های ماشینِ حالت در زیر ستونی با عنوان "فرمان‌های ماشینِ حالت ↓ " فهرست شده‌اند. مشاهده کنید که در انتهای واکشی، رجیستر #۲ حاوی مقدار عددی ۳ از "کد عملیاتی" ("opcode") فرمان اول JZ است.

PC PIR
hole # → ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹
program, parameters → ۵ JZ ۱۸ ۱۵ DEC ۱۸ INC ۱۹ JZ ۱۵ ۵ H n
encoded program → ۵ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
step state machine instructions ↓
۱ fetch_instr: CPY <<1>>,<2> 5 i [۳] [۳] ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n

مرحلهٔ تجزیه: اکنون که شمارهٔ فرمان برنامه‌ای (مثلاً ۳=”JZ”) درون رجیستر #۲ –رجیستر فرمان برنامه‌ای– قرار دارد، ماشینِ حالت به کاهش شماره تا زمانی‌که رجیستر فرمان (IR) خالی شود، ادامه می‌دهد: اگر IR پیش از کاهش خالی بود، پس فرمان برنامه‌ای ۰=HALT خواهد بود، و ماشین به روال "HALT" خود جهش خواهد نمود. پس از اولین کاهش، در صورتی که حفره خالی بود، فرمان INC خواهد بود، و ماشین به فرمان "inc_routine" جهش خواهد نمود. پس از دومین کاهش، IR خالی DEC را نمایش داده و ماشین به فرمان "dec_routine" جهش خواهد کرد. پس از سومین کاهش، IR واقعاً خالی می‌شود و این امر منجر به جهش به روال "JZ_routine" خواهد شد. در صورتی‌که یک عدد غیرمنتظره همچنان درون IR وجود داشته باشد، (برای مثال) ماشین یک خطا را شناسایی نموده و HALT خواهد نمود."

PC IR
hole # → ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹
program, parameters → ۵ JZ ۱۸ ۱۵ DEC ۱۸ INC ۱۹ JZ ۱۵ ۵ H n
encoded program → ۵ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
step state machine instructions ↓
۱ fetch_instr: CPY <<1>>,<2> 5 i [۳] [۳] ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲ parse_instr: JZ 2,halt ۵ ۳ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۹ ۵ ۰ n
۳ 2-Dec ۵ ۲ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۴ JZ 2,dec_routine: ۵ ۲ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۵ 2-Dec ۵ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۶ JZ 2,inc_routine ۵ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۷ 2-Dec ۵ ۰ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۸ JZ 2, JZ_routine ۵ ۰ !
-- halt: HALT ۵ ۳ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
-- inc_routine: etc. ۵ ۳ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
-- dec_routine: etc. ۵ ۳ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۹ JZ_routine: etc. ۵ ۳ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n

مرحلهٔ اجرا، JZ_routine

اکنون ماشینِ حالت می‌داند که کدام دستورالعمل برنامه‌ای را اجرا نماید؛ در واقع به ردیف فرمان‌های "JZ_routine" جهش یافته‌است. فرمان JZ دارای دو عملوند است، (i) رقم رجیستر جهت آزمون، و (ii) آدرسی که در صورت موفقیت‌آمیز بودن آزمون (خالی بودن حفره) باید به آن مراجعه نمود. واکشی عملوند - کدام رجیستر را جهت خالی بودن آزمایش کنیم؟ : مشابه مرحلهٔ واکشی، ماشینِ حالت محدود، مقادیر رجیستری را که توسط PC به آن اشاره شده، مثلاً حفرهٔ #۶، را به درون رجیستر فرمان برنامه‌ایِ #۲ منتقل می‌کند. سپس از مقادیر رجیستر #۲ برای اشاره به رجیستر جهت آزمایش شدن برای صفر، مثلاً رجیستر #۱۸، استفاده می‌کند. حفرهٔ #۱۸ محتوی عدد "n" است. اکنون برای انجام آزمایش، ماشینِ حالت از مقادیر PIR جهت کپی غیرمستقیم رجیستر #۱۸ درون یک رجیستر یدکی، #۳، استفاده می‌کند؛ بنابراین دو احتمال وجود دارد، (ia) رجیستر #۱۸ خالی است، (ib) رجیستر #۱۸ خالی نیست. (ia) در صورتی‌که رجیستر #۳ خالی باشد، ماشینِ حالت به (ii) دومین واکشی عملوند، جهش می‌یابد (واکشی آدرس جهش به). (ib) در صورتی‌که رجیستر #۳ خالی نباشد، ماشین حالت می‌تواند (ii) دومین واکشی عملوند را نادیده بگیرد. این کار به سادگی PC را دو بار کاهش می‌دهد و سپس بدون قید و شرط به مرحلهٔ واکشیِ فرمان، یعنی جاییکه فرمان برنامه‌ای #۸ را واکشی می‌کند (DEC)، بازمی‌گردد. (ii) واکشی عملوند – آدرس جهش به. اگر رجیستر #۳ خالی باشد، ماشینِ حالت اقدام به استفاده از PC جهت کپی غیرمستقیم مقادیر رجیستری که به آن اشاره دارد (#۸) به درون خود، می‌کند. اکنون PC آدرس "جهش به" ۱۵ را نگه می‌دارد. سپس ماشینِ حالت بدون قید و شرط به مرحلهٔ واکشی فرمان بازمی‌گردد، یعنی جاییکه فرمان برنامه‌ای #۱۵ را واکشی می‌نماید (HALT).

PC IR
hole # → ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹
program, parameters → ۵ JZ ۱۸ ۱۵ DEC ۱۸ INC ۱۹ JZ ۱۵ ۵ H n
encoded program → ۵ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
step state machine instructions ↓
۹ JZ_routine INC 1 [۶] ۳ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۰ CPY <<1>>,<2> 6 i [۱۸] ۳ [۱۸] ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۱ test hole: CPY <<2>>,<3> ۶ 18 i [n] ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ [n]
۱۲ test hole: JZ 3, jump ۶ 18 i [n] ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
n n
۱۳ no_jump: INC 1 [۷] ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۴ INC 1 [۸] ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۵ J fetch_instr ۸ ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱ fetch_instr: CPY <<1>>,<2> 8 i [۲] n ۳ ۱۸ ۱۵ [۲] ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲ parse: etc.
۱۳ jump: INC 1 [۷] ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۴ CPY <<1>>,<1> [۱۵] ۱۸ n ۳ ۱۸ [۱۵] ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
15 J fetch_instr ۱۵ ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱ fetch_instr: CPY <<1>>,<2> 15 i [۰] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ [۰] n
۲ parse: etc.
PC IR
hole # → ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹
program, parameters → ۵ JZ ۱۸ ۱۵ DEC ۱۸ INC ۱۹ JZ ۱۵ ۵ H n
encoded program → ۵ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
step state machine instructions ↓
۱۵ J fetch_instr ۸ ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۶ fetch_instr: CPY <<1>>,<2> 8 i [۲] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۷ parse: JZ 2,halt ۸ ۲ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۸ 2-Dec ۸ [۱] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۹ JZ 2, inc_routine: ۸ ۱ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲۰ 2-Dec ۸ [۰] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
21 JZ 2, dec_routine: ۸ ۰! n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲۲ dec_routine: INC 1 ۹ ۰ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
23 CPY <<1>>,<2> 9 i ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
24 CPY <<2>>,<3> ۹ 18 i n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲۵ JZ 3,*+۲ ۹ ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
26 .DEC 3 ۹ ۱۸ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
27 CPY <3>,<<2>> ۹ 18 i n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
28 INC 1 ۱۰ ۱۸ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۲۹ J fetch_instr ۱۰ ۱۸ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۰ fetch_instr: CPY <<1>>,<2> 10 i ۱ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۱ parse: JZ 2,halt ۱۰ ۱ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۲ 2-Dec ۱۰ ۰ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۳ JZ 2,inc_routine: ۱۰ ۰! n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
34 inc_routine: INC 1 ۱۱ ۰ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
35 CPY <<1>>,<2> 11 i ۱۹ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
36 CPY <<2>>,<3> ۱۱ 19 i ۰ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
37 INC 3 ۱۱ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
38 CPY <3>,<<2>> ۱۱ 19 i ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۱
39 INC 1 ۱۲ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
40 J fetch_instr ۱۲ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
۴۱ fetch_instr: etc. ۱۲ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰

مرحلهٔ اجرایی INC، DEC

شرح زیر، تفسیر ماشینِ حالت RAM از فرمان‌های برنامه‌ای، یعنی INC h، DEC h، را کامل می‌کند و بدین ترتیب نمایش چگونگی "جعل هویت" RASP توسط RAM را تمکیل می‌نماید. مجموعه فرمان برنامه‌ای هدف: { INC h; DEC h; JZ h,xxx, HALT } بدون فرمان‌های غیرمستقیم ماشینِ حالت، INCi و DECi، جهت اجرای فرمان‌های برنامه‌ایِ INC و DEC، ماشینِ حالت باید از کپی غیرمستقیم جهت گرفتن مقادیر رجیستر مورد اشاره به درون رجیستر یدکی #۳ استفاده نماید، آن را DEC یا INC کرده، و سپس برای بازفرستادن آن به رجیستر مورد اشاره، از کپی غیرمستقیم استفاده کند.

PC IR
hole # → ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹
program, parameters → ۵ JZ ۱۸ ۱۵ DEC ۱۸ INC ۱۹ JZ ۱۵ ۵ H n
encoded program → ۵ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
step state machine instructions ↓
۱۵ J fetch_instr ۸ ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۶ fetch_instr: CPY <<1>>,<2> 8 i [۲] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۷ parse: JZ 2,halt ۸ ۲ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۸ 2-Dec ۸ [۱] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۱۹ JZ 2, inc_routine: ۸ ۱ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲۰ 2-Dec ۸ [۰] n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
21 JZ 2, dec_routine: ۸ ۰! n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲۲ dec_routine: INC 1 ۹ ۰ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
23 CPY <<1>>,<2> 9 i ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
24 CPY <<2>>,<3> ۹ 18 i n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
۲۵ JZ 3,*+۲ ۹ ۱۸ n ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
26 .DEC 3 ۹ ۱۸ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n
27 CPY <3>,<<2>> ۹ 18 i n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
28 INC 1 ۱۰ ۱۸ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۲۹ J fetch_instr ۱۰ ۱۸ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۰ fetch_instr: CPY <<1>>,<2> 10 i ۱ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۱ parse: JZ 2,halt ۱۰ ۱ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۲ 2-Dec ۱۰ ۰ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
۳۳ JZ 2,inc_routine: ۱۰ ۰! n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
34 inc_routine: INC 1 ۱۱ ۰ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
35 CPY <<1>>,<2> 11 i ۱۹ n-1 ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1
36 CPY <<2>>,<3> ۱۱ 19 i ۰ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
37 INC 3 ۱۱ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
38 CPY <3>,<<2>> ۱۱ 19 i ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۱
39 INC 1 ۱۲ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
40 J fetch_instr ۱۲ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰
۴۱ fetch_instr: etc. ۱۲ ۱۹ ۱ ۳ ۱۸ ۱۵ ۲ ۱۸ ۱ ۱۹ ۳ ۱۵ ۵ ۰ n-1 ۰

فرمان‌های جایگزین: اگرچه این نمایش به یک RASP اولیه از تنها چهار فرمان منجر شد، خواننده باید حدس بزند که یک فرمان اضافی مانند "ADD <h>" یا "MULT <ha>,<<hb>"، چگونه ممکن است انجام شود. برنامه‌های RASP خود اصلاح زمانیکه یک RAM به عنوان یک RASP عمل می‌کند، مورد جدیدی به دست می‌آید: RASP، بر خلاف RAM، ظرفیت خود اصلاحی فرمان‌های برنامه‌ای خود را دارد (فرمان‌های ماشینِ حالت ثابت بوده و غیرقابل تعدیل توسط ماشین هستند). کوک-رکهو (Cook-Reckhow) (1971) (صفحه ۷۵)، مانند هارتمانیس (Hartmanis) (1971) (صفحات ff239)، در توصیفشان از مدل RASP خود، دربارهٔ این موضوع اظهارنظر کرده‌اند. تعریفی اولیه از این مفهوم را می‌توان در گلدشتین-فون نویمان (Goldstine-von Neumann) (1946) یافت: "ما به دستوری (فرمانی) نیاز داریم که بتواند یک عدد را درون یک ردیف مشخص جایگزین نماید… با استفاده از چنین دستوری، نتایج یک محاسبه را می‌توان به صورت فرمان‌هایی نشان داد که این محاسبه یا یک محاسبهٔ دیگر را کنترل می‌کنند" (صفحه ۹۳). چنین قابلیتی، موارد زیر را ممکن می‌سازد:

  • زیر روال‌ها: روال (یا شاید زیر روال) فراخوانده شده، آدرس بازگشت "return_address" را در آخرین فرمان زیر روال ذخیره می‌کند، به‌طور مثال "JMP return_address"
  • به اصطلاح JUMP-tables (فهرست‌های JUMP)
  • کد خود اصلاح

مجموعهٔ فرمان برنامه‌ای RASP از طرف کوک و رکهو (۱۹۷۳)

استفان ای. کوک و رابرت ای. رکهو، تفسیر خود از یک RASP را در یک مقالهٔ مؤثر، چنین شرح می‌دهند: "ماشین برنامهٔ ذخیره شده با دسترسی تصادفی (RASP) شرح داده شده در اینجا، مشابه RASPهای شرح داده شده توسط هارتمانیس می‌باشد" (صفحه ۷۴). هدف آن‌ها، مقایسهٔ زمان‌های اجرایی مدل‌های مختلف از جمله RAM، RASP و ماشین تورینگ چند نواری، جهت استفاده در نظریهٔ تحلیل پیچیدگی بود. ویژگی چشمگیر مدل RASP آن‌ها، بی‌قیدی برای فرمان‌های برنامه‌ای غیرمستقیم است (به بحث آن-ها در صفحه ۷۵ رجوع شود). آن‌ها با ملزم نمودن یک برنامه جهت اصلاح خود، به این نتیجه رسیدند: در صورت لزوم، یک فرمان می‌تواند "مولفه"ی (به قول آن‌ها، مثلاً "عملوند") یک فرمان خاص را اصلاح نماید. آن‌ها مدل خود را به گونه‌ای طراحی کردند که هر "فرمان" از دو رجیستر متوالی استفاده نماید، یکی برای "کد عملیاتی" (به قول آن‌ها) و مؤلفهٔ "یک آدرس یا یک ثابت اینتجر". رجیسترهای RASP آن‌ها از لحاظ ظرفیت و از لحاظ تعداد، نامحدود هستند؛ به همین ترتیب، انباشتگر آن-ها یعنی AC، و شمارندهٔ فرمان، IC، نیز نامحدود هستند. مجموعهٔ فرمان‌ها به شرح زیر هستند:

operation mnemonic operation code description
load constant LOD, k 1 put constant k into accumulator
add ADD, j 2 add contents of register j to accumulator
subtract SUB, j 3 subtract contents of register j from accumulator
store STO, j 4 copy contents of accumulator into register j
branch on positive accumulator BPA, xxx 5 IF contents of accumulator> 0 THEN jump to xxx ELSE next instruction
read RD, j 6 next input into register j
print PRI, j 7 output contents of register j
halt HLT any other - or + integer stop

منابع

Often both the RAM and RASP machines are presented together in the same article. These have been copied over from Random access machine; with a few exceptions, these references are the same as those at Register machine.

  • George Boolos, John P. Burgess, Richard Jeffrey (2002), Computability and Logic: Fourth Edition, Cambridge University Press, Cambridge, England. The original Boolos-Jeffrey text has been extensively revised by Burgess: more advanced than an introductory textbook. "Abacus machine" model is extensively developed in Chapter 5 Abacus Computability; it is one of three models extensively treated and compared—the Turing machine (still in Boolos' original 4-tuple form) and recursion the other two.
  • Arthur Burks, Herman Goldstine, جان فون نویمان (1946), Preliminary discussion of the logical design of an electronic computing instrument, reprinted pp. 92ff in گوردون بل and آلن نیوول (1971), Computer Structures: Readings and Examples, mcGraw-Hill Book Company, New York. ISBN 0-07-004357-4.
  • استیون کوک and Robert A. Reckhow (1972), Time-bounded random access machines, Journal of Computer Systems Science 7 (1973), 354-375.
  • مارتین دیویس (1958), Computability & Unsolvability, McGraw-Hill Book Company, Inc. New York.
  • Calvin Elgot and آبراهام رابینسون (1964), Random-Access Stored-Program Machines, an Approach to Programming Languages, Journal of the Association for Computing Machinery, Vol. 11, No. 4 (October, 1964), pp. 365–399.
  • J. Hartmanis (1971), "Computational Complexity of Random Access Stored Program Machines," Mathematical Systems Theory 5, 3 (1971) pp. 232–245.
  • جان هاپکرافت, جفری اولمن (1979). Introduction to Automata Theory, Languages and Computation, 1st ed. , Reading Mass: Addison-Wesley. ISBN 0-201-02988-X. A difficult book centered around the issues of machine-interpretation of "languages", NP-Completeness, etc.
  • استیون کول کلینی (1952), Introduction to Metamathematics, North-Holland Publishing Company, Amsterdam, Netherlands. ISBN 0-7204-2103-9.
  • دانلد کنوت (1968), The Art of Computer Programming, Second Edition 1973, Addison-Wesley, Reading, Massachusetts. Cf pages 462-463 where he defines "a new kind of abstract machine or 'automaton' which deals with linked structures."
  • Joachim Lambek (1961, received 1۵ ژوئن ۱۹۶۱), How to Program an Infinite Abacus, Mathematical Bulletin, vol. 4, no. 3. September 1961 pages 295-302. In his Appendix II, Lambek proposes a "formal definition of 'program'. He references Melzak (1961) and Kleene (1952) Introduction to Metamathematics.
  • Z. A. Melzak (1961, received 1۵ مه ۱۹۶۱), An informal Arithmetical Approach to Computability and Computation, Canadian Mathematical Bulletin, vol. 4, no. 3. September 1961 pages 279-293. Melzak offers no references but acknowledges "the benefit of conversations with Drs. R. Hamming, D. McIlroy and V. Vyssots of the Bell telephone Laborators and with Dr. H. Wang of Oxford University."
  • ماروین مینسکی (1961, received August 15, 1960). "Recursive Unsolvability of Post's Problem of 'Tag' and Other Topics in Theory of Turing Machines". Annals of Math. Annals of Mathematics. 74 (3): 437–455. doi:10.2307/1970290. JSTOR 1970290. {{cite journal}}: Check date values in: |year= (help)
  • ماروین مینسکی (1967). Computation: Finite and Infinite Machines (1st ed.). Englewood Cliffs, N. J.: Prentice-Hall, Inc. ISBN 0-13-165449-7. In particular see chapter 11: Models Similar to Digital Computers and chapter 14: Very Simple Bases for Computability. In the former chapter he defines "Program machines" and in the later chapter he discusses "Universal Program machines with Two Registers" and "...with one register", etc.
  • John C. Shepherdson and H. E. Sturgis (1961) received December 1961 Computability of Recursive Functions, Journal of the Association of Computing Machinery (JACM) 10:217-255, 1963. An extremely valuable reference paper. In their Appendix A the authors cite 4 others with reference to "Minimality of Instructions Used in 4.1: Comparison with Similar Systems".
  • Kaphengst, Heinz, Eine Abstrakte programmgesteuerte Rechenmaschine', Zeitschrift fur mathematische Logik und Grundlagen der Mathematik:5 (1959), 366-379.
  • Ershov, A. P. On operator algorithms, (Russian) Dok. Akad. Nauk 122 (1958), 967-970. English translation, Automat. Express 1 (1959), 20-23.
  • Péter, Rózsa Graphschemata und rekursive Funktionen, Dialectica 12 (1958), 373.
  • Hermes, Hans Die Universalität programmgesteuerter Rechenmaschinen. Math. -Phys. Semsterberichte (Göttingen) 4 (1954), 42-53.
  • Arnold Schönhage (1980), Storage Modification Machines, Society for Industrial and Applied Mathematics, SIAM J. Comput. Vol. 9, No. 3, August 1980. Wherein Schōnhage shows the equivalence of his SMM with the "successor RAM" (Random Access Machine), etc. resp. Storage Modification Machines, in Theoretical Computer Science (1979), pp. 36–37
  • Peter van Emde Boas, Machine Models and Simulations pp.3–66, appearing in: Jan van Leeuwen, ed. "Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity, The MIT PRESS/Elsevier, 1990. ISBN 0-444-88071-2 (volume A). QA 76.H279 1990.
van Emde Boas' treatment of SMMs appears on pp. 32-35. This treatment clarifies Schōnhage 1980 -- it closely follows but expands slightly the Schōnhage treatment. Both references may be needed for effective understanding.
  • Hao Wang (1957), A Variant to Turing's Theory of Computing Machines, JACM (Journal of the Association for Computing Machinery) 4; 63-92. Presented at the meeting of the Association, June 23-25, 1954.

مشارکت‌کنندگان ویکی‌پدیا. «ماشین برنامه ذخیره شده با دسترسی تصادفی 1». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۲۶ آذر ۱۳۹۵.

Read other articles:

الانتخابات البرلمانية اللبنانية 1992معلومات عامةجزء من الانتخابات العامة اللبنانية البلد لبنان الاختصاص لبنان تاريخ البدء 23 أغسطس 1992 تاريخ الانتهاء 11 أكتوبر 1992 المنصب المتنازع عليه عضو مجلس النواب اللبناني تعديل - تعديل مصدري - تعديل ويكي بيانات جزء من سلسلة مقالات سياسة لب

 

Peta menunjukan lokasi Carmen Untuk kegunaan lain, lihat Carmen. Carmen adalah munisipalitas yang terletak di provinsi Cebu, Filipina. Pada tahun 2007, munisipalitas ini memiliki populasi sebesar 41.279 jiwa. Pembagian wilayah Secara politis Carmen terbagi menjadi 21 barangay, yaitu: Baring Bliss Cantipay Cantumog Cantucong Caurasan Corte Dawis Norte Dawis Sur Cogon East Hagnaya Ipil Lanipga Liboron Lower Natimao-an Luyang Poblacion Puente Sac-on Triumfo Upper Natimao-an Cogon West Pranala lu...

 

亞非運動會(英語:Afro-Asian Games)是一個亞洲及非洲的地區綜合性運動會,由亚洲奥林匹克理事会及非洲奧委會協會舉辦。 第一屆亞非運動會於2003年在印度的海得拉巴舉行。第二屆的亞非運動會本應於2007年舉行,由於亞洲方面關於獎牌榜於亞洲運動會中計算的爭論及亞洲國家參賽人數不足,但被無限期推遲。[1] 歷屆亞非運動會 年份 屆數 舉辦城市 國家或地區 开幕式

ГородДаунем-Маркетангл. Downham Market 52°36′ с. ш. 0°23′ в. д.HGЯO Страна  Великобритания Регион Восточная Англия Графство Норфолк История и география Площадь 5,2 км² Часовой пояс UTC±0:00 Население Население 10887 человек (2016) Цифровые идентификаторы Телефонный код +44&#...

 

Liga Muslimin Indonesia adalah federasi partai politik Islam di Indonesia ang meliputi Nahdlatul Ulama (NU), Partai Syarikat Islam Indonesia (PSII) dan Persatuan Tarbiyah Islamiyah (Perti). Organisasi ini berdiri di Jakarta pada 30 Agustus 1952. Ketuanya adalah Abdul Wahid Hasyim (NU), dan wakil ketua I serta II adalah Abikusno Tjokrosujoso (PSII) dan Sirajuddin Abbas (Perti). Sirajuddin Abbas dari PERTI, Wahid Hasyim dari NU dan Abikusno Tjokrosujoso dari PSII usai menandatangani Piagam Liga...

 

ι Pegasi Dados observacionais (J2000) Constelação Pegasus Asc. reta 22h 07m 00,7s Declinação 25° 20′ 42,4″ Magnit. apar. 3,770 Tipo espectral F5V/G9V Distância 39,5 anos-luz12,1 pc Outras denominações 24 Peg, HR 8430, HIP 109176, HD 210027, FK5 831, SAO 90238. Iota Pegasi (ι Peg, ι Pegasi) é uma estrela binária localizada na constelação de Pegasus, a 39,5 anos-luz da Terra. Ambas as estrelas pertencem à sequência principal, e estão separad...

يوهانا إليزابيث   أميرة أنهالت-تسربست القرينة فترة الحكم7 نوفمبر 1742 – 16 مارس 1747 معلومات شخصية الميلاد 24 أكتوبر 1712  قلعة غوتورب  [لغات أخرى]‏  الوفاة 30 مايو 1760 (47 سنة)   باريس  مواطنة ألمانيا  الزوج كريستيان أوغست أمير أنهالت-تسربست (1727–)  الأولاد كاتر...

 

Dendrobium cumulatum Klasifikasi ilmiah Kerajaan: Plantae Divisi: Tracheophyta Kelas: Liliopsida Ordo: Asparagales Famili: Orchidaceae Genus: Dendrobium Spesies: Dendrobium cumulatum Nama binomial Dendrobium cumulatumLindl. Dendrobium cumulatum adalah spesies tumbuhan yang tergolong ke dalam famili Orchidaceae. Spesies ini juga merupakan bagian dari ordo Asparagales. Spesies Dendrobium cumulatum sendiri merupakan bagian dari genus Dendrobium.[1] Nama ilmiah dari spesies ini pertama ka...

 

Berikut adalah daftar Presiden Namibia. No. Nama Gambar Mulai menjabat Akhir jabatan Partai 1 Sam Nujoma 21 Maret 1990 21 Maret 2005 SWAPO 2 Hifikepunye Pohamba 21 Maret 2005 Sekarang SWAPO Lihat pula Namibia Sejarah Namibia Politik Namibia Daftar tokoh Namibia Daftar Presiden Namibia Daftar Perdana Menteri Namibia Artikel bertopik daftar ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.lbs

1994 live album by The Free Spirits Featuring John McLaughlinTokyo LiveLive album by The Free Spirits Featuring John McLaughlinReleased1994Recorded16, 18 December 1993VenueBlue Note, Tokyo, JapanGenreJazz fusionLabelVerveProducerJohn McLaughlinJohn McLaughlin chronology Time Remembered: John McLaughlin Plays Bill Evans(1993) Tokyo Live(1994) After the Rain(1994) Professional ratingsReview scoresSourceRatingAllmusic[1]All About Jazz(mixed)[2]The Penguin Guide to Jazz Re...

 

Basketball team in 's-Hertogenbosch, NetherlandsHeroes Den BoschLeaguesBNXT LeagueFounded18 October 1952; 71 years ago (1952-10-18)ArenaMaaspoortCapacity2,700Location's-Hertogenbosch, NetherlandsTeam colorsRed, White, Blue      PresidentBob van OosterhoutGeneral managerStefan WesselsHead coachErik BraalOwnershipBob van Oosterhout2021–22 positionBNXT League, 5th of 21Championships17 Dutch Championships 7 Dutch Cups 3 Dutch Supercups 1 Ricoh Cup 1 Haarlem Bask...

 

2006 book by Christian Burch First edition The Manny Files is a 2006 young adult novel written by Christian Burch and published by Atheneum Books. It won the Lambda Literary Award for Children's and Young Adult Literature in 2007[1] and jointly won the Josette Frank Award in 2007.[2] The book's sequel, Hit the Road, Manny, was released in 2008[3] and won the Lambda Literary Award for Children's and Young Adult Literature in 2009.[4] Plot introduction Keats Dali...

Negara Kuwaitدولة الكويتDaulat al-Kuwait (Arab) Bendera Lambang Semboyan: —Lagu kebangsaan:  النشيد الكويت الوطني An-Nasyid al-Kuwait al-Waṭanī (Indonesia: Himne Nasional Kuwait) Perlihatkan BumiPerlihatkan peta BenderaIbu kota(dan kota terbesar)Kota Kuwait29°22′N 47°58′E / 29.367°N 47.967°E / 29.367; 47.967Bahasa resmiArabPemerintahanKesatuan parlementer monarki semi-konstitusional1• Emir Nawaf al-Sabah• ...

 

书房站Shufang Station位置 中国成都市龙泉驿区地理坐标30°34′41.84″N 104°14′23.35″E / 30.5782889°N 104.2398194°E / 30.5782889; 104.2398194车站类别地下车站途经线路成都地铁2号线车站构造出口数目4个出入口(使用中:3)站台1个岛式站台其他信息车站代码0203 历史启用日期2014年10月26日营运信息首班车2号线往龙泉驿方向:7:26 往犀浦方向:6:15末班车2号线往龙泉驿...

 

Mitsubishi K7M Призначення: навчальний літакПерший політ: 1938На озброєнні у: Імперський флот ЯпоніїВсього збудовано: 2Екіпаж: 2 особиКрейсерська швидкість: 180 км/годМаксимальна швидкість (МШ): 260 км/годДальність польоту: 950 кмПрактична стеля: 5 800 мДовжина: 13,23 мВисо...

Дмитро Осипенко Особисті дані Повне ім'я Дмитро Михайлович Осипенко Народження 12 грудня 1982(1982-12-12) (40 років)   Мінськ, БРСР Зріст 170 см Вага 70 кг Громадянство  Білорусь Позиція нападник Інформація про клуб Поточний клуб «Арсенал» (Дзержинськ) Номер 7 Професіональн...

 

Unix conference SCO ForumStatusInactiveGenreCustomer and partner technical conferenceVenueUniversity of California, Santa CruzMGM Grand, Mirage, LuxorLocation(s)Santa Cruz, CaliforniaLas Vegas, NevadaCountryUnited StatesInaugurated1987Most recent2008Attendance3000 at peak (1997–1998)Organized byThe Santa Cruz OperationCaldera InternationalThe SCO Group SCO Forum was a technical computer conference sponsored by the Santa Cruz Operation (SCO), briefly by Caldera International, and later The S...

 

United States historic placeShort Woods Park MoundU.S. National Register of Historic Places Southwestern side of the moundShow map of OhioShow map of the United StatesLocationNorthern side of Sayler Park[2]Nearest cityCincinnati, OhioCoordinates39°7′16.8″N 84°41′42″W / 39.121333°N 84.69500°W / 39.121333; -84.69500Area5 acres (2.0 ha)NRHP reference No.74001521[1]Added to NRHPOctober 1, 1974 The Short Woods Park Mound is a Nativ...

Fletcher-class destroyer For other ships with the same name, see USS Cushing. History United States NameUSS Cushing (DD-797) NamesakeWilliam B. Cushing BuilderBethlehem Mariners Harbor, Staten Island Laid down3 May 1943 Launched30 September 1943 Commissioned17 January 1944 Decommissioned3 February 1947 HomeportNaval Station Bremerton Honors andawardsSix (6) battle stars History United States Recommissioned17 August 1951 Decommissioned8 November 1960 Honors andawardsTwo (2) battle stars Loaned...

 

New Zealand politician SirLeslie MunroKCMG KCVOMember of the New Zealand Parliamentfor Hamilton WestIn office1969–1972Succeeded byDorothy JelicichMember of the New Zealand Parliamentfor WaipaIn office1963–1969Preceded byHallyburton Johnstone14th President of the United Nations General AssemblyIn office17 September 1957 – 16 September 1958Preceded byWan WaithayakonSucceeded byCharles Habib Malik3rd Minister from New Zealand in the United StatesIn office1952–1958Precede...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!