در حالی که مرورگرهای امروزی به کمک جاوا اسکریپت و WebAssembly میتوانند برنامههای بسیار پیچیدهای را اجرا کنند، یک برنامهنویس پروژهای عجیبتر را به نمایش گذاشته است. این برنامهنویس موفق به شبیهسازی نرمافزاری یک پردازنده مبتنی بر معماری x86 تنها با استفاده از کُد CSS شده است.
Lyra Rebane خالق پروژهای به نام x86CSS است که تلاش دارد یک پردازنده 8086 را تقریباً به طور کامل با کُدهای CSS و تحت مروگر شبیهسازی کند. در این پروژه یک برنامه نوشته شده به زبان C با استفاده از کامپایلر GCC به زبان ماشین 8086 کامپایل میشود. در مرحله بعد که اصل ماجرا است، کارکرد منطقی پردازنده از طریق قواعد و قابلیتهای پیشرفته CSS پیادهسازی و اجرا میشود.
شبیهسازی عملکرد پردازنده x86 با کُد CSS
مسئله اینجاست که CSS به طور کلاسیک برای طراحی و چیدمان صفحات وب استفاده میشود و برای انجام کارهای پیچیدهای همچون شبیهسازی یک پردازنده طراحی نشده است. با این حال اضافه شدن قابلیتهای جدیدی مانند پشتیبانی از دستور if، کوئریهای استایل و توابع سفارشی باعث شدهاند بتوان به کارکردی نزدیک به یک زبان برنامهنویسی عمومی دست یافت که البته قطعاً کار آسانی نیست.
.jpg)
در نظر داشته باشید که این امکانات جدید CSS فعلاً تنها در مرورگرهای مبتنی بر Chromium مانند گوگل کروم در دسترس هستند و پروژه x86CSS در مرورگرهایی مثل Firefox اجرا نمیشود.
این شبیهساز مجموعه دستورالعمل 16 بیتی اصلی پردازنده Intel 8086 را پیادهسازی میکند. البته با هدف افزایش سرعت آن، برخی دستورها و قابلیتها حذف شدهاند. جالبتر اینکه از نظر فنی امکان اجرای فایلهای باینری ثالث روی این شبیهساز پردازنده نیز وجود دارد، اما مطمئناً پیچیدگیهای خاص خود را دارد.
شاید جالب باشد که بدانید توسعهدهنده این پروژه تاکید کرده در ساخت این شبیهساز از مدلهای زبانی بزرگ یا ابزارهای هوش مصنوعی کمک نگرفته است. به گفته او چنین پروژه نامتعارف و خلاقانهای را نمیتوان با یک مدل زبانی بزرگ ساخت.
هرچند شبیه سازی پردازنده با CSS کاربرد عملی خاصی ندارد و سرعت آن بسیار پایین است، اما از منظر فنی یک نمایش خلاقانه از انعطافپذیری فناوریهای جدید وب است و میتوان الهام بخش پروژههای بیشتری باشد.













نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت