SlideShare a Scribd company logo
1 of 49
Download to read offline
初めての

CPUをつくってみた
   筑波大学情報科学類
    えりっくさーとる
自分について
•  @siritori	
  
•  CPUとか(リアルに)よくわからない
•  おもいっきりソフトウェアの人間です
•  好き:しりとりと自然言語処理とおっぱい



              筑波大学情報科学類
               えりっくさーとる
カーネル/VMのネタのために

CPU作るか(適当)
作ったもの
•  Whitespaceを実行するCPU
作ったもの
•  Whitespaceを実行するCPU
作ったもの
•  Whitespaceを実行するCPU

•  落ち着け、別に大したことではない

•  メモリ上にWhitespaceコードを置いて
 それを実行するようなやつ

•  Verilogで書いてみた
前提知識
Verilog
•  ハードウェア記述言語(HDL)の一種
•  もともとシミュレーション用の言語
•  入出力のピンと、回路ブロックの挙動とその
 接続状態を書く
•  なんか授業で(超ざっくり)習ったぽよ
前提知識
Whitespace
•  みんな大好きEsolang

•  半角スペースとタブ文字と改行だけで表現

•  そもそもコードが目に見えない
前提知識
Whitespace
[SP][SP][TAB][TAB][SP][LF]

[SP][SP][TAB][SP][LF]

[TAB][SP][SP][SP]

                    こういうの
前提知識
Whitespace
           PUSH
[SP][SP][TAB][TAB][SP][LF]
           PUSH
[SP][SP][TAB][SP][LF]
                    ADD
[TAB][SP][SP][SP]
前提知識
Whitespace
[SP][SP][TAB][TAB][SP][LF]

[SP][SP][TAB][SP][LF]
リテラルは2進数で表現。
[TAB][SP][SP][SP]
[TAB]を1、[SP]を0として表現
[LF]が終わりを意味する
前提知識
Whitespace
  もしかして:タダのアセンブリ?
前提知識
Whitespace
  もしかして:タダのアセンブリ?
前提知識
Whitespace
push  add   label load
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
  スタック操作

Whitespace
push  add   label load
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
         算術操作

Whitespace
push  add   label load
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
              ジャンプ操作

Whitespace
push  add   label load
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
                    ヒープ(メモリ)
                      操作
Whitespace
push  add   label load
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
Whitespace
push  add   label load
                     入出力操作
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
Whitespace
  もしかして:タダのアセンブリ?
       ...ってことは、

実行できるCPU作れるのでは?
   という話に当然なる
前提知識
Whitespace
  もしかして:タダのアセンブリ?
       ...ってことは、

実行できるCPU作れるのでは?
 という話に当然なる(断定)
前提知識



 完
おもむろに書き始める
ブロック図

         フロー
       コントローラ
ヒープ       &      スタック
       ステートマシン




        プログラム
         メモリ
          &
        フェッチ
ブロック図

         フロー
       コントローラ
ヒープ       &      スタック
       ステートマシン




        プログラム
         メモリ
          &
        フェッチ
ヒープ
•  ぶっちゃけただのメモリ
•  かんたーん

      CS
     CLK
                   [31:0]q
    LOAD
[31:0]addr
   [31:0]d
ブロック図

         フロー
       コントローラ
ヒープ       &      スタック
       ステートマシン




        プログラム
         メモリ
          &
        フェッチ
スタック
•  [3:0]modeで操作を指定
•  算術命令もいれちゃった(* ∀ 人)
•  top1がスタックトップ、top2は2番目

      CS
     RST
     CLK              [31:0]top1
[3:0]mode
                      [31:0]top2
[31:0]addr
   [31:0]d
ブロック図

         フロー
       コントローラ
ヒープ       &      スタック
       ステートマシン




       プログラム
         メモリ
          &
        フェッチ
プログラムメモリ&フェッチ
プログラムメモリ&フェッチ


 あれ?Whitespaceって
 命令が固定長じゃなくね?
プログラムメモリ&フェッチ



 うわー
 あかんやつやこれ
プログラムメモリ&フェッチ
•  読み始めるアドレスを入れると
•  オペコードとオペランドと次のアドレス
がでてくるようなメモリ
•  オペコードが1クロックで1発フェッチが
できないので、終わったらDONEフラグ
を立てるようにしてみた
プログラムメモリ&フェッチ
こんな感じに遷移することにする




         CMD        OP
 END
        FETCH     FETCH
プログラムメモリ&フェッチ
•  addrから読み始めるアドレスを入力
•  cmdにオペコード,opにオペランド


      CS          [31:0]next
     RST          [5:0]cmd
     CLK          [31:0]op
[31:0]addr        DONE
ブロック図

         フロー
       コントローラ
ヒープ       &      スタック
       ステートマシン




        プログラム
         メモリ
          &
        フェッチ
