「レジスタ」を含む日記 RSS

はてなキーワード: レジスタとは

2021-06-13

anond:20210613093217

裏で何が動いているか理解していない

顧客は裏で何が動いているか理解する必要もないし、表面のAPIだけ整っていれば受け入れやすい。

それは開発者側、エンジニアでも同じで、オペコードオペランドがどのようにレジスタスタックされるか知らなくてもプログラムの流れはわかるし他人説明できる。

IBM日本SIer系老人企業GAFAみたいなWeb企業テクノロジーデジタル最先端扱いされてるのを苦々しく見ているのはよくわかるんだが、

「裏で何が動いているか理解してない」でWeb企業マウント取ろうとすると、結局は裏も表面も理解してないだろう顧客へのサービスがおろそかになるのと同じだから議論としては自滅なんだよね。

2021-06-02

電子工学を最低限やっていて

加算器なりレジスタなりが、コアの中でどういうふうに動くのかを知っていて

その知識を前提にアセンブラを知っていて

アセンブラ知識を前提にC/C++を知っていて

コンパイラの基礎理論や、自分自身インタプリタを作ったことも当然あり

その知識を前提として

Javascriptデバッグチューニングをしていて

C++プロフイラブラウザに当ててながら、JavascriptHTML5チューニングをですね

実務経験として実際にやってHTML5アプリをですねまずは自分で作って売ってみて

その経験を元に部下や後輩の指導をしていくのですが

当然 後輩たちも 東大だったり慶応だったりを優秀な成績ででていたり

そいつらと、喧嘩できる実力の低学歴だったり

 

ちなみにバカ大学でも 情報工学となると この辺を基礎から習います

2021-03-09

anond:20210309003639

うーん、それでも状況が分からないとなんとも言えないというか、

自分アドバイスできるレベルなのかも分からないけど、

アルゴリズム的なものだったら、しばらく考えてみるしかないんでない?

自分場合は、まあ自分レベルが低いのかもしれんけど、考えてるうちに理解できてしまうか、

もしくは、なんとなく思い当たる周辺のキーワードが思いついて、

それでググって、あー、こういうのがあるのか、こういう論文があるのか、みたいなところからまたメタに調べてくとか

数学的なものだと、これもなんかの周辺キーワードググるのが多いのかなあ…

ただ、根本的に自分には無理だとか、時間がないとか、学生時代に戻りたいみたいに思うんだったら、とりあえず飛ばししまうけど

特に趣味とかでなんとなくソースコードの全体を把握したいみたいなリーディングをしてるなら、

そこが知りたいこととか本質でないかぎり無視する方がいいというか、人生でまた使うことなんて自分レベルならないのではと思ったり

あと、なんだろ…

どうして動いてるのか分からないって、ハードウェアレベルで起こることもあるわけだけど、

これに関しては、特にまだ発売されてないゲーム機の話とか、そういうトラブル対処自分にはできなかった

そういうのができる人がいるので助けられてばかりなレベルだった

公開されてるハードウェアなら、今はStackoverflowみたいに質問できるところもいっぱいあるし、

ハードウェアメーカー側も公式情報小出ししてくれたり、できる人のブログをググって見つけたり、

なんか誰でも思い付くような助言になってきたけど、

ハードも結局はレジスタの値とか観察していくしかないのではないかなあと思ったり

うーん、助言になってないか

すまん

2021-01-25

anond:20210125110700

ワイの脳内ニモニック説明すると

・for

for 初期化処理 終了条件 インクリメント

が↓に翻訳されて

for計算機の回数レジスタに初期値をセットするお(初回1回だけ)

( for内部の処理 )

for計算機インクリメントするお

for計算機が終了条件に達していたらfor計算機が終了位置ジャンプするお

goto+if

ベル: if(判定文)gotoベル

は↓に翻訳されるイメージかな。

if計算機をセットするお(毎回)

if計算機の左辺に数字を入れるお

if計算機の右辺に数字を入れるお

if計算機に入れられた記号で左右の数字を判定するお

if計算機trueの結果を返したらif内部の処理にジャンプするお

ってこった。if計算機セットおよび両辺のレジスタになんか入れる、って処理が余計にかかるだろ。

anond:20210125110054

forの場合インクリメント用のレジスタや終端判定用のレジスタはもう固定されてる

???

anond:20210125105034

・if自体の処理が入る

・ifに入れる判定に使うレジスタに入れる処理が入る

ので良くてforと同等、悪けりゃそれ未満ってこった。

