اس‌اس‌اس‌ئی۳

اس‌اس‌اس‌ئی۳  جریان افزایشی یک دستورالعمل اس‌ای‌ام‌دی (SIMD) است که به وسیله اینتل ساخته شده و چهارمین نسخه از تکنولوژی اس‌اس‌ئی (SSE) بشمار می‌رود.

 تاریخچه 
اس‌اس‌اس‌ئی۳ ابتدا با پردازنده‌های اینتل بر اساس معماری چند هسته ای در تاریخ ۲۶ ژوئن ۲۰۰۶ با "Xeons "Woodcrest معرفی شد.

اس‌اس‌اس‌ئی۳ توسط اولین طراحی‌های ریزپردازنده‌ای که قصد به‌کارگیری آن را داشتند با اسم Tejas New Instructions یا Merom New Instructions معرفی می‌شد.

 عملکرد 
اس‌اس‌اس‌ئی۳ حاوی ۱۶ دستورالعمل جدید مجزا است.

هر دستورالعمل می‌تواند روی رجیسترهای ۶۴ بیت MMX یا ۱۲۸ بیت XMM کار کند؛ بنابراین، مطالب اینتل به ۳۲ دستورالعمل جدید اشاره می‌کنند.

با توجه به اینتل:

اس‌اس‌اس‌ئی۳ ۳۲ دستورالعمل (به وسیله ۱۴ امیونیک نشان داده می‌شود) برای سرعت بخشیدن به محاسبات بر روی اعداد صحیح بسته‌بندی شده ارائه می‌دهد. اینها عبارتند از:
 دوازده دستورالعمل که عمل‌های اضافه یا تفریق افقی را انجام می‌دهند.
 شش دستورالعمل که قدر مطلق را ارزیابی می‌کنند
 دو دستورالعمل که عملیات ضرب و جمع را انجام می‌دهد و سرعت محاسبه ضرب داخلی را افزایش می‌دهد.
 دو دستورالعمل که عملیات ضرب عدد صحیح بسته‌بندی را افزایش داده و مقادیر عدد صحیح را با مقیاس بندی تولید می‌کنند.
 دو دستورالعمل که با توجه به عملگر کنترل دوم shuffle، بیت معیوب، تغییر مکان را انجام می‌دهند.
 شش دستورالعمل که عدد صحیح بسته‌بندی شده در انتهای مقصد را نادیده بگیرد اگر نشانه‌های عنصر متناظر در مبدأ منبع کمتر از صفر باشد.
 دو دستورالعمل که داده‌ها را از کامپوزیت از دو operands تراز می‌کند.

 پردازنده‌های اس‌اس‌اس‌ئی۳ 
 AMD:
 پردازنده‌های کم قدرت «گربه»
 پردازنده‌های مبتنی بر Bobcat
 پردازنده‌های مبتنی بر Jaguar و جدیدتر
 پردازنده‌های مبتنی بر Puma و جدیدتر
 پردازنده «تجهیزات سنگین»
 پردازنده‌های مبتنی بر بولدوزر
 پردازنده‌های مبتنی بر Piledriver
 پردازنده‌های مبتنی بر Steamroller
 پردازنده‌های مبتنی بر Excavator و جدیدتر
 پردازنده‌های مبتنی بر Zen
 پردازنده‌های مبتنی بر Zen+
 اینتل:
 سری Xeon 5100
 سری Xeon 5300
 سری Xeon 5400
 Xeon 3000 Series
 Core 2 Duo
 Core 2 Extreme
 Core 2 Quad
 Core i7
 Core i5
 Core i3
 Pentium Dual Core (اگر قابلیت ۶۴ بیتی باشد؛ آلندیل به بعد)
 Celeron 4xx Sequence Conroe-L
 Celeron Dual Core E1200
 Celeron M 500 series
 Atom
 VIA:↵
 Nano

 دستورالعمل‌های جدید 
