<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SSE3</id>
	<title>SSE3 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SSE3"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SSE3&amp;action=history"/>
	<updated>2026-07-16T13:55:09Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=SSE3&amp;diff=170389&amp;oldid=prev</id>
		<title>imported&gt;CaryCheng：​使用DisamAssist清理消歧義連結：聖地牙哥（連結已移除; 連結已移除）。</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SSE3&amp;diff=170389&amp;oldid=prev"/>
		<updated>2023-04-22T13:47:29Z</updated>

		<summary type="html">&lt;p&gt;使用&lt;a href=&quot;/index.php?title=User:%E6%9A%81%E6%9C%88%E5%87%9B%E5%A5%88/DisamAssist&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:暁月凛奈/DisamAssist（页面不存在）&quot;&gt;DisamAssist&lt;/a&gt;清理&lt;a href=&quot;https://en.wikipedia.org/wiki/%E6%B6%88%E6%AD%A7%E7%BE%A9&quot; class=&quot;extiw&quot; title=&quot;wikipedia:消歧義&quot;&gt;消歧義&lt;/a&gt;連結：&lt;a href=&quot;/wiki/%E8%81%96%E5%9C%B0%E7%89%99%E5%93%A5&quot; title=&quot;聖地牙哥&quot;&gt;聖地牙哥&lt;/a&gt;（連結已移除; 連結已移除）。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA|G1=IT}}&lt;br /&gt;