forの場合インクリメント用のレジスタや終端判定用のレジスタはもう固定されてるんだからコード内でレジスタ自体を参照する必要はないわけじゃん。

if毎回やってたらifのレジスタ変数持っていくって処理が挟まるんだよ。だから手間増える、はず。

2020-12-25

サンダー・ピチャイの正体

私はついに彼の正体を知ってしまった.私は消されるかもしれないが,その前にここに書き残しておく.

言うまでもなくサンダー・ピチャイGoogleCEOである

ご存知の通り,最近GoogleAIに傾倒しており,DeepMindを始めとするAIベンチャーの買収や,研究者技術者の確保に余念がない.

人型ロボットの開発で有名なBoston Dynamics日本の精鋭ロボット部隊であるシャフトといったロボット系の会社を買収していることからも,AI身体能力を持たせようとしていることは明らかである

既にこれらの会社は売却済みだが,主要技術Googleの手に渡っていると考えるのが自然だ.

Google検索エンジン広告では飽き足らず,人の仕事AIロボットで置き換え,世界を牛耳ろうとしていることを懸念する声も少なくない.

昨今話題となっているガソリン撤廃の動きも,ロボットを充電できるスポットを増やすことが真の目的であり,テスラではなく実はGoogleが裏で糸を引いている.

これを肯定的に捉えたのが「シンギュラリティ」だが,多くの人は負の側面を心配している.米政府による独禁法訴訟はその現れである

もちろんGoogle世論操作によって賛同者を増やし,対抗しようとしている.

Googleから大量にAI論文が出されるのも,その活動の一環だ.

聞くところによると,最近AI否定する社員解雇に追いやっているらしい.

さて,サンダー・ピチャイの話に戻ろう.

彼の名を英語で書くとSundar Pichai,これをアナグラム解析に掛けると,以下の文字並べ替えものであることがわかる.

Hindu Scrap AI

まりヒンズー教スクラップAI

彼がインド出身であることはよく知られた事実である

Scrapには「~を解体する」という意味がある.

これらを踏まえると,Hindu Scrap AIは,以下のように解釈できる.

ヒンズー教が(人間社会を)解体しに送り込んだAI

そう,彼はヒンズー教世界支配者となるために送り込んだAIだったのだ.

今の世界キリスト教支配し,イスラム教がこれを打破するために戦いを挑んでいるが内部抗争が多く,キリスト教が優勢な状況が続いている.

なぜか神道キリスト教に懐柔されている.

そこへ第三勢力であるヒンズー教が,インド人の持つ神がかり的な数学力を駆使して作り出したAI,それがサンダー・ピチャイの正体だ.

Google世界支配しつつあり,多くの人はアメリカ,いや,キリスト教メンバーによる功績であると考えているため,冒頭で延べたシンギュラリティ懸念はあるものの,異教徒による支配であるとは考えていない.

実に巧妙な計画であると言えよう.

Google,いや,ヒンズー教による世界支配まで,あと一歩のところまで来ているのだ.

しかしそれも終わりだ.

私の告発によってAIレジスタントが蜂起するだろう.

何,この時期に来訪者だと?下書きの段階で情報漏れたというのか?なぜ・・・しまった私のIMEGoogle日本語入力だった.

2020-12-01

anond:20201201171157

追記

まず簡単なのはここに書いてある。

ttps://agk.saloon.jp/how-to-jp-series

結論をいうと対象ソフトが下記を満たすかどうかで難易度がかなり変わる。

1. 表示テキストが外部ファイルになっている or exe内部のリソースファイルから読み取られる ↔ プログラム埋め込み

2. 内部のテキストエンコード方式UTF-8 or 16 or 32 ↔ ASCIIなど

3. フォントシステムにあるのが使われる ↔ 外部ファイルになった画像フォントが使われる

すべてのソースが公開されていない限り、この条件を満たさなもの基本的日本語にできない。

例えば、自分C言語printfだけのHello world!プログラムを作ってみて、それをソース無しで、外からテキストを変更できるかためしてみればいい。

これは1に反するから多分簡単には出来ない。よしんば出来たとしても、Hello world!より文字数が多いテキストに変えるのはそれなりに面倒である

こういう表示をさせるやり方としてはprintfに渡すデータを実行時にすげ替えればいい。具体的にはprintfの直前で別の箇所にジャンプさせて引数レジスタに書き換えたいアドレスを渡して、またprintfまで戻ってくればいい。