در جدول زیر، satsw (X) (به عنوان "اشباع به کلمه علامت دار" خوانده شود) عدد صحیح علامت دار X را می‌گیرد و اگر کمتر از -۳۲۷۶۸ باشد آن را به -۳۲۷۶۸ تبدیل می‌کند، اگر بزرگتر از ۳۲۷۶۷ باشد آن را به ۳۲۷۶۷ تبدیل می‌کند، و در غیر این صورت آن را بدون تغییر رها می‌کند. در معماری معمول اینتل، بایت‌ها ۸ بیتی هستند، کلمه‌ها ۱۶ بیت و dwordها ۳۲ بیت هستند؛ 'رجیستر' به یک رجیستر وکتور MMX یا XMM اشاره می‌کند.
 PSIGNB, PSIGNW, PSIGND بسته‌بندی شده علامت دار اگر عناصر ثبت نام از بایت‌ها، کلمات یا کلمات کلیدی را از علامت عناصر مربوط به یک ثبت نام دیگر منفی بدست نیاورید، PABSB, PABSW, PABSD قدر مطلق بسته‌بندی شده عنصرهای یک رجیستر از نوع بایت‌ها، wordها یا dwordها را با قدر مطلق مقدار عنصرهای رجیستر دیگر پر می‌کند. PALIGNR بسته‌بندی شده درست کردن دو رجیستر را برمی‌دارد، مقادیر خود را به هم مرتبط کنید و یک بخش register-length را از یک عدد که توسط مقدار فوری کدگذاری شده در دستورالعمل داده شده‌است بیرون بکشید. PSHUFB بیت‌های مختلط بسته‌بندی شده دو رجیستر بایتی A=[a1,a2,a3,..]
و B = [b0 b1 b2 ...]

را می‌گیرد و A را با [a b0 a b1 a b2 ...] جایگزین می‌کند. بجز اینکه آن را جایگزین i امین ورودی با ۰ اگر بالاترین بیت از b i مشخص شده‌است. PMULHRSW بسته‌بندی شده با ضخامت زیاد و دور و مقیاس کلمات ۱۶ بیتی در رجیستری A و B به صورت ۱۶ بیتی ثابت نقطه ای بین -۱٫۰۰۰۰۰۰۰۰ و +۰٫۹۹۹۹۶۹۴۸ … (به عنوان مثال 0x4000 به عنوان +۰٫۵ و 0xA000 به عنوان -۰٫۷۵ رفتار می‌شود)، و آنها را با درست کردن گرد کردن PMADDUBSW ضرب و اضافه کردن بات‌های امضا نشده و غیرمجاز بایت‌ها را در رجیسترهای A و B می‌گیرد، آنها را در هم ضرت می‌کند، جفت‌ها را اضافه می‌کند، علامت را بررسی می‌کند و ذخیره می‌کند. یعنی[a0 a1 a2 ...] pmaddubsw[b0 b1 b2 ...] =
[satsw (a0b0 + a1b1) satsw (a2b2 + a3b3) ...] PHSUBW, PHSUBD تقسیم افقی افقی (کلمات یا دوبله) رجیسترهای A = [a0 a1 a2 ...]
و B = [b0 b1 b2 ...] را می‌گیرد و خروجی [a0-a1 a2-a3 ... b0-b1 b2-b3 ...] PHSUBSW بسته‌بندی افقی تفریق و اشباع کلمات مانند PHSUBW، اما خروجی
[satsw (a0-a1) satsw (a2-a3) ... satsw (b0-b1) satsw (b2-b3) ...] PHADDW, PHADDD بسته‌بندی افقی اضافه (واژه‌ها یا دو کلمه) رجیسترهای A= [A0 a1 a2 ...] و
B = [b0 b1 b2 ...] را می‌گیرد و خروجی‌ها [a0 + a1 a2 + a3 ... b0 + b1 b2 + b3 ...] PHADDSW بسته‌بندی افقی اضافه کردن و اشباع کلمات مانند PHADDW، اما خروجی
[satsw (a0 + a1) satsw (a2 + a3) ... satsw (b0 + b1) satsw (b2 + b3) ...]

 جستارهای وابسته 
 SIMD
 SSE3
 هسته ۲ اینتل
 Tejas و Jayhawk
 لیست دستورات x86

 منابع 

 پیوند به بیرون 
 مشخصات Core 2 Mobile
 این مقاله سفیدپوش Intel اعلام کرد که وجود SSSE3 و SSE4 توصیف شده‌است
 اسناد مجموعه دستورالعمل لیست توابع دستورالعمل SSSE3

رده:دستورالعمل‌های اکس۸۶
رده:رایانش یک دستور چند داده
رده:صفحات با ترجمه بازبینی‌نشده
رده:ویکی‌سازی رباتیک