NOP

NOP(ノップ)あるいは NOOP(ノープ)とは no operation (何もしない)を意味する。プログラミングやネットワーク通信と言ったコンピュータ関連の技術用語として使用される。

機械語

機械語において NOP は多くの命令セットで用意されている命令である。プロセッサはこの命令を読みとると文字通り「何もせず」[注釈 1]プログラムカウンタインクリメントのみを行う 。それ自身では何の意味も持たない命令ではあるが、

  • 外部機器や他のプログラムとの同期のタイミングを取るための時間稼ぎ
  • ジャンプ命令のジャンプ先の指標
  • 後で命令を追加する予定の場所にダミーとして置く
    • たとえば遅延スロットにとりあえず置く、あるいは置ける命令がない時に置く
    • VLIWなどのようなアーキテクチャでは、より積極的にNOPが必要である
  • NOPスレッドによる命令ポインタの制御
  • ワンチップマイコンPROMでは、0x00か0xffのどちらか「上書き可能なほう」で潰すと NOP になるようにしておくと、再利用に便利

などの用途で使用される。

規則的に命令を決めた結果、何の意味も持たない命令(同一レジスタでの移動、次の番地へのジャンプ)が出来たのでそれをNOPとすることもあれば、専用の命令として用意されることもある。

歴史

1950年代のEDSACにおいて既に、NOP に相当する命令は設計者らには認識されていた(コード 'X' であるが、何もしないという命令は命令でないと考えたためか命令一覧では省かれていることがあり、文字コード一覧に命令も添えてある表のほうで確認できる(EDSACでは文字コードオペコードを一致させていた))。

TMS9900は規則的なパターンのためにできた無意味となる場合をNOPとした例である。

x86では、命令の並びからは XCHG AX, AX に当たる部分がNOPであり、8086に始まる16ビット時代には内部的にはそのまま動作していたものもあったと思われる。しかし80386以降の後にIA-32と呼ばれるような高性能プロセッサになってくると、「AXレジスタを操作する」という意味には並列化の邪魔になるなど弊害が現れるため、AXの参照を伴わない真にNOPであるという解釈が明確化された。さらにAMD64では、32ビットと64ビットの調整のために作られた「暗黙のゼロ拡張」という仕様により、64ビットレジスタRAXに対し、32ビット操作で XCHG EAX, EAX に相当する動作をした場合は、64ビットのうち上位32ビットがリセットされなければならないため、特別扱いであるNOPだと再定義された。

幾つかの例

幾つかのCPUについて機械語コードを示す。英語版には更に多くの例がある。

CPU名 NOPの機械語コード(16進数)
Z80 00H[1]
6800 $01[2]
6502 $EA[3]
IA-64 IA-32
90H                        
66 90H                     
0F 1F 00H                  
0F 1F 40 00H               
0F 1F 44 00 00H            
66 0F 1F 44 00 00H         
0F 1F 80 00 00 00 00H      
0F 1F 84 00 00 00 00 00H   
66 0F 1F 84 00 00 00 00 00H

[4]

V850 0x0000[5]
AVR 0x0000[6]
MIPS 0x0000 0000[7]

高水準言語

NOPという表現はしばしば、何も起こさないような関数やコードを指して使われることがある (この場合冗長コードと呼ばれることもある)。コンパイラ最適化では、このようなコードを検出し、削除する(オブジェクトサイズの削減といった直接的な効果があり、コードキャッシュが無駄に使われるのを回避するという副次的効果もある)。

プログラミング言語の構文によっては、何もないことが許されないため、NOPのようなものが必要な場合がある。次に例を示す。

Python

Pythonにおける、何の効果も持たない pass文 (pass statement) は、NOPに似ている。pass statementは、Pythonの特徴的なインデントを使用する構文の都合上、記述したいことが何もなくても、何か記述が必要な場合に使われる。たとえばクラスの定義には何かブロック本体が必要であるので、とにかくクラスを存在させたいだけ、といった場合にその本体として pass と書く。 たとえば、次のようになる。

class Foo(Bar): # クラスを継承する
  pass          # (再)定義すべき内容は何もない

通信プロトコル

いくつかの通信プロトコルでは、NOP や NOOP というコマンドを備えている。このコマンドを送信した場合、具体的に何かが起こるわけではないがサーバからの応答は返ってくる。プロトコルによっては特別なメッセージや情報を返すものもある。このコマンドは主にサーバとの接続が切断されていないか、あるいはトラフィックの増大等の理由でサーバからの応答が遅れていないかを調べる目的で使用される。

NOP もしくは NOOP コマンドを備えている主な通信プロトコルとして以下のものがある。

  • FTP - NOOP コマンド
  • SMTP - NOOP コマンド
  • POP3 - NOOP コマンド
  • TCP - TCP オプションでオプション番号 1 が No-Operation(何もしない)を意味する
  • Telnet - NOP コマンド