[[File:PD-20060908-SSE3-01.svg|right|thumb|200px|&amp;#039;&amp;#039;&amp;#039;SSE3&amp;#039;&amp;#039;&amp;#039;與其他[[x86]]架構所用的多媒體指令集，在指令數目上的比較圖]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SSE3&amp;#039;&amp;#039;&amp;#039;（Streaming SIMD Extensions 3），又稱&amp;#039;&amp;#039;&amp;#039;PNI&amp;#039;&amp;#039;&amp;#039;（Prescott New Instructions）&amp;lt;ref&amp;gt;Prescott是Intel公司產品Pentium 4處理器的專案代稱，也稱為研發代號。&amp;lt;/ref&amp;gt;，它指的是：在原有架構的[[處理器]]中，所第三次額外新增、添加的[[多媒體]][[指令集]]，之前的兩次分別是[[SSE]]、[[SSE2]]。&lt;br /&gt;
&lt;br /&gt;
SSE3是[[Intel|Intel公司]]所其原有[[IA-32]]架構的處理器所研創，並在2004年初的新款[[Pentium 4]]（P4E,Prescott核心）處理器&amp;lt;ref&amp;gt;研發代號：Prescott。Prescott是地名也是人名，[[美國]]、[[英國]]、[[加拿大]]皆有地方取名為Prescott，另有許多人的姓氏也為Prescott，如William Prescott（[[美國革命]]指揮官）、Richard Prescott（美國革命時期的英國將軍，曾兩度被擒）&amp;lt;/ref&amp;gt;中使用，之後2005年4月[[AMD|AMD公司]]也發表具備部分SSE3功效的處理器：[[Athlon 64]]（E3步進核心）&amp;lt;ref&amp;gt;研發代號：[[威尼斯]]（Venice）與聖地牙哥（San Diego）&amp;lt;/ref&amp;gt;，此後的x86處理器也幾乎都具備SSE3的新指令集功能。&lt;br /&gt;
&lt;br /&gt;
此外，在SSE3提出之前，x86架構的處理器先後已有多種多媒體指令集被提創與使用，先後順序大致是Intel [[MMX]]、AMD [[3DNow!]]&amp;lt;ref&amp;gt;此外也有[[Cyrix]]公司提出的[[EMMI]]多媒體指令，不過僅短暫提出，之後並未普及使用。&amp;lt;/ref&amp;gt;、Intel [[SSE]]、Intel [[SSE2]]等。&lt;br /&gt;
&lt;br /&gt;
附帶一提的是，SSE3比在它之前的[[SSE2]]增加13條新指令。&lt;br /&gt;
&lt;br /&gt;
== 新指令所帶來的改變 ==&lt;br /&gt;
SSE3最值得一提的新功效特點，是水平式的暫存器整數運算，而在此之前的[[SSE]]、[[SSE2]]則僅能垂直運算。更進一步的特點是，指令執行時對多筆數值的同時加法運算、減法運算等，之後將結果進行儲存等，都可以在單一個暫存器完成，因此SSE3可以用更簡單的方式來實現同時間的多筆、大量[[数字信号处理|DSP]]、[[三维计算机图形|3D]]性質的運算。&lt;br /&gt;
&lt;br /&gt;
此外，有個新指令可將浮點數數值轉換成整數數值，且進行此種轉換不需要將運算切換到rounding模式，過去此類轉換必須先切換至rounding模式，完成轉換後再退出rounding模式，此新指令可省去此模式切換程式，使整體運算更為加速，也因此可避免鄰近[[執行管線]]（Instruction pipeline）因此而停緩、等待（模式切換會使後續執行暫停，進而減損運算效能）。&lt;br /&gt;
&lt;br /&gt;
另外，新增設的LDDQU指令能夠在交替載入長度不一的整數向量值時獲得更佳的效能，此指令可以讓Intel [[NetBurst]]架構的執行核心跨越[[快取]]線的界線而進行數值載入。&lt;br /&gt;
&lt;br /&gt;
== 具備SSE3硬體支援功效的處理器 ==&lt;br /&gt;
&lt;br /&gt;
以下表列依據業者英文名稱的字母順序：&lt;br /&gt;
&lt;br /&gt;
*[[AMD]]公司：&lt;br /&gt;
**[[Athlon 64]] - 從Stepping E3的Venice（[[威尼斯]]，研發代號）以及Stepping E4的San Diego（聖地牙哥，研發代號）開始具備。&lt;br /&gt;
**[[Athlon 64 X2]]&lt;br /&gt;
**[[Athlon 64|Athlon 64 FX]] - 從Stepping E4的San Diego（聖地牙哥，研發代號）開始具備。&lt;br /&gt;
**[[Opteron]] - 從Stepping E4的San Diego（聖地牙哥，研發代號）開始具備。&lt;br /&gt;
**[[Sempron]] - 從Stepping E3的Palermo（研發代號）開始具備。&lt;br /&gt;
**[[Turion 64]]&lt;br /&gt;
**[[Turion 64 X2]]&lt;br /&gt;
**[[Phenom]]&lt;br /&gt;
**[[Phenom II]]&lt;br /&gt;
*[[Intel]]公司：&lt;br /&gt;
**[[Celeron D]]&lt;br /&gt;
**[[Pentium 4]] - 從Prescott（研發代號）開始具備。&lt;br /&gt;
**[[Pentium D]]&lt;br /&gt;
**[[Intel Core]]&lt;br /&gt;
**[[Intel Core 2]]&lt;br /&gt;
**[[Intel Core i7]]&lt;br /&gt;
**[[Xeon]] - 從Nocona（研發代號）開始具備。&lt;br /&gt;
*[[全美達|全美達公司]]（Transmeta）：&lt;br /&gt;
**Efficeon TM88xx（不包含型款編號為TM86xx系列的[[處理器]]）&lt;br /&gt;
*[[威盛電子]]（VIA）&amp;lt;ref&amp;gt;研發團隊收併自[[美國]][[Integrated Device Technology|IDT]]公司所100%轉投資的[[Centaur公司]]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
**[[VIA Isaiah]]&lt;br /&gt;
**[[C7-M]]&lt;br /&gt;
**[[C7-D]]&lt;br /&gt;
&lt;br /&gt;
== 新增的指令 ==&lt;br /&gt;
=== 共通性的指令 ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;算術指令（Arithmetic）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* ADDSUBPD - &amp;#039;&amp;#039;（Add-Subtract-Packed-Double）&amp;#039;&amp;#039;&lt;br /&gt;
** 輸入： - { A0, A1 }, { B0, B1 }&lt;br /&gt;
** 輸出： - { A0 - B0, A1 + B1 }&lt;br /&gt;
&lt;br /&gt;
* ADDSUBPS - &amp;#039;&amp;#039;（Add-Subtract-Packed-Single）&amp;#039;&amp;#039;&lt;br /&gt;
** 輸入： { A0, A1, A2, A3 }, { B0, B1, B2, B3 }&lt;br /&gt;
** 輸出： { A0 - B0, A1 + B1, A2 - B2, A3 + B3 }&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;陣列結構指令（Array Of Structures；AOS）&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* HADDPD - &amp;#039;&amp;#039;（Horizontal-Add-Packed-Double）&amp;#039;&amp;#039;&lt;br /&gt;
** 輸入： { A0, A1 }, { B0, B1 }&lt;br /&gt;
** 輸出： { B0 + B1, A0 + A1 }&lt;br /&gt;
&lt;br /&gt;
* HADDPS &amp;#039;&amp;#039;（Horizontal-Add-Packed-Single）&amp;#039;&amp;#039;&lt;br /&gt;
** 輸入： { A0, A1, A2, A3 }, { B0, B1, B2, B3 }&lt;br /&gt;
** 輸出： { B0 + B1, B2 + B3, A0 + A1, A2 + A3 }&lt;br /&gt;
&lt;br /&gt;
* HSUBPD - &amp;#039;&amp;#039;（Horizontal-Subtract-Packed-Double）&amp;#039;&amp;#039;&lt;br /&gt;
** 輸入： { A0, A1 }, { B0, B1 }&lt;br /&gt;
** 輸出： { A0 - A1, B0 - B1 }&lt;br /&gt;
&lt;br /&gt;
* HSUBPS - &amp;#039;&amp;#039;（Horizontal-Subtract-Packed-Single）&amp;#039;&amp;#039;&lt;br /&gt;
** 輸入： { A0, A1, A2, A3 }, { B0, B1, B2, B3 }&lt;br /&gt;
** 輸出： { A0 - A1, A2 - A3, B0 - B1, B2 - B3 }&lt;br /&gt;
&lt;br /&gt;
* LDDQU - 如上所述，這是有交替需求時所用的指令，可以載入（load）不整齊排列的整數向量值，此指令對視訊壓縮的運算工作有幫助。&lt;br /&gt;
&lt;br /&gt;
* MOVDDUP、MOVSHDUP、MOVSLDUP - 此三個指令是針對複雜數目需求時所用，對波形信號的運算有幫助，例如音訊的聲波波形處理。&lt;br /&gt;
&lt;br /&gt;
* FISTTP - 類似過去x87浮點運算中的FISTP指令，不過此指令的運算執行或忽略掉浮點控制暫存器的rounding（溢繞）模式的設定，並且用“chop”（truncate，截切）模式&amp;lt;ref&amp;gt;所謂rounding模式是暫存器的內存值溢位時，溢位會使內存值歸零再進行持續遞增，舉例而言，一個8-bit的[[暫存器]]，當其值為255時，若再加2即會變成1，就二進制來看即是11111111 + 00000010 = 00000001。而所謂chop模式是即便溢位也不歸零，而持續維持在最高數值，此也稱為飽和運算，即是不讓其溢位歸零情事發生，同樣的例子，在chop模式下依舊會維持255，即是11111111 + 00000010 = 11111111。&lt;br /&gt;
當然，截切、飽和忽略了更多的累加值，這在多媒體運算時有其需要，當音調254階再增個2階、3階，若因為溢位歸零而成為0階、1階，就會與255階相去甚遠，相對的254階若因飽和運算的效果最多會維持在255階，255階與254階仍是相近，多媒體運算力求快速即時而不力求精確，因此些許的運算數字結果偏差仍可接受。&lt;br /&gt;
&amp;lt;/ref&amp;gt;取代。允許控制暫存器忽略繁重的載入及再載入，例如[[C語言]]中將浮點數轉換成整數就需要使用此種截切效果，且此種截切程序已成為C語言中的標準作法。&lt;br /&gt;
&lt;br /&gt;
=== Intel針對SSE3所額外設計的自用指令 ===&lt;br /&gt;
* MONITOR、MWAIT - 此二個指令能針對多執行緒的應用程式進行執行最佳化，使處理器原有的[[超執行緒]]功效獲得更佳的發揮。&lt;br /&gt;
&lt;br /&gt;
== 附註說明 ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 參考引據 ==&lt;br /&gt;
* [https://web.archive.org/web/20060531094837/http://www.xbitlabs.com/articles/cpu/display/prescott_10.html X-bit Labs網站：SSE3指令集]（2004年2月1日）{{en}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 關連條目 ==&lt;br /&gt;
* [[SIMD]] - SSE3指令集的特性原理基礎。&lt;br /&gt;
* [[SSE]]&lt;br /&gt;
* [[计算机编码]]&lt;br /&gt;
* [[SSSE3]] - SSE3指令集的擴充&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
*[http://www.intel.com/cd/ids/developer/asmo-na/eng/66717.htm Intel官方網站對SSE3的總覽說明]{{Wayback|url=http://www.intel.com/cd/ids/developer/asmo-na/eng/66717.htm |date=20060517051910 }} {{en}}&lt;br /&gt;
&lt;br /&gt;
{{多媒體指令集}}&lt;br /&gt;
&lt;br /&gt;
[[Category:并发计算]]&lt;br /&gt;
[[Category:X86架構]]&lt;br /&gt;
[[Category:X86指令]]&lt;/div&gt;</summary>
		<author><name>imported&gt;CaryCheng</name></author>
	</entry>
</feed>