Payamvdn/NorthPersian_fa_wiki huggingface dataset:
را به دو دستور متفاوت ترجمه کند. اگر مفاهیم زبان برنامه، کامپایلر را محدود به ترجمه (برای مثال) چپ-به-راست کند، کدی که تولید می شود مانند این است که برنامه نویس دستورهای زیر را در برنامه اصلی نوشته باشد: ;sum = a + b ; sum = sum + c اگر کامپایلر اجازه استفاده از خاصیت شرکت پذیری جمع را داشته باشد، کد زیر تولید می شود: ;sum = b + c ;sum = a + sum اگر کامپایلر مجاز به استفاده از خاصیت جابه جایی جمع باشد، ممکن است کد زیر تولید شود : ;sum = a + c ;sum = sum + b باید توجه داشت که در اکثر زبان های برنامه نویسی، داده عدد صحیح فقط از جبر برای اعداد صحیح ریاضی در غیاب سرریز عدد صحیح استفاده می کند. همچنین در اغلب زبان های برنامه نویسی، محاسبه ممیز شناور در داده های اعشاری قابل جایگزینی با گرد کرد عدد نیست. اگر برنامه نویس نگران سرریز عدد صحیح یا تأثیر گرد کرد در اعداد اعشاری باشد، ممکن است برنامه مشابه در سطح بالا به صورت زیر باشد: ;sum = a + b ;sum = sum + c تأثیر ترتیب برنامه شامل فراخوانی تابع. تعداد زیادی از زبان ها، مرز دستور را بعنوان نقطه دنباله تلقی می کنند و اجبار می کنند که اثر یک دستور قبل از اجرای دستور ب
عد کامل شوند. این مورد کامپایلر را مجبور می کند که کدی مطابق با ترتیب بیان شده تولید کند که در اغلب موارد شامل دستورهای پیچیده ایست و ممکن است شامل فراخوانی تابع درونی باشد. ;sum = f(a) + g(b) + h(c) در سطح ماشین، فراخوانی یک تابع معمولاً مستلزم تنظیم یک قاب پشته ای برای فراخوانی تابع است که شامل خواندن و نوشتن بسیاری در حافظه ماشین است. در اکثر زبان های کامپایل شده، کامپایلر آزاد است تا تابع f, g و h را به دلخواه خود ترتیب دهد و در نتیجه برنامه را دوباره مرتب کند. در یک زبان کاملاً کاربردی، تاثیر گذاشتن بر روی وضعیت برنامه قابل مشاهده توسط فراخوانی تابع ممنوع است (غیر از مقدار بازگشتی)، و تفاوت در ترتیب حافظه ماشین به دلیل ترتیب فراخوانی تابع برای معناشناسی برنامه بی اهمیت خواهد بود. در زبان های رویه ای، توابعی که نامیده می شوند می توانند اثر جانبی داشته باشند، مانند انجام دستورهای ورودی/خروجی یا به روزرسانی متغیرها در محدوده جهانی برنامه، که همگی اثر قابل مشاهده بر روی مدل برنامه دارند. برنامه نویسانی که به چنین جلوه هایی اهمیت می دهند می توانند برنامه منبع اصلی را با دقت بیشتری بیان کنند. مجدداً، برنامه نو
یس که به این اثر توجه دارد، می تواند در دستورهای برنامه اصلی سختگیرتر شود: ;sum = f(a) ;sum = sum + g(b) ;sum = sum + h(c) در زبان های برنامه نویسی که مرز دستورها به عنوان نقاط دنباله تعریف می شوند، فراخوانی های تابع f, g، h باید به ترتیب دقیق اجرا شوند. مسائل خاص نظم حافظه. جلوه های ترتیب برنامه شامل دستورهای اشاره گر. حال موردی را در نظر بگیرید که در آن همان عمل جمع با اشاره گر غیرمستقیم بیان شود، مثلاً در زبان هایی مثل C/C++: ;sum = *a + *b + *c عبارت codice_1 یک اشاره گر نامیده می شود و مکانی از حافظه را که با مقدار فعلی codice_2 مشخص شده است، می خواند. اثر خواندن از یک اشاره گر توسط مدل حافظه معماری مشخض می شود. هنگام خواندن از حافظه استاندارد برنامه، به دلیل ترتیب دستور خواندن حافظه، عوارض جانبی وجود ندارد. در برنامه نویسی سیستم های جاسازی شده، بسیار رایج است که I/O با نقشه حافظه داشته باشیم که در آن دستورهای I/O باعث خواندن و نوشتن در حافظه یا تغییر در حالت عملکرد پردازنده، که عوارض جانبی بسیار قابل مشاهده است، می شود. برای مثال بالا، فرض کنید که نشانگرها به حافظه برنامه منظم بدون این عوارض جانبی اشاره
می کنند. کامپایلر آزاد است که این خوانش ها را به نحوی که مناسب می داند، مرتب کند و هیچ عوارض جانبی قابل مشاهده برنامه وجود نخواهد داشت. اگر مقدار تخصیص داده شده هم اشاره گر غیرمستقیم باشد چه می شود؟ ;sum = *a + *b + *c* در این قسمت، اینکه زبان به کامپایلر اجازه تقسیم را به صورت زیر بدهد، بعید به نظر می رسد. // همان طور که توسط کامپایلر بازنویسی شده است // به طور کلی ممنوع است ;sum = *a + *b* ;sum = *sum + *c* این در اکثر موارد ناکارآمد است و نوشتن اشاره گر می تواند اثر جانبی بر روی وضعیت قابل مشاهده ماشین داشته باشد. کامپایلر اجازه این تبدیل تقسیم را نمی دهد، بنابراین تنها نوشته ها در مکان حافظه sum باید به طور منطقی از سه اشاره گر خوانده شده از عبارت پیروی کنند. اما فرض کنید برنامه نویس نگران سرریز اعداد صحیح بوده و این عبارت را در سطح برنامه به صورت زیر تقسیم کند: // به طور مستقیم توسط برنامه نویس نوشته شده است // با نگرانی های دیگر ;sum = *a + *b* ;sum = *sum + *c* عبارت اول دو خوانش حافظه را کد می کند، که باید قبل از اولین نامه به codice_3 باشد (به هر ترتیب). عبارت دوم دو خوانش حافظه (به هر ترتیب) را کد
می کند که باید قبل از به روز رسانی دوم codice_3 باشد. این امر ترتیب دو دستور اضافه را تضمین می کند، اما به طور بالقوه یک مشکل جدید برای نام مستعار آدرس را معرفی می کند: هر کدام از این نکته ها می توانند به طور بالقوه به مکان حافظه مشابه مراجعه کنند. برای مثال، فرض کنید در این مثال codice_5 و codice_3 نام مستعار در یک مکان حافظه دارند و هر دو نسخه برنامه را با codice_3 برای هر دو بازنویسی کنیم. ;sum = *a + *b + *sum* اینجا هیچ مشکلی وجود ندارد. مقدار اصلی چیزی که ما در ابتدا به عنوان codice_5 نوشتیم در تخصیص به codice_3 و همچنین مقدار اصلی codice_3از بین می رود، اما این در وهله اول بازنویسی شده بود و هیچ نگرانی خاصی ندارد. //چیزی که برنامه با c* و sum* مستعارمی شود ;sum = *a + *b* ;sum = *sum + *sum* در اینجا مقدار اصلی codice_3 قبل از اولین دسترسی، بازنویسی می شود و در عوض معادل جبری بدست می آید: // معادل جبریبالا ;sum = (*a + *b) + (*a + *b)* که یک مقدار کاملاً متفاوت را به codice_3 به دلیل تنظیم مجدد دستورها اختصاص می دهد. به دلیل اثرهای احتمالی، تغییر یافتن مجدد دستورهای اشاره گر بدون به خطر انداختن اثرهای
برنامه قابل مشاهده دشوار است. در حالت معمول، ممکن است هیچ نام مستعاری وجود نداشته باشد، بنابراین به نظر می رسد که کد مانند قبل اجرا شود. اما در حالتی که نام مستعار وجود دارد، خطاهای شدیدتر ممکن است رخ دهد. حتی اگر این موارد به طور کامل در اجرای عادی وجود نداشته باشند، دری را برای یک دشمن مخرب باز می کند تا در جایی که نام مستعار وجود دارد، ورودی ایجاد کند، که منجر به یک سوء استفاده امنیتی از رایانه می شود. ترتیب مجدد امن برنامه قبلی به شرح زیر است: // یک متغیر محلی موقت 'temp' از نوع مناسب را اعلام کنید ;temp = *a + *b ;sum = temp + *c* در نهایت حالت غیر مستقیم با فراخوانی تابع اضافه را در نظر بگیرید : ;sum = f(*a) + g(*b)* کامپایلر ممکن است ارزیابی اشاره گرهای codice_13 و codice_14 را زودتر انتخاب کند، ممکن است ارزیابی codice_14 را به بعد از فراخوانی تابع codice_16 یا ارزیابی codice_13 را به بعد از فراخوانی تابع codice_18 به تعویق بیندازد. اگر تابع codice_16 و codice_18 اثر جانبی قابل مشاهده نداشته باشند، هر سه گزینه برنامه ای با اثر قابل مشاهده مشابه تولید خواهند کرد. اگر پیاده سازی codice_16 یا codice_18 دا
رای اثر جانبی هر اشاره گر باشد، این سه گزینه می توانند جلوه های برنامه قابل مشاهده مختلفی را ایجاد کنند. ترتیب حافظه در مشخصات زبان. به طور کلی، زبان های کامپایل شده به اندازه کافی دقیق نیستند تا کامپایلر به طور رسمی در زمان کامپایل مشخص کند که کدام اشاره گرها نام مستعار دارند و کدام ها ندارند. امن ترین کار این است که کامپایلر فرض کند که همه اشاره گرها همیشه نام مستعار دارند. در نتیجه، بسیاری از زبان های کامپایل شده سطح بالا، مانند C و ++C، طوری تکامل یافته اند تا مشخصات معنایی پیچیده تری داشته باشند در این مورد که کامپایلر در کجا مجاز است در مرتب سازی مجدد کدها برای دستیابی به بالاترین عملکرد ممکن، مفروضات خوش بینانه داشته باشد، و در کجا باید برای جلوگیری از خطر معنایی، مفروضات بدبینانه ای را ایجاد کند. تا حد زیادی بزرگ ترین دسته بندی از عوارض جانبی در یک زبان رویه ای شامل دستورهای نوشتن حافظه است، بنابراین قوانین مربوط به ترتیب حافظه جزء غالب در تعریف معنایی ترتیب برنامه هستند. مرتب سازی مجدد فراخوانی های توابع بالا، ممکن است به نظر متفاوت باشند، اما این معمولاً به نگرانی هایی تبدیل می شود که در مورد اثر حا
فظه داخلی در تعامل با دستور حافظه است. مشکلات و عوارض اضافی. بهینه سازی تحت عنوانas-if. کامپایلرهای مدرن بعضی وقت ها با استفاده از یک قاعده as-if یک گام جلوتر می روند، که در آن هرگونه ترتیب مجدد (حتی در بین عبارت ها) در صورتی که تأثیری بر نتایج معناشناسی برنامه نداشته باشد، مجاز است. بر اساس این قانون، ترتیب دستورها در کد ترجمه شده می تواند به شدت از ترتیب برنامه مشخص شده متفاوت باشد. اگر کامپایلر مجاز باشد در مورد دستورهای اشاره گر متمایز با عدم همپوشانی مستعار در موردی که چنین نام مستعاری وجود داشته باشد، مفروضات خوش بینانه داشته باشد (این امر معمولاً به عنوان یک برنامه نامناسب طبقه بندی می شود که رفتار نامشخصی از خود نشان می دهد)، نتایج نامطلوب یک تبدیل کد - بهینه سازی تهاجمی قبل از اجرای کد یا بازرسی مستقیم کد غیرممکن است. قلمرو رفتار تعریف نشده، تقریباً جلوه های نامحدود دارد. این مسئولیت برنامه نویس است که مشخصات زبان را به گونه ای در نظر بگیرد تا از نوشتن برنامه هایی که در آن معنا در نتیجهٔ هر گونه بهینه سازی کامپایلر تغییر می کند، جلوگیری کند. Fortran به طور سنتی بار زیادی را بر دوش برنامه نویسان قرار
می دهد تا از این مسائل آگاه باشد چرا که زبان های برنامه نویسی C و C++ چندان از این موارد عقب نیستند. برخی از زبان های سطح بالا، ساختارهای اشاره گر را به طور کلی حذف می کنند چرا که این سطح هوشیاری و توجه به جزئیات بسیار بالاست و حتی در بین برنامه نویسان حرفه ای نمی توان آن را حفظ کرد. درک کامل از معناشناسی ترتیب حافظه به عنوان یک تخصص در میان گروهی از برنامه نویس های حرفه ای که در این زمینه بهترین هستند، در نظر گرفته می شود. اکثر برنامه نویسان به درک کافی از این مسائل در حوزه معمولی تخصص خود رضایت می دهند. در نهایت برنامه نویسانی هستند که چارچوب های نرم افزاری را برای پشتیبانی از مدل های محاسباتی همزمان ایجاد می کنند. نام مستعار متغیرهای محلی. توجه داشته باشید که متغیرهای محلی را نمی توان بدون نام مستعار فرض کرد، اگر یک اشاره گر به چنین متغیری در اشاره کند : ;sum = f(&amp;a) + g(a) ما نمی دانیم که تابع f با اشاره گر داده شده به a چه کرد. در ساده ترین حالت، f مقدار جدیدی برای متغیر a می نویسد و عبارت به ترتیب اجرا تعریف نشده است. f می تواند چنین رفتاری را با اعمال واجد شرایط ثابت در اعلان آرگومان اشاره گر پنهان
کند و عبارت به درستی تعریف شود؛ بنابراین، فرهنگ C/C++ مدرن تا حدودی در مورد دادن اعلان های آرگومان تابع واجد شرایط ثابت در همه موارد قابل اجرا، وسواس زیادی پیدا کرده است. زبان های C و ++C به اجزای داخلی تابع codice_16 این اجازه را می دهند تا صفت سازگاری را به عنوان یک مصلحت خطرناک نشان دهد. اگر تابع codice_16 این کار را به گونه ای انجام دهد که بتواند عبارت بالا را از هم بشکند، در مرحله اول نباید نوع آرگومان اشاره گر را به عنوان ثابت اعلام کند. سایر زبان های سطح بالا به یک تضمین قوی بدون هیچ حفره حلقه ای برای نقض متمایل می شوند. اگر برنامه شما کتابخانه ای را که به زبان برنامه نویسی دیگری نوشته شده است پیوند دهد، همه شرط ها روی این زبان تضمین نمی شود (اگرچه این طراحی به شدت بد در نظر گرفته می شود). اجرای مانع حافظه در زمان کامپایل. این مانع ها از مرتب سازی مجدد دستورها توسط کامپایلر در طول زمان کامپایل جلوگیری می کنند ولی مانع از مرتب سازی مجدد توسط CPU در طول زمان اجرا نمی شوند. ;asm volatile("" ::: "memory") ;asm__ __volatile__ ("" ::: "memory")__ ()memory_barrier__ ()ReadWriteBarrier_ موانع ترکیبی. در بسیار
ی از زبان های برنامه نویسی، انواع مختلفی از مانع ها را می توان با دستورهای دیگر (مانند بارگذاری، ذخیره، افزایش اتمی، مقایسه اتمی و مبادله) ترکیب کرد، بنابراین به هیچ مانع حافظه اضافه ای نیاز نیست. بسته به معماری پردازنده که هدف است، این ساختارهای زبان به دستورالعمل های ویژه، به دستورالعمل های متعدد (به عنوان مثال مانع و بار)، یا به دستورالعمل های معمولی، بسته به تضمین های ترتیب حافظه سخت افزاری، ترجمه می شوند. مرتب سازی حافظه در زمان اجرا. در سیستم های ریزپردازنده متقارن چند پردازشی (SMP).. چند مدل سازگاری با حافظه برای سیستم SMP وجود دارد: در برخی از CPUها پیاده سازی مانع حافظه سخت افزاری. بسیاری از معماری ها با پشتیبانی SMP دارای دستورهای سخت افزاری خاصی هستند که برای خواندن و نوشتن در طول زمان اجرا هستند. lence (asm), void _mm_lfence (void) sfence (asm), void _mm_sfence (void) mfence (asm), void _mm_mfence (void) همگام سازی (asm) همگام سازی (asm) mf (asm) dcs (asm) dmb (asm) dsb (asm) isb (asm) پشتیبانی کامپایلر برای موانع حافظه سخت افزاری. برخی از کامپایلرها از تابع ذاتی پشتیبانی می کنند که دستورهای مانع
حافظه که از نوع سخت افزاری هستند را خارج می کنند:
کمی خوشی کمی سختی یا دوست داشتن کم و کمی سختی فیلمی هندی محصول سال ۲۰۰۹ و به کارگردانی کیشور کومار پارداسانی است. در این فیلم بازیگرانی همچون سیدارت نارایان، تمنا باتیا، پراکاش راج، رامیا کریشنان و نثار ایفای نقش کرده اند.
سپاه اول انزاک () سپاه پیاده نظام و مجموعه ای از ۳ لشکر نیروی زمینی بریتانیا و تحت امر سپاه ارتش استرالیا و نیوزلند بود، که در سال ۱۹۱۶ تأسیس شد و در سال ۱۹۱۷ منحل گردید. این سپاه در فوریه ۱۹۱۶ در مصر به عنوان بخشی از سازماندهی مجدد و گسترش نیروی امپراتوری استرالیا و نیروی اعزامی نیوزیلند پس از تخلیه گالیپولی در دسامبر ۱۹۱۵ تشکیل شد. این سپاه به همراه سپاه دوم آنزاک، جایگزین سپاه اصلی ارتش استرالیا و نیوزیلند شد. این سپاه در ابتدا در دفاع از کانال سوئز شرکت داشت و سپس در اواخر مارس ۱۹۱۶ به جبهه غربی در فرانسه و بلژیک منتقل شد. بعداً در سال ۱۹۱۶، لشکر نیوزیلند از صف نبرد سپاه اول آنزاک خارج شد و با لشکر چهارم استرالیا در سپاه دوم آنزاک جایگزین شد. در نوامبر ۱۹۱۷، سپاه اول آنزاک زمانی که لشکرهای پیاده نظام استرالیا در فرانسه به عنوان سپاه استرالیا و لشکر نیوزیلند، که در آن زمان بخشی از سپاه دوم آنزاک بود، به یک سپاه بریتانیایی اختصاص داده شدند، از بین رفت.
احساس کردن رباتیک یک بخش فرعی از علم رباتیک است که قصد دارد توانایی مشاهده را به ربات بدهد. حواس رباتیکی ربات هایی با توانایی احساس کردن اطراف خود می سازد و معمولا به عنوان واکنش نشان دادن ربات برای اینکه ربات بتواند حرکات خود را بر اساس ورودی احساس شده تنظیم کند استفاده می شود. سنجش رباتیک به طور کلی به ربات توانایی دیدن، لمس کردن، شنیدن، و حرکت کردن، و استفاده از الگوریتم هایی که به واکنش محیط یا اطلاعات مربوط به حواس نیازمند است را می دهد.حواس رباتیکی در برنامه هایی مانند اتوماسیون خودرو، پروتزهای رباتیکی و ربات های صنعتی، پزشکی، ربات های مخصوص سرگرمی وربات های آموزشی مهم است. بینایی. راهکار. سیستم احساس بینایی میتواند بر اساس هر چیزی از دوربین های سنتی ،ردیاب آوایی و لیزر ها گرفته تا تکنولوژِی های جدید شناسایی فرکانس های رادیویی(RFID) که سیگنال های رادیویی را به یک برچسب روی یک شی می فرستد و یک کد شناسایی را برمی گرداند.همه ی چهار راهکار این سه رویه را هدف قرار می دهند:احساس، برآورد کردن و تطابق. تحلیل تصویر. کیفیت تصویر در برنامه هایی که به دید رباتیکی بی نقص نیاز دارند، مهم است.الگوریتم که بر اساس تبدیل
موجک برای ادغام کردن عکس های طیف های مختلف و کانون های مختلف است، کیفیت تصویر را بهبود می بخشد. ربات ها می توانند اطلاعات دقیق تری از تصویر بهبودیافته را به دست بیاورند. محل استفاده. سنسور های ویژوال به ربات کمک می کند تا اطراف خود را شناسایی کند و حرکت درست را انجام دهد.ربات های عکس محیط در همان لحظه را از سنسور ویژوال انالیز می کنند. نتیجه انالیز با عکس نهایی یا متوسط ایده ال مقایسه می شود، تا حرکت مناسب برای رسیدن به هدف نهایی یا حالت ایده ال تصمی گیری شود. لمس کردن. پوست ربات. پوست الکترونیکی در واقع الکترونیک هایی انعطاف پذیر، الاستیک و خود درمانگر هستند که می توانند توانایی های پوست انسان و حیوانات را به طور مشابه داشته باشند. بخش بزرگی از مواد معمولا دارای قابلیت های حس کردن هستند که برای ساختن توانایی های پوست انسان برای واکنش نشان دادن به عوامل محیطی مانند تغییرات دما و فشار در نظر گرفته اند. پیشرفت ها در تحقیقات پوست الکترونیکی روی طراحی کردن موادی که قابل کشیدن،محکم و انعطاف پذیر هستند، تمرکز دارد. پژوهش درباره ی زمینه های جداگانه لوازم الکترونیکی انعطاف پذیر و حس لامسه به خوبی پیشرفت کرده است. اگ
رچه طراحی پوست الکترونیکی باعث به دست امدن پیشرفت هایی در بسیاری از حوزه های پژوهش درباره مواد لازم، بدون فدا کردن سود های جداگانه در هر زمینه شده است. ترکیب موفقیت امیز امکانات مکانیکی انعطاف پذیر و قابل کشش با سنسور ها و همچنین توانایی خود درمانگری میتواند راه را برای بسیاری از برنامه های ممکن که شامل رباتیک نرم، مبحث اعضای مصنوعی، هوش مصنوعی، و نمایش سلامت باز کند. پیشرفت های اخیر در زمینه پوست الکترونیکی روی متحد کردن مصالح سبز ایده آل و هشیاری از محیط در پروسه ی طراحی متمرکز شده اند.به عنوان یکی از چالش های اصلی که تولید پوست الکترونیکی با آن مواجه است ، توانایی مصالح برای مقاومت در برابر کشش مکانیکی و دربرداشتن توانایی حس کردن یا امکانات الکترونیکی، قابلیت بازیافت شدن، و قابلیت های خود درمانگری مسایلی هستند که در طراحی اینده پوست های الکترونیکی جدید به ان انتقاد می شود. انواع و نمونه ها. نمونه های شرایط فعلی پیشرفت ها در زمینه پوست های ربات در اواسط سال 2022 عبارت است از انگشت رباتیکی پوشیده از نوعی از پوست مصنوعی انسان زنده، پوست الکترونیکی که احساسات واقعی پوست مانند لمس کردن و درد را به یک دست رباتیک
ی می دهد، سیستم پوست الکترونیکی و یک ماشین رابط انسان و ربات که می تواند درک لمسی از راه دور که قابل پوشش است ویا حواس رباتیکی از مواد خطرناک و پاتوژن ها ، و همچنین پوست ربات مبتنی بر هیدروژل با حسگر لمسی چندلایه.
جریان داده همزمان (SDF) محدودیتی در شبکه های فرایند کان است که در آن تعداد نشانه های خوانده شده و نوشته شده توسط هر فرایند از قبل مشخص می شود. در برخی از موارد، می توان فرایندها را به گونه ای برنامه ریزی کرد تا کانال های FIFO را محدود کنند. محدودیت ها. جریان داده همزمان نمی تواند فرآیندهای ناهمزمان را در نظر بگیرد زیرا نرخ خواندن/نوشتن توکن آن ها متفاوت خواهد شد. عملاً می توان شبکه را تقسیم به زیرشبکه های همگامی کرد که با پیوندهای ناهمزمان به یکدیگر متصل شده اند. یا یک ناظر زمان اجرا می تواند انصاف و سایر ویژگی های مورد نظر را اعمال کند. برنامه های کاربردی. SDFها برای مدل سازی کردن روتین های پردازش سیگنال دیجیتال (DSP) مفید است. در اصل مدل ها را می توان برای مورد هدف قرار دادن سخت افزار موازی مانند مدار مجتمع دیجیتال برنامه پذیر، پردازنده هایی که دارای مجموعه دستورالعمل های DSP هستند مانند Hexagon Qualcomm و سایر سیستم ها کامپایل کرد.
آواز فاخته (انگلیسی: Cuckoo Song) نوشته فرانسیس هاردینگ، یک رمان فانتزی کودکان یا بزرگسالان است که در ۸ مه ۲۰۱۴ توسط مک میلن در بریتانیا و توسط آبرامز آمولت در ایالات متحده منتشر شد. این رمان برنده جایزه رابرت هولدستاک ۲۰۱۵ برای بهترین رمان فانتزی شد و در فهرست نهایی مدال کارنگی ۲۰۱۵ قرار گرفت. داستان در اوایل دهه ۱۹۲۰، چند سال پس از جنگ جهانی اول اتفاق می افتد. این داستان عمدتاً در شهر خیالی-انگلیسی الچستر اتفاق می افتد. الچستر در کنار یک تپه است و پل های زیادی دارد. همچنین دارای یک عالم اموات پری به نام آندِربِلی است که توسط موجودات پری فراموش شده است. هاردینگ به ما می گوید که نام گریمر، برکه ای که تریس از آن نجات یافته است، از نام برکه ای در روستای مادربزرگش، ویکام اسکیت در سافولک گرفته شده است. شخصیت ویولت پریش بر اساس مادربزرگش است که به عنوان یک زن جوان با ورود به آن جا با موتور سیکلت روستای زادگاهش را شوکه کرد. داستان. تریس از زمان نجات از گریمر، حوضچه ای در نزدیکی کلبه تعطیلات آن ها در لوور بنتلینگ، حالش خوب نیست. حافظه اش مبهم است، او می بیند که عروسک هایش زنده می شوند. او اشتهای زیادی داشته و میل به
خوردن دارایی هایش و همچنین غذا دارد. او برگ های مرده ای را در موهایش پیدا می کند و اشک هایش تار عنکبوت هستند. خواهرش، پن، با انتقام از او متنفر است و دربارهٔ او کنجکاوی می کند. در خانه ای در الچستر، او متوجه می شود که یک بیسایدر نامه هایی از برادر مرده اش، سباستین، تحویل می گیرد که می نویسد در یک زمستان همیشگی گیر افتاده است. با گرفتن آن، او در مورد آندِربِلی که در آن بسیاری از سایرِن ها در آن زندگی می کنند، می آموزد و او فقط هفت روز فرصت دارد تا زندگی کند. تریس به دنبال پن، به جلسه ای با معمار می رود. پن اعتراف می کند که تریس را به سمت گریمر هدایت کرده تا ربوده شود. کناری ها یک عروسک چوبی حاوی تعدادی از دارایی های تریس را به گریمر انداختند که با ظاهر و برخی از خاطرات تریس تغییری ایجاد کرد. او که یادمی گیرد تریس واقعی نیست، اکنون خود را به عنوان نه-تریس معرفی می کند. آقای گریس خیاط، تریس را در معرض دید والدینش قرار می دهد و از آن ها می خواهد که او را بسوزانند. قلم او را نجات می دهد، زیرا نسبت به وضعیت نه-تریس دلسوز شده است. ویولت پریش به آن ها کمک می کند تا از دست آقای گریس و والدینش در امان باشند. دختران از
آندِربِلی دیدن می کنند تا با شریک ملاقات کنند، او توضیح می دهد که ربوده شدن تریس برای مجازات پدرش به دلیل شکستن توافق با معمار بود. نه-تریس اکنون به دنبال یافتن و نجات تریسِ واقعی از دست معمار است. او همچنین می خواهد روح سباستین را آزاد کند و زندگی خودِ نه-تریس را فراتر از طراحی هفت روزه اش طولانی کند. در نهایت نه-تریس موفق می شود با به دام انداختن یکی از وسایلش در ساعت برادرش خود را نجات دهد و سباستین را از برزخ زندگی پس از مرگ رها کند در حالی که ویولت را از نفرین زمستانی نجات می دهد. اقتباس. در دسامبر ۲۰۲۰ اعلام شد که "آوازِ فاخته" توسط سارا دلارد، فیلمنامه نویس، برای نتفلیکس اقتباس خواهد شد.
دروازه بندی (قطع و وصل کردن متناوب) ساعت یک تکنیک رایج است که در خیلی از مدارهای همگام برای کاهش هدر رفتن توان دینامیکی، با حذف کردن سیگنال ساعت زمانی که مدار در حال استفاده نیست یا سیگنال ساعت را نادیده می گیرد، استفاده می شود. دروازه بندی(قطع و وصل کردن) ساعت با هرس کردن درخت ساعت ، با افزودن منطق های بیشتر به مدار ساخته شده در مصرف انرژی صرفه جویی می کند. هرس ساعت بخش هایی از مدرا را غیر فعال میکند تا فلیپ فلاپ های موجود در آنها دیگر نیازی به تغییر حالت ندارند. تغییر دادن حالت ها انرژی استفاده می کند. زمانی که فلیپ فلاچ ها در حال تغییر نیستند، مصرف انرژی مقیاس بندی به صفر می رسد و فقط منجر به جریان های نشتی می شود. اگرچه مدارهای ناهمگام طبق تعریفشان "ساعت" جهانی ندارند، اما اصطلاح دروازه بندی ساعت کامل را استفاده میکنند تا نشان دهند تکنیک های مختلف دروازه بندی و قطع و وصلی ساعت تنها تقریبی از رفتار وابسته به داده نشان داده شده توسط مدارهای ناهمگام هستند . زمانی که میزانه ای که در آن کسی ساعت یک مدار همگام را دروازه می کند به صفر نزدیک می شود، مصرف برق آن مدار به مدار ناهمگام نزدیک می شود: مدار انتقال منطق
ها را تنها زمانی که به طور فعال در حال محاسبه است، تولید می کند. جزئیات. یک راه حل جایگزین برای دروازه بندی ساعت استفاده از منطق فعال سازی ساعت (CE) در مسیر داده همگام سازی شده است که از مالتی پلکسر ورودی استفاده میکند، به طور مثال، برای فلیپ فلاپ نوع دی با استفاده از نماد گذاری زبان C/ Verilog به صورت Dff= CE? D: Q ؛ که در آن : Dff ورودی D از فلیپ فلاپ نوع D است و D مقیاس اطلاعات ورودی است (بدون ورودی CE) Q، نیز خروجی فلیپ فلاپ نوع D است. این نوع از دروازه بندی ساعت بدون شرایط مسابقه است و برای طراحی های FPGA و برای دروازه بندی ساعی مدار های کوچک ترجیح داده میشود. برای طراحی های FPGA فلیپ فلاچ های نوع D یک ورودی سیگنال CE اضافه دارد. دروازه بندی ساعت با استفاده کردن حالت های متوصل به ثبات ها کار میکند و انها را برای دروازه بندی کردن ساعت استفاده میکند. یک طراحی باید از این شرایط فعال سازی برخوردار باشد تا تواند از دروازه بندی ساعت بهره مند شود. این فرایند دروازه بندی ساعت میزان زیادی از انرژی و سطح استفاده شده را کم میکند .زیرا تعداد زیادی از تسهیم کننده ها را حذف کرده و با منطق دروازه بندی ساعت جایگزین میکن
د . این منطق دروازه بندی ساعت عموما به صورت سلول های «دروازه ساعت یکپارچه»(ICG) است. هرچند منطق دروازه بندی ساعت درخت ساختار ساعت را تغییر میدهد از آنجایی که منطق دروازه بندی ساعت در درخت ساعت پیاده سازی میشود. میتوان برای اضافه کردن منطق دروازه بندی ساعت در طراحی از روش های متفاوت استفاده کرد: هرگونه تغییر RTL برای بهبود بخشیدن به دروازه بندی ساعت باعث تغییرات عملی در طرح میشود ( زیرا ثبات مقدار های متفاوتی نگه میدارد) که نیاز به تایید دارد. دروازه بندی ساعت متوالی فرآیند استخراج/انتشار شرایط فعال به عناصر متوالی بالادستی/پایین دستی است، به گونه ای که ثبات های اضافی را می توان دروازه بندی ساعتی کرد. تراشه هایی که برای کار کردن با باتری طراحی شدند یا به برق بسیار کمی نیاز دارند مانند تراشه هایی که بر روی وگوشی های موبایل ، دستگاه های پوشیدنی و غیره استفاده شده اند، انواع مختلفی از دروازه بندی ساعت ر در کنار هم پیاده سازی میکنند. در یک انتها دروازه بندی ساعت به صورت دستی با استفاده از نرم افزار است، که درایور در آنجا ساعت های متفاوت را با یک کنترل کننده بیکار قعال یا غیر فعال میکند. در انتهای دیگر دروازه بندی
ساعت خودکار است، در آنجا میتوان به سخت افزار گفت ایا کاری برای انجام دادن دارد یا خیر، و ساعتی که نیازی به آن نداریم را خاموش میکند. این حالت ها میتوانند با یکدیگر در تعامل باشند و بخشی از یک درخت فعال سازی باشند. به طور مثال، یک پل یا گذرگاه بین المللی شاید از دروازه بندی خودکار استفاده کند که تا زمانی که واحد پردازنده مرکزی یا یک موتور DMA نیاز به استفاده از آن دارد روشن شود و قبل از آن خاموش باشد، در حالی که تعدادی از دستگاه های جانبی آن گذرگاه در صورت بلا استفاده بودن به طور دائم در آن صفحه خاموش باشند.
فرانسیس هاردینگ (انگلیسی: Frances Hardinge؛ متولد ۱۹۷۳) نویسنده بریتانیایی کودکان است. اولین رمان او، «"پرواز در شب"»، در سال ۲۰۰۶ برنده جایزه شد و به عنوان یکی از بهترین کتاب های مجله کتابخانه مدرسه فهرست شد. رمان «"درختِ دروغ"» او در سال ۲۰۱۵ برنده جایزه کتاب کاستا در سال ۲۰۱۵ شد، این اولین کتاب کودکی بود که پس از «"جاسوس کهربایی"» فیلیپ پولمن در سال ۲۰۰۱ برنده شد. او همچنین برای رمان هایش و همچنین برخی از داستان های کوتاهش در فهرست نهایی قرار گرفته و جوایز دیگری نیز دریافت کرده است. زندگی نامه. هاردینگ در برایتون انگلستان متولد شد و در چهار سالگی آرزوی نوشتن داشت. او در کالج سامرویل، دانشگاه آکسفورد زبان انگلیسی خواند و بنیان گذار کارگاه نویسندگان در آن جا بود. حرفه نویسندگی او پس از برنده شدن در مسابقه مجله داستان کوتاه آغاز شد. مدت کوتاهی پس از برنده شدن، او "پرواز در شب" را در اوقات فراغت خود نوشت و پس از اصرارِ یکی از دوستان، آن را به ناشران مک میلن نشان داد. هاردینگ اغلب با کلاه سیاه دیده می شود و از پوشیدن لباس های قدیمی لذت می برد.
لارینه (به لاتین: Laryne) یک منطقهٔ مسکونی در اوکراین است که در شبه جزیره کریمه واقع شده است. لارینه ۲۹۲ نفر جمعیت دارد و ۲۸ متر بالاتر از سطح دریا واقع شده است.
خانجال قلعه (به لاتین: Khanzhalkala) یک منطقهٔ مسکونی در روسیه است که در شهرستان محرم کند واقع شده است. خانجال قلعه ۰ نفر جمعیت دارد.