脚注・出典

  1. ^ ただし何もしないという処理を「実行」するのには、そのクロック数の時間が掛かる。コメントが実行時間に影響を与えないのとは異なる。
  1. ^ Z80 Instruction Set”. p. 180. 2021年1月15日閲覧。
  2. ^ THE ESSENCE OF THE 6800 MICROPROCESSOR”. p. 204. 2021年1月15日閲覧。
  3. ^ 6502 Opcodes”. 2021年1月15日閲覧。
  4. ^ Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 2B: Instruction Set Reference, M-U”. intel. p. Vol.2B 4-169 Table 4-12. Recommended Multi-Byte Sequence of NOP Instruction. 2021年1月15日閲覧。
  5. ^ ユーザーズ・マニュアル V850E/MS1TM, V850E/MS2TM 32ビット・シングルチップ・マイクロコンピュータ アーキテクチャ編”. renesas.com. p. 95. 2021年1月15日閲覧。
  6. ^ Atmel AVR Instruction Set Manual”. atmel. p. 131. 2021年1月15日閲覧。
  7. ^ MIPS Programmer’s Reference Manual”. p. 24. 2021年1月15日閲覧。

Read other articles:

Peta infrastruktur dan tata guna lahan di Komune Bult.  = Kawasan perkotaan  = Lahan subur  = Padang rumput  = Lahan pertanaman campuran  = Hutan  = Vegetasi perdu  = Lahan basah  = Anak sungaiBult merupakan sebuah komune di departemen Vosges yang terletak pada sebelah timur laut Prancis. Lihat pula Komune di departemen Vosges Referensi INSEE lbsKomune di departemen Vosges Les Ableuvenettes Ahéville Aingeville Ainvelle Allarmont Ambacourt Ameuvelle Ang...

 

 

The CurePoster teatrikal untuk perilisan ulang bersuara tahun 1932 oleh RKO Radio PicturesSutradaraCharles ChaplinEdward Brewer (sutradara teknikal)ProduserHenry P. CaulfieldDitulis olehCharles Chaplin (skenario)Vincent Bryan (skenario)Maverick Terrell (skenario)PemeranCharles ChaplinEdna PurvianceEric CampbellSinematograferRoland TotherohGeorge C. ZalibraPenyuntingCharles ChaplinDistributorMutual Film CorporationTanggal rilis 16 April 1917 (1917-04-16) 19 Agustus 1932 (1932-08-19)&...

 

 

Lambang kotamadya Untuk ortsteil di Mockrehna, Sachsen, lihat Gräfendorf, Sachsen. Gräfendorf adalah kotamadya di Main-Spessart, Regierungsbezirk Unterfranken, Bayern, Jerman. Kotamadya ini adalah bagian Verwaltungsgemeinschaft Gemunden am Main. Geografi Gräfendorf berada di Sungai Fraenkische Saale di Kawasan Würzburg dekat Gemuenden am Main. Di Gräfendorf terdapat desa-desa Michelau an der Saale, Schonderfeld, Weickersgrüben dan Wolfsmünster. Gräfendorf, beserta Wolfsmünster, Miche...

New York City underground ballroom scene Founded in 1982, the House of Xtravaganza is one of the most publicly recognized houses to emerge from the New York City underground ballroom scene and among the longest continuously active. House of Xtravaganza members and the collective group is recognized for their cultural influence in the areas of dance, music, visual arts, nightlife, fashion, and community activism. House of Xtravaganza members continue to be featured in popular media and travel ...

 

 

Halaman ini berisi artikel tentang hotel di Las Vegas. Untuk kegunaan lain, lihat Paris (disambiguasi). Paris Las Vegas Fakta dan statistik Alamat 3655 Las Vegas Boulevard South Las Vegas, Nevada 89109Tanggal pembukaan 1 September 1999Nama sebelumnya NoneJenis kasino Land-BasedTema ParisPemilik Harrah's EntertainmentJumlah kamar 2,915Luas perjudian 85,000sq.ft. (7,896m²)Acara permanen The ProducersAtraksi menarik Risqué de ParisEiffel Tower ExperienceRestoran&#...

 

 

Marginal sea of the South Pacific between Australia and New Zealand Tasman SeaThe DitchLocationMap of the Tasman SeaLocationWestern Pacific OceanCoordinates40°S 160°E / 40°S 160°E / -40; 160TypeSeaBasin countriesAustralia, New ZealandMax. length2,800 km (1,700 mi)Max. width2,200 km (1,400 mi)Surface area2,300,000 km2 (890,000 sq mi)IslandsLord Howe Island, Norfolk IslandBenchesLord Howe RiseSettlementsNewcastle, Sydney, Wollo...

