We horen nogal wat over instructiesets, waarbij de x86-instructieset een van de meest voorkomende is die er zijn; er zijn echter veel meer instructiesets dan alleen x86. In feite zijn er veel fabrikantspecifieke instructiesets, zoals Intel's SSE3-instructieset. We gaan SSE3 specifiek in dit overzicht bekijken, dus volg hieronder om er alles over te weten te komen.
Wat is een instructieset?
Om SSE3 te begrijpen, is het belangrijk om te begrijpen wat een instructieset is en wat het doet. Een instructieset, waarnaar vaak wordt verwezen als Instruction Set Architecture (ISA), is in wezen machinetaal - een computerprogrammeertaal waarop de computer direct kan reageren (bijv. Binaire of hexadecimale instructie). Dat gezegd hebbende, een instructieset biedt in principe instructies of commando's voor de processor. Deze commando's vertellen de processor in principe om naar specifieke transistors over te schakelen. De instructies kunnen zo eenvoudig zijn als lees-, schrijf- en verplaatsopdrachten , maar het wordt veel technischer dan dat, omdat het een kernonderdeel is van computerarchitectuur, helpt bij het verwerken van gegevenstypen, geheugenarchitectuur, registers, exception handling, externe I / O en zoveel meer.
Wat doet de SSE3-instructieset?
Wat doet SSE3 dus specifiek? SSE3 staat voor Streaming SIMD Extensions 3, waarbij de “3” aangeeft dat dit de derde generatie of iteratie is van de Steaming SIMD Extensions (SSE) instructieset.
Op oudere processors kon slechts één gegevenselement per instructie worden verwerkt. Maar met de introductie van SSE kunnen met deze instructieset meerdere gegevenselementen worden verwerkt en beheerd, waardoor de verwerking in bepaalde toepassingen een stuk sneller verloopt. In de eerste plaats treedt SSE echt in werking als het gaat om intensievere toepassingen, vooral waar 3D-graphics nodig zijn. Een goed voorbeeld zou zijn in videogames, videobewerkingsprogramma's, 3D-modelleringssoftware en tal van andere toepassingen.
De derde generatie - SSE3 - brengt een grote verandering met zich mee: de mogelijkheid om horizontaal in een processorregister te werken. In het verleden waren we alleen in staat tot verticale bewerkingen. Met de introductie van deze mogelijkheid kunnen we via Digital Signal Processing (DSP) en 3D-bewerkingen in een veel sneller tempo verwerken.
SSE3 brengt nog een nette verandering - een nieuwe instructie om getallen met drijvende komma te converteren naar gehele getallen zonder de globale afrondingsmodus te hoeven verpesten. Door dit proces efficiënter te maken met SSE3, is de instructiepijplijn een stuk minder verstopt en vermijdt zo een pijplijnstop, wat een vertraging is in het verwerken van instructies om een gevaar te voorkomen.
Hoe zit het met SSE4?
SSE4 is de vierde iteratie van de instructieset Streaming SIMD Extensions. Deze instructieset bevat 54 instructies, hoewel er een subset - SSE4.1 genaamd - beschikbaar is die 47 instructies bevat, maar u vindt deze subset alleen in Penryn. Een vergelijkbare subset - SSE4.2 - met de resterende 7 instructies is te vinden in de Nehalem-gebaseerde Core i7-processor.
Zoals we al weten, zijn SSE3 (en eerdere versies) speciale instructies voor op multimedia gebaseerde applicaties. Je kunt SSE4 als een nieuwe en verbeterde versie daarvan beschouwen, in wezen zelfs verder geoptimaliseerde programmering waarmee taken veel sneller kunnen worden uitgevoerd.
Sluitend
Door dit artikel te volgen, hoopten we dat we u konden helpen bij het begrijpen van enkele van de meer technische aspecten van de SSE3- en SSE4-instructiesets. Heeft u vragen? Neem zeker deel aan ons in de commentarensectie hieronder of op de PCMech-forums!