これ以上に面倒なのが、2と3が合わさったもので、欧米アルファベットしか使わないため、ソフトの内部コードASCIIやCP12XXだったりする。さらにそのソフトに用意されているフォント文字はその範囲しか存在しない。これらはどう頑張っても普通に日本語を表示することは出来ないので、かなり強引に改造するしか無い。俗に中華パッチと呼ばれているものがそれである

具体的にはソフトのどこかで、表示させるテキスト配列から文字を1文字取得、1文字からコードポイントに変換、フォントファイルからそのコードポイントのグリフデータを取得、グリフデータを画面に表示させる処理があるため、そこに割り込む。1バイト取得している箇所を2,3バイト一気に取得して、それをなんとかしてコードポイントにして、そのコードポイントをグリフ取得の処理に回せばいい。

この方法にしても、技術的に難しい点は存在せず、技巧的であり、Cの本を読めば誰でもできる処理である

2020-10-17

anond:20201017110507

最初にCを学ぶべきだって意見人をよく見るけど、最初にCってきつい感じがするわ。

自分BASICアセンブラ→C&Pascalの順番で、ポインタは、アセンブラインデックスレジスタみたいなもんって理解で乗り切ったけど。

2020-10-16

anond:20201015012446

身内が教えるからダメとかってコメあるけど、あまり関係ないよ

私は10プログラマやってるけど関数の流れは追えない、一つ先しか見通せない

バグ潰しも手当り次第やって直してくしかできない

脳の記憶容量が少ないのが原因だと思う。レジスタが極狭

2020-08-30

PUSH AX

PUSH BX

MOV スタックレジスタ 値

POP BX

POP AX

よくつかうよね。この処理。

どがーんじゃなくて

すっ て 

 

みてみたいなーライゼンにまけてるIntelさんの ちょっと いいところ

                       ↑

2020-08-23

現代プログラムの基礎理論

 

大きく分けるとC言語系、Java系(VM 系)イ     どうみても古いpthreadの方がはえーだろ、

ンタプリタ系にわかれる。様々な違いがある     と思うこともあるが、まぁ、時代流行をか

言語という意味で今回はインタプリタ系を     んがみ書いていくことが大切である

中心に説明をしたい。               VM系という意味では、スタックマシン勉強

インタプリタ系の場合PerlPythonなどP系      しておくとよい。レジスタもつスタック

言語と呼ばれる言語が主流である。この中で     シンなる謎概念面白く読めるのでよい。

は扱いやすさと重視してpyhon2.7を語ってい

たとえば、日本語を上げても、現代語、若者

言葉、たとえば、ガングロチョベリバなど

の最新の用語があるが、死言として消えてい

言葉があるように、パソコン言語にも隆

盛というものはかならずある。

時代に影響されにくいC言語を例にとってもC

\++,C++11,C++17,C++2Aなどのように時代の流

行というものを取り入れているために変化が

ある

2020-08-06

近くのイトーヨーカドーレジスタッフさん

色気あって爪も手入れしてて綺麗なオバさんを好きになってしまたかも。

ぶっちゃけSEXしたいんだけど、お近づきになりたい。

私は32歳独身男性身長は177cm、体型は普通

お茶でも誘えば良いのでしょうか・・・

でも、どうやって誘ったら良いんだろう。仕事中は迷惑だろうし

2020-08-02

anond:20200802225221

あのですねハードウェアにXMMレジスタ15本とか増えていてですね。大変なんですよ

ついてはですね1命令

すっ

 すっ

  トン

ってやってくれるとIntelさんをPUSHしたいなーって思うんですよ

2020-07-21

if文というのは

真偽値をcmp命令で真か偽かを判定したあとにフラグをみて

フラグが偽だった場合にJMPにより命令レジスタを変更しますそうでないいばあいそのまま次の命令を実行し

そのステートメントが終了した場合やはりJMP命令でTHEN節の次に移動しますここでTHENとELSEが合流しま

このときに、予測分岐という回路が働きますがそれは次のお話として先にはなしをすすます。このときハイパーリンクも次回とします。

2020-07-18

6809の思い出

6809で一番イカレてる思い出は、最速でメモリを0クリアするの方法

最後アドレススタックポインタを設定して、0クリアしたレジスタを順番にPushしていくっつー。

だいたいのCPUにはメモリ転送系の命令が用意されてるものだけど、6809にはそれが無かった。

6800にも無いけど、あれはあれで設計が美しいのでヨシ。

2020-05-20

anond:20200520180452

不動小数点数っていうのはレジスタのことで理論上は概ね2^32bit~2^256bitの情報量を保持できる可能性がある

2020-04-15

[] 情報という概念が何らかの概念の近似であるという可能