Part of a series onBritish law Acts of Parliament of the United Kingdom Year      1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 ...

 

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Spezia Calcio. Spezia Football ClubStagione 1922-1923Sport calcio Squadra Spezia Allenatore József Viola Presidente Ettore Paganini Prima Divisione8º posto nel girone B della Lega Nord. Maggiori presenzeCampionato: Francesco Caiti (24) Miglior marcatoreCampiona...

 

 

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

Farming approach that balances environmental, economic and social factors in the long term Shade-grown coffee, a form of polyculture (an example of sustainable agriculture) in imitation of natural ecosystems. Trees provide resources for the coffee plants such as shade, nutrients, and soil structure; the farmers harvest coffee and timber. Sustainable agriculture is farming in sustainable ways meeting society's present food and textile needs, without compromising the ability for current or futu...

 

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

 

Dress style with a very full skirt This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Bouffant gown – news · newspapers · books · scholar · JSTOR (April 2023) (Learn how and when to remove this message) A Parisian bouffant gown made of pink tulle. A bouffant gown is a women's dress silhouette made of a wide, fu...

内華達州 美國联邦州State of Nevada 州旗州徽綽號:產銀之州、起戰之州地图中高亮部分为内華達州坐标:35°N-42°N, 114°W-120°W国家 美國建州前內華達领地加入聯邦1864年10月31日(第36个加入联邦)首府卡森城最大城市拉斯维加斯政府 • 州长(英语:List of Governors of {{{Name}}}]]) • 副州长(英语:List of lieutenant governors of {{{Name}}}]])喬·隆巴爾多(R斯塔...

 

 

Ini adalah nama Minahasa, marganya adalah Inkiriwang Albert Inkiriwang Informasi pribadiLahirAlbert Cornelius Jacobus Daniel Inkiriwang(1949-09-19)19 September 1949Tanah Wangko, Minahasa, IndonesiaMeninggal10 November 2018(2018-11-10) (umur 69)Jakarta, IndonesiaSuami/istriNy. Matilda Ivone KaligisAnak3Alma materAkademi Militer (1972)Penghargaan sipilAdhi MakayasaKarier militerPihak IndonesiaDinas/cabang TNI Angkatan DaratMasa dinas1972–2004Pangkat Mayor Jenderal TNISatuanInfa...

 

 

Військово-музичне управління Збройних сил України Тип військове формуванняЗасновано 1992Країна  Україна Емблема управління Військово-музичне управління Збройних сил України — структурний підрозділ Генерального штабу Збройних сил України призначений для планува...

Pour les articles homonymes, voir Ferdinand II et Ferdinand d'Aragon. Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Certaines informations figurant dans cet article ou cette section devraient être mieux reliées aux sources mentionnées dans les sections « Bibliographie », « Sources » ou « Liens externes » (septembre 2013). Vous pouvez améliorer la vérifiabilité en associant ces informations à des références à l'a...

 

 

Marlioz Blason Administration Pays France Région Auvergne-Rhône-Alpes Département Haute-Savoie Arrondissement Saint-Julien-en-Genevois Intercommunalité Communauté de communes Usses et Rhône Maire Mandat Vincent Dutoit 2020-2026 Code postal 74270 Code commune 74168 Démographie Gentilé Marlioziens Populationmunicipale 1 052 hab. (2021 ) Densité 130 hab./km2 Géographie Coordonnées 46° 01′ 59″ nord, 6° 00′ 15″ est Altitude Min. 36...

 

 

Salvatore Bocchetti Informasi pribadiTanggal lahir 30 November 1986 (umur 37)Tempat lahir Napoli, ItaliaTinggi 1,86 m (6 ft 1 in)Posisi bermain Bek tengahInformasi klubKlub saat ini Milan(pinjaman dari Spartak Moscow)Nomor 19Karier junior AscoliKarier senior*Tahun Tim Tampil (Gol)2004–2007 Ascoli 2 (0)2005–2006 → Lanciano (pinjaman) 21 (1)2007 → Frosinone (pinjaman) 17 (2)2007–2008 Frosinone 38 (2)2008–2010 Genoa 60 (1)2010–2013 Rubin Kazan 52 (9)2013– Spa...

American chain of cafes This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Corner Bakery Cafe – news · newspapers · books · scholar · JSTOR (November 2014) (Learn how and when to remove this message) CBC Restaurant CorporationCorner Bakery Cafe, Washington, D.C.Trade nameCorner Bakery CafeCompany typePrivateInd...

 

 

Questa voce o sezione sull'argomento politici statunitensi non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. William Collins Whitney 31° Segretario della marina statunitenseDurata mandato7 marzo 1885 - 4 marzo 1889 PredecessoreWilliam Eaton Chandler SuccessoreBenjamin Franklin Tracy Dati generaliParti...