だーかーらーCPUのしくみ知らんって
  言ってるじゃん(´;ω;`)
フローコントローラと
    ステートマシン
こんな感じに遷移することにする(既視感




 FETCH   EXEC1   EXEC2
フローコントローラと
     ステートマシン
•  フェッチが終わるまで待ってー
•  命令にあわせてヒープやスタックを起こし
 て仕事させてー
•  場合によっては書き込む
•  を繰り返す
フローコントローラと
     ステートマシン



•  inputとoutputピンがやたら多いので
 図は省略
ブロック図

         フロー
       コントローラ
ヒープ       &      スタック
       ステートマシン




        プログラム
          メモリ
           &
         フェッチ
デモ
0x001 push 6
0x006 push 4
0x00C add
0x010 call 0x0100

0x100 push 2
0x105 mul
0x109 slide 2
0x10F ret
デモ
                      これらを	
  
0x001 push 6        ハンドアセンブル	
  
0x006 push 4         する(震え声	
0x00C add
0x010 call 0x0100

0x100 push 2
0x105 mul
0x109 slide 2
0x10F ret
まとめ
•  普段の勉強法とは違う方法でやってみた
•  なんだかんだでCPUできた
•  Whitespaceが動くアーキテクチャは



       作れる
ところで
前提知識
Whitespace
push  add   label load
                     入出力操作
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit
前提知識
Whitespace
push  add   label load
                     入出力操作
dup    sub  call  store
    もしかして:タダのアセンブリ?
copy   mul  jump  getc
swap   sub  jeq   getn
pop    div  jneg  putc
slide  mod  ret   putn
            exit

    I/Oは?
終わってねーよ
ご清聴
 ありがとう
ございました

More Related Content

What's hot

秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えてYuta Ogura
 
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1cohama
 
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理gu4
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacksHiro Yoshioka
 
Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門Atsushi Tadokoro
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門Hirotaka Kawata
 
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5  時間構造をつくるInteractive Music II SuperCollider入門 5  時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくるAtsushi Tadokoro
 
SEH on mingw32
SEH on mingw32SEH on mingw32
SEH on mingw32kikairoya
 
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSALVisual C++コード分析を支えるSAL
Visual C++コード分析を支えるSALegtra
 
Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Mitsuru Kariya
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!amusementcreators
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくばHirotaka Kawata
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Hiro Yoshioka
 
core dumpでcode golf
core dumpでcode golfcore dumpでcode golf
core dumpでcode golfNomura Yusuke
 

What's hot (20)

Cpu pipeline basics
Cpu pipeline basicsCpu pipeline basics
Cpu pipeline basics
 
秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて
 
Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1Vim script と vimrc の正しい書き方@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1
 
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
Programming camp 2010 debug hacks
Programming camp 2010 debug hacksProgramming camp 2010 debug hacks
Programming camp 2010 debug hacks
 
コルーチンの使い方
コルーチンの使い方コルーチンの使い方
コルーチンの使い方
 
Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 
emc++ chapter32
emc++ chapter32emc++ chapter32
emc++ chapter32
 
Interactive Music II SuperCollider入門 5 時間構造をつくる
Interactive Music II SuperCollider入門 5  時間構造をつくるInteractive Music II SuperCollider入門 5  時間構造をつくる
Interactive Music II SuperCollider入門 5 時間構造をつくる
 
SEH on mingw32
SEH on mingw32SEH on mingw32
SEH on mingw32
 
Visual C++コード分析を支えるSAL
Visual C++コード分析を支えるSALVisual C++コード分析を支えるSAL
Visual C++コード分析を支えるSAL
 
コルーチンを使おう
コルーチンを使おうコルーチンを使おう
コルーチンを使おう
 
Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16Effective Modern C++ 勉強会#3 Item16
Effective Modern C++ 勉強会#3 Item16
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
 
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
 
core dumpでcode golf
core dumpでcode golfcore dumpでcode golf
core dumpでcode golf
 
Javascript basic code
Javascript basic codeJavascript basic code
Javascript basic code
 
emcjp Item 42
emcjp Item 42emcjp Item 42
emcjp Item 42
 

Viewers also liked

「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部Kiyoshi Ogawa
 
やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術Eric Sartre
 
Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)Hiroki Nakahara
 
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013Kiyoshi Ogawa
 
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety TheoremRyoma Sin'ya
 
Cpuの速度向上はいかに実現されたのか
Cpuの速度向上はいかに実現されたのかCpuの速度向上はいかに実現されたのか
Cpuの速度向上はいかに実現されたのかJoongjin Bae
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略Hiroki Nakahara
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Hiroki Nakahara
 
パッチを投稿してみた話
パッチを投稿してみた話パッチを投稿してみた話
パッチを投稿してみた話wata2ki
 
Debian Testing on Windows Tablet T100TA
Debian Testing on Windows Tablet T100TADebian Testing on Windows Tablet T100TA
Debian Testing on Windows Tablet T100TANetwalker lab kapper
 

Viewers also liked (11)

「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
「C言語規格&MISRA-C:みんなで楽しいCプログラミング」NGK2013B名古屋合同懇親会2013忘年会昼の部
 
やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術やさしい日本語言い換えシステムを支える技術
やさしい日本語言い換えシステムを支える技術
 
Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)
 
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
 
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
正規言語と代数と論理の対応:An Introduction to Eilenberg’s Variety Theorem
 
Cpuの速度向上はいかに実現されたのか
Cpuの速度向上はいかに実現されたのかCpuの速度向上はいかに実現されたのか
Cpuの速度向上はいかに実現されたのか
 
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
 
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
 
パッチを投稿してみた話
パッチを投稿してみた話パッチを投稿してみた話
パッチを投稿してみた話
 
PYNQ祭り
PYNQ祭りPYNQ祭り
PYNQ祭り
 
Debian Testing on Windows Tablet T100TA
Debian Testing on Windows Tablet T100TADebian Testing on Windows Tablet T100TA
Debian Testing on Windows Tablet T100TA
 

Similar to 初めてのCPUを作ってみた

自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会Hirotaka Kawata
 
Assembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko KenjiAssembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko Kenjiasmtanka
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talkmitamex4u
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったCHY72
 
Zマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OSZマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OSIBMソリューション
 
PSoCまつり「PSoCの美味しい料理法」
PSoCまつり「PSoCの美味しい料理法」PSoCまつり「PSoCの美味しい料理法」
PSoCまつり「PSoCの美味しい料理法」betaEncoder
 
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 ichikaway
 
Swf研究会 アクションスクリプト実行処理系
Swf研究会 アクションスクリプト実行処理系Swf研究会 アクションスクリプト実行処理系
Swf研究会 アクションスクリプト実行処理系Kohei Morino
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119metamd
 
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶYuta Kitagami
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回龍一 田中
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門sandai
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸Takahiro Iwase
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1信之 岩永
 
バイナリ駄洒落コンテスト
バイナリ駄洒落コンテストバイナリ駄洒落コンテスト
バイナリ駄洒落コンテストkozossakai
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Shota Umeda
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Hiromu Yakura
 

Similar to 初めてのCPUを作ってみた (20)

自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
 
Assembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko KenjiAssembly Tanka on Web - Aiko Kenji
Assembly Tanka on Web - Aiko Kenji
 
2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
 
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについてeBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作った
 
Zマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OSZマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OS
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
PSoCまつり「PSoCの美味しい料理法」
PSoCまつり「PSoCの美味しい料理法」PSoCまつり「PSoCの美味しい料理法」
PSoCまつり「PSoCの美味しい料理法」
 
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
 
Swf研究会 アクションスクリプト実行処理系
Swf研究会 アクションスクリプト実行処理系Swf研究会 アクションスクリプト実行処理系
Swf研究会 アクションスクリプト実行処理系
 
Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119Open-FCoE_osc2011tokyofall_20111119
Open-FCoE_osc2011tokyofall_20111119
 
ハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶハードウェアを用いてPythonを学ぶ
ハードウェアを用いてPythonを学ぶ
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回
 
R高速化
R高速化R高速化
R高速化
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
バイナリ駄洒落コンテスト
バイナリ駄洒落コンテストバイナリ駄洒落コンテスト
バイナリ駄洒落コンテスト
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編
 

More from Eric Sartre

「わからない」との付き合い方
「わからない」との付き合い方「わからない」との付き合い方
「わからない」との付き合い方Eric Sartre
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)Eric Sartre
 
ネトゲで人生を変えたい
ネトゲで人生を変えたいネトゲで人生を変えたい
ネトゲで人生を変えたいEric Sartre
 
Emacsいじめの現場
Emacsいじめの現場Emacsいじめの現場
Emacsいじめの現場Eric Sartre
 
どたばたかいぎ成果発表
どたばたかいぎ成果発表どたばたかいぎ成果発表
どたばたかいぎ成果発表Eric Sartre
 
ゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですEric Sartre
 
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Eric Sartre
 
つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜Eric Sartre
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争Eric Sartre
 

More from Eric Sartre (10)

「わからない」との付き合い方
「わからない」との付き合い方「わからない」との付き合い方
「わからない」との付き合い方
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)
 
ネトゲで人生を変えたい
ネトゲで人生を変えたいネトゲで人生を変えたい
ネトゲで人生を変えたい
 
Emacsいじめの現場
Emacsいじめの現場Emacsいじめの現場
Emacsいじめの現場
 
どたばたかいぎ成果発表
どたばたかいぎ成果発表どたばたかいぎ成果発表
どたばたかいぎ成果発表
 
upcamp発表
upcamp発表upcamp発表
upcamp発表
 
ゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようです
 
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
 
つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜つくっておぼえる!仮想マシン〜直前で実装編〜
つくっておぼえる!仮想マシン〜直前で実装編〜
 
ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争ぼくとしりとりの約3.0*10^3日間戦争
ぼくとしりとりの約3.0*10^3日間戦争
 

Recently uploaded

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

初めてのCPUを作ってみた