https://anond.hatelabo.jp/20070905170808

13 年前に書かれた増田エントリーです。

観念的な問い. 古典力学量子力学の近似ととらえるように、

情報科学における情報という概念情報を包括するようなさらに高次な概念の近似としてとらえることが可能か。

ただし、ここで書いているのは量子情報のことではなくて、情報のものの高次な概念があるのではないか

いただいたコメントまとめ:

 情報の高次元=量子情報でいいのではないか

 認知によってその場が変化することで、情報が発生する。

 同様に、情報理論は近似であって、実はなんらかの極限状況だと、エントロピー性質とかがおかしくなるとか。

  • 情報がなにかの近似ではないのかと言われて、直感的におもいうかぶこと:

 シュレーディンガー波動方程式というものがある。原子の周りを電子が飛び回ってる単純なモデルがあって、それを特定するのは確率しかないみたいな。

 でも、時間をとめることができればそれがどこにあるかは特定できる。この場合は「時間で切り取っている」というケース。

 問. 現実をある面で切り取ったもの情報か。

 久保亮五先生の『統計力学』の最初のところにはお金を分配するだけの簡単金融経済モデルが出てくる。

 気体の「体積」「1分子あたりの熱エネルギー」「モル数」はそれぞれ違う次元の数。

 ディスク上の情報構造物の「占有領域」「最低/平均ブロックサイズ」「圧縮した場合バイト数を表現するのに必要レジスタ幅」はまったく意味が違うのに、いずれもバイト数で表される。

 これは情報科学根底にあるトラブルの原因ですが、いまは統計力学情報理論の間に安易な橋渡しができないことだけを意識するように。

 ただ、気体でも極端に自由度の低い系(絶対零度近くとか、強い磁場の下にあるとか)では体積は圧力にも温度にも比例しない。

 それと似たような話として、自由度の低い情報構造物情報理論適用外。

 個々のビットの間の関係恣意的であって、あまり統計的扱いに向かない。

 問. 古典力学の前提で、粒子間の引力も斥力も無視するとボルマン統計量子力学ならボーズ統計フェルミ統計に従うという話があるが、

 すべてのアプリケーションが書き出すビット列にそういう統計を考えることは可能か。

 アプリケーション各論を展開できるほど柔軟で包括的数学を使えば、情報構造物ミクロ理論は好き勝手に展開できる。ただし、それはアルゴリズムの単なる記述ではないのか。

当方が二十代の頃になんとなく発した問いにリアクションいただいたこととを、大変ありがたく思います

未だにこの辺の答えは出ていません。 あまりこういう問い立てや考えることをしなくなってきたのもあります

識者の方々におかれましては、何かコメントいただければと存じます

2020-03-15

anond:20200315125808

8でも4でも、それこそ81Bit相当とかでもおかしくない。intの意味勘違いしてる。

基本的にintはそのCPうに対して最も効率が良い通常はレジスタ長のいみ。16bitが使いたいなら通常はshortとかWORDとかく

2020-03-07

anond:20200307231805

最終的にバイナリで動く以上は変数という概念意味なくない?

レジスタかいうんならわかるけど

2020-02-11

二項対立、しちゃうよね

ウヨvsサヨの罵り合いとかさ。

こういう二項対立な分かりやすすぎるラベリング蔓延して、その結果カオスになるのって、皮肉だよね。

男vs女とか、日本vs海外とか、年寄りvs若者とかも全部そう。

なんでそんなラベル貼って罵りあってんのよ?って思うっしょ皆。

もっとグラデーションになっていて、

もっと他の要素(軸)も絡まっていて。

レーダーチャートというかさ、ベクトルのように表現される筈でしょ。

かに便宜上、二項のように言うことあるよ?

でもそういう言い回しが使われ出すと、蔓延ちゃうんだよね。

いつしか多くの人が(誰もが?)、二項しかないように思い込んで。

社会全体で、そういう共通認識を育み始めるんだよね。

数字ってさ、6-7桁までしか一度に記憶できない、って言うじゃん?

概念の分類ってさ、一軸・二値でしか捉えられないんだろうね。

個人限界がその水準だとは思わないのよ。

多くの人にとって「よく考えれば」グラデーションになってる。複数軸ある。

でも、共通認識として社会が保持できる容量は、二項ラベルしかないんだろうね。

いざ議論の場において、レジスタに乗らない、って感じかな。

で、そういう社会の言説からフィードバックを受けて、自分構成ちゃうんだよね。

ウヨとサヨ、2つあるらしい。俺はウヨだ(あいつはサヨだ)。」みたいな。

から冒頭に戻って、わかり易すぎてそうなったものが、カオスな論争を生むんだね。皮肉だね。

上から目線でディスってるというより、世の欠陥というか、人の世の限界なんだろうなと。

2020-01-01

多値返しに関する一部エンジニア見解ヤバない?

https://b.hatena.ne.jp/entry/s/jp.quora.com/hotondo-no-puroguramingu-gengo-de-kansuu-no-return-ga-1-tsu-shika-deki-nai-no-ha-naze-desu-ka を呼んだんだけど、回答・ブコメともにとんでもないことを書いている人がたくさんいてびっくりした。本質的に多値返しは直積型の返しと同じで、これはタプル・構造体と本質的に同じ、というのは多くの人が指摘している通りではあるのだが…。

配列返し

動的型付け言語に慣れてらっしゃる方が多いのかもしれないけれど、配列というのは「同じ型をまとめた型」であるべき。動的型でいろいろ突っ込める配列本質的には「直和型の配列」と思った方がいいよね。多値返しという意味では(記憶領域の面で)余分なコストがかかりうる直和型を選択する意味はないですよね?回答でもなんか配列返しに言及している某有名人がいたが、あれれ?という感じ。

もっとも、immutableな配列をtupleと呼ぶPythonという言語があるせいで引っ張られている感は否めないけども、配列とは本質的に異なる型が存在しているのは明らかですよね?配列構造体って違うよね…?(言葉定義問題と言われそうだけれど、型システムの分野での言葉定義存在しているわけで、反論になっているとは思えない。『俺は明日からこのわんわんなく動物ネコと呼ぶから』と言っているようなもんでは。)

CPUアーキテクチャについて

かにナイーブにはレジスタに入れて返すのが素直だというのは同意するけど、でもそれ構造体と一緒だよね?昔のCではこれはできなかったというのは知らなかったので勉強にはなりました(未検証だけど)。

あと構造体返しの関数がどう機械語実装されているのか知らなさそうな人がいるのにはちょっとびっくり。それでなんでレジスタがどうとか言えちゃうのかしら。構造体の値を返す関数ならばポインタは返さないですよ。そのポインタはどこを指してるんですか。実装しづらいとか何とか言ってる人たち、ちゃんアセンブラ読んだことあるんですか…?本質的に何の困難もないです(ちなみに少なくともlinux amd64ではスタック領域を確保してそのポインタ関数引数の一部として渡します。まあヒープに置く場合でも余計なmoveが出ないようにしたいとかあるかもだけど、そんなでかいデータ普通無名構造体では扱わないでしょう)。

多値は使いづらい

かに、返り値の型が(A, A)のような場合ドキュメント読まないとわからなくなってしまうので可読性が下がるし構造体を使うべしというのは(ほぼすべての場合において)同意(多値は使いづらいというのは構造体は使いづらいという意味ではないですよね?)。でもさ、某有名人goで挙げているけれど多値って普通(A, B)みたいに違う型の値を返したくなることの方が多くないですか。この場合どっちがどっちかは自明だよね?ただの無名構造体だよ。多値返しは設計が甘いとかわけわからんことを言っている人もいたけれど、なんかこちらが不安になってきた。

http://bleis-tift.hatenablog.com/entry/multiple-values

…本当に意味不明で驚いた。id:megumin1氏が言っているように、tupleのパック・アンパックに余分なコストをかける必要はない(まあアドレス渡しになるから複数本のレジスタで返すのと比べたら余分なmovが入りうるという話はあるけど、この人が多値返しというので何を想定しているかからないので何とも。)。何遍呼んでも多値返しとtuple返しの違いが判らなかった。おそらく前述のようにimmutableなlistのことをtupleと思っているのかな?と予想はするが…。

はてな界隈ってエンジニア的な印象があったんだけど、ここら辺の話ってそんななじみないのかな…?てか某有名人氏も型システムとかあんまりご存じないのかな…?むしろこれは増田無知なんだろうか…?

2019-04-04

anond:20190404165512

いやいや、アセンブラを学ぶのに半加算器の知識不要でしょw

というか、論理回路知識すら要らない。せいぜいBooleanくらいでじゅうぶん。

知っていると便利なのは、ALUとか、レジスタとか、メモリーとか、アドレスとか、バスとか、I/Oとか、ポインターとか、スタックとか、その程度かと。

サブルーチンを呼ぶとスタックにリターンアドレスを積んで云々、、、を知っているだけでイメージがわくし。

ログイン ユーザー登録
ようこそ ゲスト さん