r1.dvi
|
|
- ぜんぺい ふじがわ
- 5 years ago
- Views:
Transcription
1 / 1 / 2 / 3 Lisp 4 5 ( ) 1 (5 1 ) ? 0 1 (bit sequence) (binary system)
2 ( ) ( )? ( 1) r r r3 1: (memory) (address) CPU (instruction) 1 1 (program) (stored program) (Neuman architecture) 1.2 CPU ( ) JavaScript ( 2) ( (code) ) 1 : : 2
3 2: load X add Y store Z stop X: 3 Y: 5 Z: 0 load ( X ) (Acc) add ( Y ) Acc store ( Z ) 2 Acc 1 stop X Y Z X Y (8 ) Z (assembly language) (assembler) 0 1 CPU CPU (machine language) 3
4 2 ( ) 4 ( ) Acc 0 ( ) X Y Z X Y Y load X store Z sub Y ifp Skip load Y store Z Skip: stop X: 3 Y: 5 Z: 0 sub X Acc Z Acc Y X OK Skip (ifp Acc ) 1 Y Acc Z Skip ( ) 1 a. 5 A B C D E Z : 1, 2, 3, 4, 5 15 (16 F) b. A 5 Z : 4 20 (16 14) c. 3 A B C 3 Z : 3, 6, (low level language) CPU 4
5 ? A B C Acc 1 (Idx) load loadx Idx iload 0 Loop: loadx Data ifz End add Sum store Sum iadd 1 jump Loop End: stop Sum: 0 Data: Data iload Idx ( 0) load Acc Idx 0 Data 0 ( 0 ) End Acc Sum iadd Idx 1 jump Loop Data 0 End Sum ( 1) ( ) a. (0 ) : : 15 b. 2 ( 0 ) 2 ( ) : 3 5 : 15 c. (0 ) : : -2 3 ifz zero ifnz not zero ifp positive ifn negative 4 2 (add sub mul load) 2 5
6 1: nop 00,01 stop 02,03 load 04,05 Acc loadx 06,07 ( / Idx ) store 08,09 Acc storex 0a,0b ( Idx ) add 0c,0d Acc sub 0e,0f Acc iload 10,11 Idx iadd 12,13 Idx isub 14,15 Idx ifz 16,17 Acc 0 ifnz 18,19 Acc 0 ifp 1a,1b Acc 0 ifn 1c,1d Acc 0 jump 1e,1f neg 20,21 Acc 1.4 CPU CPU (1 100 ) CPU? 10G( ) AMD64 ( ).globl main main: movl loop: subl jg ret $ , %eax $1, %eax loop.globl main main movl %rax 1G( ) 2 subl 1 3 jg 0 loop subl jg 1G ret ( Unix ) test.s ( Emacs ).s ( % ) % gcc test.s ( ) % time./a.out real 0m0.511s user 0m0.504s CPU 6
7 sys % 0m0.001s 0.5 2G(20 ) CPU 1 4G(40 ) = CPU? ( ) VLSI (digital revolution) 1-3 gcc 1 ( ) a. CPU 1 b. 2 ( 2 ) c. (%eax) subq.globl main main: movl loop: subl jg ret.data mem:.long 0 $ , mem $1, mem loop 1.5 : AMD64 AMD64 Acc Idx 2 7
8 AMD ( ) 3 rax ax ah al eax ah ch dh bh al cl dl bl ax cx dx bx sp bp si di eax ecx edx ebx esp ebp esi edi r8d rax rcx rcx rcx rsp rbp rsi rdi r8 r15d r15 3: AMD64 AMD64 ( ) (%rsp) (%rbp) ( ) CPU (high leve languages) 5 C #include <stdio.h> int main() { int x, y; printf("x> "); scanf("%d", &x); printf("y> "); scanf("%d", &y); while(x!= y) { if(x > y) { x = x - y; else { y = y - x; printf("%d\n", x); 1-4? 5 CPU 8
9 CPU CPU ( ) CPU ( ) CPU CPU CPU CPU while if ( 4) while(x!= y) { BODY cmpl... je.lx.ly BODY if(x > y) { BODY1 else { BODY2 cmpl... jl.lx BODY1 jmp.ly jmp.ly.lx.lx BODY2.Ly 4: C 1-5 C a. else if do-while switch b. c. C 2.2 CPU? (C Java )? ( ) 9
10 1-6 C ( ) a. b. 2 c CPU call ( ) ret 2 5 call call ret ret.addr. stack %rsp larger address (AMD64) 5: call ret call 8 ( ) ret 4 ( ) AMD ( ) ( 6) 6 call ret 6 OS 10
11 adjust sp after call chain bp new frame rsp before call ret.addr ret.addr rbp rsp ret.addr rbp lower frame rsp rbp lower frame rsp rbp lower frame lower frame return restore bp restore sp 6: call/ret sub: pushq %rbp %rbp movq %rsp, %rbp %rbp %rsp subq $, %rsp %rsp ( ) addq $, %rsp %rsp popq %rbp %rbp ret / 2.4 ( ) IA32(32 ) AMD64 ( ) %rdi / %edi 1 %rsi / %esi 2 %rdx / %edx 3 %rcx / %ecx 4 %rax / %eax 2 addasm().globl addasm addasm: movq %rdi,%rax addq %rsi,%rax ret 1 %rax( ) 2 7 / main
12 #include <stdio.h> int addasm(); main() { printf("%d\n", addasm(5, 3)); (C ) a. (rorl) (roll) C b. ( ) c. b setjmp/longjmp 3.1 asm gcc asm asm directive C #include <stdio.h> sub1(int x) { printf("sub1. %d\n", x); //asm("jmp tmp"); sub2(int y) { //asm("tmp:"); printf("sub2. %d\n", y); main() { sub1(99); printf("main.\n"); sub2(88); return 0; asm ( ) sub1. 99 main. sub2. 88? ( ) 12
13 sub1. 99 sub2. 99 main. sub2. 88? gcc -S :-) A B C D call A return call A D %rsp call B C return call B C global goto ret.addr C ret.addr B global exit stack unwinding call D return call D ret.addr A A %rsp nomal exit global exit current: D current: A 7: (D) (A) ( 7 ) C++ Java C D A (?) ( ) A ( 7 ) (1)A (2) C (1) setjmp (2) longjmp #include <stdio.h> #include <setjmp.h> 13
14 jmp_buf buf; sub2() { printf("sub2.\n"); longjmp(buf, 1); sub1() { printf("sub1 entry.\n"); sub2(); printf("sub1 exit.\n"); main() { printf("main entry.\n"); if(setjmp(buf) == 0) { sub1(); printf("main exit.\n"); setjmp.h buf setjmp longjmp? setjmp setjmp setjmp 0 setjmp 0 0 main entry. sub1 entry. sub2. main exit. sub1 exit. sub2 main setjmp 0 longjmp 2 0 (0 1 ) setjmp setjmp/longjmp main longjmp sub2 setjmp main longjmp 1-9 asm main sub2 main 1-10 setjmp/longjmp 14
15 a. longjmp sub1 b. longjmp main c. sub2 setjmp main longjump d ( ) single thread multithread 8: 1 N 1 1 ( 8 ) 1 ( 8 ) 2 1 CPU( CPU ) 1 CPU( CPU ) CPU ( ) CPU 15
16 ( ) CPU OS ( ) 100 stack[0] stack[1] stack[2] 4096 main buf[0] buf[1] buf[2] use[0] use[1] use[2] cur count 2 9: main 9 setjmp/longjmp buf ( ) 9 cur 8 9 main 16
17 count (main ) #include <stdio.h> #include <setjmp.h> #define MAXTHREAD 100 #define STACKSIZE 4096 int stack[maxthread][stacksize]; jmp_buf buf[maxthread]; int use[maxthread]; int cur = 0, count = 0; call cur use 1 count %eax %esp %ebp call use 0 count use 0 ( ) _call(int (*func)(), int *stk, int id) { cur = id; use[cur] = 1; ++count; asm("movq %rsi,%rsp"); asm("callq *%rdi"); use[cur] = 0; --count; gt_yield(); // NO RETURN gt create 1 use 0 call call gt_create(int (*func)()) { int i; for(i = 0; i < MAXTHREAD; ++i) { if(!use[i]) _call(func, &stack[i][stacksize-16], i); // NO RETURN gt yield setjmp buf ( )cur use 1 ( ) ( ) buf longjump setjmp 1 1 gt yield 10 STACKSIZE 16 (64 ) :-) ( ) 10 17
18 gt_yield() { /*printf("switch from %d ", cur);*/ if(setjmp(buf[cur]) == 0) { do { cur = (cur+1) % MAXTHREAD; while(!use[cur]); /*printf("to %d \n", cur);*/ longjmp(buf[cur], 1); API func func2 1 2 func1() { int i; for(i = 0; i < 10; ++i) { printf("func1 %d\n", i); gt_yield(); func2() { int i; for(i = 0; i < 10; ++i) { printf("func2 %d\n", i); gt_yield(); gt_yield(); main() { printf("main enter.\n"); use[0] = 1; ++count; if(setjmp(buf[0]) == 0) gt_create(func1); if(setjmp(buf[0]) == 0) gt_create(func2); while(count > 1) gt_yield(); printf("main exit.\n"); return 0; main 0 use 1 count 1 2 ( setjmp ) 1 ( ) 1-11 a b. 20 c d. 18
() () (parse tree) ( (( ) * 50) ) ( ( NUM 10 + NUM 30 ) * NUM 50 ) ( * ) ( + ) NUM 50 NUM NUM (abstract syntax tree, AST) ( (( ) * 5
3 lex yacc http://www.cs.info.mie-u.ac.jp/~toshi/lectures/compiler/ 2018 6 1 () () (parse tree) ( ((10 + 30) * 50) ) ( ( NUM 10 + NUM 30 ) * NUM 50 ) ( * ) ( + ) NUM 50 NUM NUM 10 30 (abstract syntax tree,
More informationThe 3 key challenges in programming for MC
Aug 3 06 Software &Solutions group Intel Intel Centrino Intel NetBurst Intel XScale Itanium Pentium Xeon Intel Core VTune Intel Corporation Intel NetBurst Pentium Xeon Pentium M Core 64 2 Intel Software
More informationC言語によるアルゴリズムとデータ構造
Algorithms and Data Structures in C 4 algorithm List - /* */ #include List - int main(void) { int a, b, c; int max; /* */ Ÿ 3Ÿ 2Ÿ 3 printf(""); printf(""); printf(""); scanf("%d", &a); scanf("%d",
More informationmain.dvi
20 II 7. 1 409, 3255 e-mail: namba@faculty.chiba-u.jp 2 1 1 1 4 2 203 2 1 1 1 5 503 1 3 1 2 2 Web http://www.icsd2.tj.chiba-u.jp/~namba/lecture/ 1 2 1 5 501 1,, \,", 2000 7. : 1 1 CPU CPU 1 Intel Pentium
More informationプログラミング言語処理系論 (6) Design and Implementation of Programming Language Processors 佐藤周行 ( 情報基盤センター / 電気系専攻融合情報学コース )
プログラミング言語処理系論 (6) Design and Implementation of Programming Language Processors 佐藤周行 ( 情報基盤センター / 電気系専攻融合情報学コース ) 今日やること Perlの吐き出すコードの観察 関数コールに関係するさまざまな話題 Call by ** Frame Calling Convention Perl の生成するコードを観察する
More informationmain
14 1. 12 5 main 1.23 3 1.230000 3 1.860867 1 2. 1988 1925 1911 1867 void JPcalendar(int x) 1987 1 64 1 1 1 while(1) Ctrl C void JPcalendar(int x){ if (x > 1988) printf(" %d %d \n", x, x-1988); else if(x
More informatione.c e.s e.scala /* e.c */ int add(int a, int b) { return a + b; void main() { int a = add(3, 4); printf( %d n, a); ; e.s.text.globl _add _add: pushq %rbp movq %rsp, %rbp movl %edi, -4(%rbp) movl %esi,
More informationAgenda Intro & history LLVM overview Demo Pros & Cons LLVM Intermediate Language LLVM tools
LLVM Intro Syoyo Fujita syoyo@lucillerender.org Agenda Intro & history LLVM overview Demo Pros & Cons LLVM Intermediate Language LLVM tools LLVM , Lightweight Language No! No! No! LLVM , Virtual Machine
More information1.ppt
/* * Program name: hello.c */ #include int main() { printf( hello, world\n ); return 0; /* * Program name: Hello.java */ import java.io.*; class Hello { public static void main(string[] arg)
More informationアセンブラ入門(CASL II) 第3版
CASLDV i COMET II COMET II CASL II COMET II 1 1 44 (1969 ) COMETCASL 6 (1994 ) COMETCASL 13 (2001 ) COMETCASL COMET IICASL II COMET IICASL II CASL II 2001 1 3 3 L A TEX 2 CASL II COMET II 6 6 7 Windows(Windows
More informationC¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç
C (3) if else switch AND && OR (NOT)! 1 BMI BMI BMI = 10 4 [kg]) ( [cm]) 2 bmi1.c Input your height[cm]: 173.2 Enter Input your weight[kg]: 60.3 Enter Your BMI is 20.1. 10 4 = 10000.0 1 BMI BMI BMI = 10
More informationMicrosoft PowerPoint - NxLecture ppt [互換モード]
011-05-19 011 年前学期 TOKYO TECH 命令処理のための基本的な 5 つのステップ 計算機アーキテクチャ第一 (E) 5. プロセッサの動作原理と議論 吉瀬謙二計算工学専攻 kise_at_cs.titech.ac.jp W61 講義室木曜日 13:0-1:50 IF(Instruction Fetch) メモリから命令をフェッチする. ID(Instruction Decode)
More information2008 DS T050049
DS T050049. PSP DS DS DS RPG DS OS Windows XP DevkiPro OS DS CPU ARM devkitarm MSYS MinGW MSYS MinGW Unix OS C++ C++ make nds nds DS DS micro SD Card nds DS DS DS nds C Java C++ nds nds DS 2008 DS T050049
More informationr07.dvi
19 7 ( ) 2019.4.20 1 1.1 (data structure ( (dynamic data structure 1 malloc C free C (garbage collection GC C GC(conservative GC 2 1.2 data next p 3 5 7 9 p 3 5 7 9 p 3 5 7 9 1 1: (single linked list 1
More informationP06.ppt
p.130 p.198 p.208 2 1 double weight[num]; double min, max; min = max = weight[0]; for( i= 1; i < NUM; i++ ) if ( weight[i] > max ) max = weight[i]: if ( weight[i] < min ) min = weight[i]: weight 3 maxof(a,
More informationA 30 A A ( ) 2 C C (, machine language) C (C compiler) ( ) Mac Apple Xcode Clan
C 2017 9 29, 30 5 13 http://nalab.mind.meiji.ac.jp/~mk/labo/text/ 1 2 2 C 2 3 4 3.1 C................................... 4 3.2 Hello world........................................ 5 3.3 5...............................
More informationohp07.dvi
19 7 ( ) 2019.4.20 1 (data structure) ( ) (dynamic data structure) 1 malloc C free 1 (static data structure) 2 (2) C (garbage collection GC) C GC(conservative GC) 2 2 conservative GC 3 data next p 3 5
More informationuntitled
13 Verilog HDL 16 CPU CPU IP 16 1023 2 reg[ msb: lsb] [ ]; reg [15:0] MEM [0:1023]; //16 1024 16 1 16 2 FF 1 address 8 64 `resetall `timescale 1ns/10ps module mem8(address, readdata,writedata, write, read);
More informationO(N) ( ) log 2 N
2005 11 21 1 1.1 2 O(N) () log 2 N 1.2 2 1 List 3-1 List 3-3 List 3-4? 3 3.1 3.1.1 List 2-1(p.70) 1 1 10 1 3.1.2 List 3-1(p.70-71) 1 1 2 1 2 2 1: 1 3 3.1.3 1 List 3-1(p.70-71) 2 #include stdlib.h
More information£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡
(2018) 2018 5 17 0 0 if switch if if ( ) if ( 0) if ( ) if ( 0) if ( ) (0) if ( 0) if ( ) (0) ( ) ; if else if ( ) 1 else 2 if else ( 0) 1 if ( ) 1 else 2 if else ( 0) 1 if ( ) 1 else 2 (0) 2 if else
More informationPC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU
1. 1.1. 1.2. 1 PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU 2. 2.1. 2 1 2 C a b N: PC BC c 3C ac b 3 4 a F7 b Y c 6 5 a ctrl+f5) 4 2.2. main 2.3. main 2.4. 3 4 5 6 7 printf printf
More informationIntel Memory Protection Extensions(Intel MPX) x86, x CPU skylake 2015 Intel Software Development Emulator 本資料に登場する Intel は Intel Corp. の登録
Monthly Research Intel Memory Protection Extensions http://www.ffri.jp Ver 1.00.01 1 Intel Memory Protection Extensions(Intel MPX) x86, x86-64 2015 2 CPU skylake 2015 Intel Software Development Emulator
More information~~~~~~~~~~~~~~~~~~ wait Call CPU time 1, latch: library cache 7, latch: library cache lock 4, job scheduler co
072 DB Magazine 2007 September ~~~~~~~~~~~~~~~~~~ wait Call CPU time 1,055 34.7 latch: library cache 7,278 750 103 24.7 latch: library cache lock 4,194 465 111 15.3 job scheduler coordinator slave wait
More information/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v
1 http://www7.bpe.es.osaka-u.ac.jp/~kota/classes/jse.html kota@fbs.osaka-u.ac.jp /* do-while */ #include #include int main(void) double val1, val2, arith_mean, geo_mean; printf( \n );
More informationC 2 / 21 1 y = x 1.1 lagrange.c 1 / Laglange / 2 #include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 float x[10], y[10]; 7 float xx, pn, p; 8 in
C 1 / 21 C 2005 A * 1 2 1.1......................................... 2 1.2 *.......................................... 3 2 4 2.1.............................................. 4 2.2..............................................
More information¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse
I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2
More information64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved
(Version: 2013/5/16) Intel CPU (kashi@waseda.jp) 1 Intel CPU( AMD CPU) 64bit SIMD Inline Assemler Windows Visual C++ Linux gcc 2 FPU SSE2 Intel CPU double 8087 FPU (floating point number processing unit)
More informationr08.dvi
19 8 ( ) 019.4.0 1 1.1 (linked list) ( ) next ( 1) (head) (tail) ( ) top head tail head data next 1: NULL nil ( ) NULL ( NULL ) ( 1 ) (double linked list ) ( ) 1 next 1 prev 1 head cur tail head cur prev
More informationI ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b
I 4 003 4 30 1 ASCII ( ) 0 17 0 NUL 16 DLE SP 0 @ P 3 48 64 80 96 11 p 1 SOH 17 DC1! 1 A Q a 33 49 65 81 97 113 q STX 18 DC " B R b 34 50 66 8 98 114 r 3 ETX 19 DC3 # 3 C S c 35 51 67 83 99 115 s 4 EOT
More informationcompiler-text.dvi
2018.4 1 2 2.1 1 1 1 1: 1. (source program) 2. (object code) 3. 1 2.2 C if while return C input() output() fun var ( ) main() C (C-Prime) C A B C 2.3 Pascal P 1 C LDC load constant LOD load STR store AOP
More informationI 2 tutimura/ I 2 p.1/??
I 2 tutimura@mist.i.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/ 2002 4 25 I 2 p.1/?? / / Makefile I 2 p.2/?? Makefile make GNU make I 2 p.3/?? Makefile L A T E X I 2 p.4/?? core (1) gcc,
More informationjoho09.ppt
s M B e E s: (+ or -) M: B: (=2) e: E: ax 2 + bx + c = 0 y = ax 2 + bx + c x a, b y +/- [a, b] a, b y (a+b) / 2 1-2 1-3 x 1 A a, b y 1. 2. a, b 3. for Loop (b-a)/ 4. y=a*x*x + b*x + c 5. y==0.0 y (y2)
More information2005 1
25 SPARCstation 2 CPU central processor unit 25 2 25 3 25 4 DRAM 25 5 25 6 : DRAM 25 7 2 25 8 2 25 9 2 bit: binary digit V 2V 25 2 2 2 2 4 5 2 6 3 7 25 A B C A B C A B C A B C A C A B 3 25 2 25 3 Co Cin
More informationpptx
iphone 2010 8 18 C xkozima@myu.ac.jp C Hello, World! Hello World hello.c! printf( Hello, World!\n );! os> ls! hello.c! os> cc hello.c o hello! os> ls! hello!!hello.c! os>./hello! Hello, World!! os>! os>
More information1 Code Generation Part I Chapter 8 (1 st ed. Ch.9) COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University,
1 Code Generation Part I Chapter 8 (1 st ed. Ch.9) COP5621 Compiler Construction Copyright Robert van Engelen, Florida State University, 2007-2013 2 Position of a Code Generator in the Compiler Model Source
More information橡Pro PDF
1 void main( ) char c; /* int c; */ int sum=0; while ((c = getchar())!= EOF) if(isdigit(c) ) sum += (c-'0'); printf("%d\n", sum); main()int i,sum=0; for(i=0;i
More information言語プロセッサ2005
url: kameken.clique.jp/lectures/lectures2014/compiler2014/ 言語プロセッサ 2014 Language Processors 2014 平成 26 年 9 月 22 日 ( 月 ) 東京工科大学コンピュータサイエンス学部亀田弘之 まずはイントロから なぜ言語プロセッサを学ぶのか? (Why do we study a course 言語プロセッサ?)
More information01_OpenMP_osx.indd
OpenMP* / 1 1... 2 2... 3 3... 5 4... 7 5... 9 5.1... 9 5.2 OpenMP* API... 13 6... 17 7... 19 / 4 1 2 C/C++ OpenMP* 3 Fortran OpenMP* 4 PC 1 1 9.0 Linux* Windows* Xeon Itanium OS 1 2 2 WEB OS OS OS 1 OS
More informationII ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D
II 8 2003 11 12 1 6 ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 Daisuke 8 =>. 73 Daisuke 35 Hiroshi 64 Ichiro 87 Junko
More informationPowerPoint Presentation
p.130 p.198 p.208 2 double weight[num]; double min, max; min = max = weight[0]; for( i= 1; i i < NUM; i++ ) ) if if ( weight[i] > max ) max = weight[i]: if if ( weight[i] < min ) min = weight[i]: weight
More informationストリーミング SIMD 拡張命令2 (SSE2) を使用した、倍精度浮動小数点ベクトルの最大/最小要素とそのインデックスの検出
SIMD 2(SSE2) / 2.0 2000 7 : 248602J-001 01/10/30 1 305-8603 115 Fax: 0120-47-8832 * Copyright Intel Corporation 1999-2001 01/10/30 2 1...5 2...5 2.1...5 2.1.1...5 2.1.2...8 3...9 3.1...9 3.2...9 4...9
More informationohp08.dvi
19 8 ( ) 2019.4.20 1 (linked list) ( ) next ( 1) (head) (tail) ( ) top head tail head data next 1: 2 (2) NULL nil ( ) NULL ( NULL ) ( 1 ) (double linked list ) ( 2) 3 (3) head cur tail head cur prev data
More information[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±
[1] #include printf("hello, world."); (G1) int -32768 32767 long int -2147483648 2147483647 float ±3.4 10 38 ±3.4 10 38 double ±1.7 10 308 ±1.7 10 308 char [2] #include int a, b, c, d,
More informationI. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (
2016 2016 07 28 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF : 11011 N N 0 N N 11 1001 N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) 1100100 (2) 1111011 (3) 1110010 (4) 1001011
More information解きながら学ぶC言語
printf 2-5 37 52 537 52 printf("%d\n", 5 + 37); 5370 source program source file.c ex00.c 0 comment %d d 0 decimal -2 -p.6 3-2 5 37 5 37-22 537 537-22 printf("537%d\n", 5-37); function function call ( )argument,
More informationohp1.dvi
2008 1 2008.10.10 1 ( 2 ) ( ) ( ) 1 2 1.5 3 2 ( ) 50:50 Ruby ( ) Ruby http://www.ruby-lang.org/ja/ Windows Windows 3 Web Web http://lecture.ecc.u-tokyo.ac.jp/~kuno/is08/ / ( / ) / @@@ ( 3 ) @@@ :!! ( )
More informationプログラミング言語処理系論 (4) Design and Implementation of Programming Language Processors
プログラミング言語処理系論 (6) Design and Implementation of Programming Language Processors 佐藤周行 ( 情報基盤センター / 電気系専攻融合情報学コース ) 2014-5 の残業から Perl の吐き出すコードをながめてみる Parser Kit 中の vcc6.y をながめてみる 文法定義 パースツリーの格納 実行 fact.pl
More information1153006 JavaScript try-catch JavaScript JavaScript try-catch try-catch try-catch try-catch try-catch 1 2 2 try-catch try-catch try-catch try-catch 25 1153006 26 2 12 1 1 1 2 3 2.1... 3 2.1.1... 4 2.1.2
More information新版明解C言語 実践編
2 List - "max.h" a, b max List - max "max.h" #define max(a, b) ((a) > (b)? (a) : (b)) max List -2 List -2 max #include "max.h" int x, y; printf("x"); printf("y"); scanf("%d", &x); scanf("%d", &y); printf("max(x,
More information:30 12:00 I. I VI II. III. IV. a d V. VI
2018 2018 08 02 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF N N y N x N xy yx : yxxyxy N N x, y N (parse tree) (1) yxyyx (2) xyxyxy (3) yxxyxyy (4) yxxxyxxy N y N x N yx
More informationex01.dvi
,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) double
More informationMicrosoft PowerPoint - NxLec ppt
MIPS R3000 Instruction Set Architecture (ISA) 計算機アーキテクチャ特論 (Advanced Computer Architectures) 2. スカラプロセッサ, スーパースカラプロセッサ Instruction Categories Computational Load/Store Jump and Branch Floating Point coprocessor
More informationI117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara
I117 II I117 PROGRAMMING PRACTICE II SOFTWARE DEVELOPMENT ENV. 1 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of
More informationJava Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225
Java Java Java Java Java 4 p35 4-2 * *** ***** *** * Unix p36 4-3 a,b,c,d 100,200,250,500 a*b = 20000 a*b+c = 20250 a*b+c*d = 145000 (a+b)*(c+d) = 225000 a+b*c+d = 50600 b/a+d/c = 4 p38 4-4 (1) mul = 1
More informationuntitled
II 4 Yacc Lex 2005 : 0 1 Yacc 20 Lex 1 20 traverse 1 %% 2 [0-9]+ { yylval.val = atoi((char*)yytext); return NUM; 3 "+" { return + ; 4 "*" { return * ; 5 "-" { return - ; 6 "/" { return / ; 7 [ \t] { /*
More informationAgenda Motivation How it works Performance Limitation Conclusion
py2llvm: Python to LLVM translator Syoyo Fujita Agenda Motivation How it works Performance Limitation Conclusion Agenda Motivation How it works Performance Limitation Conclusion py2llvm Python LLVM Python,
More informationTEX American Mathematical Society PostScript Adobe Systems Incorporated
P A D manual ( pad2ps 3.1j ) (seiichi@muraoka.info.waseda.ac.jp) 1996 11 2 TEX American Mathematical Society PostScript Adobe Systems Incorporated pad2ps PAD PAD (Problem Analysis Diagram) C 1 2 PAD PAD
More information新・明解C言語で学ぶアルゴリズムとデータ構造
第 1 章 基本的 1 n 141 1-1 三値 最大値 algorithm List 1-1 a, b, c max /* */ #include int main(void) { int a, b, c; int max; /* */ List 1-1 printf("\n"); printf("a"); scanf("%d", &a); printf("b"); scanf("%d",
More informationlexex.dvi
(2018, c ) http://istksckwanseiacjp/ ishiura/cpl/ 4 41 1 mini-c lexc,, 2 testlexc, lexc mini-c 1 ( ) mini-c ( ) (int, char, if, else, while, return 6 ) ( ) (+, -, *, /, %, &, =, ==,!=, >, >=,
More informationI. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *
2015 2015 07 30 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) +
More information情報処理学会研究報告 IPSJ SIG Technical Report Vol.2014-ARC-210 No.10 Vol.2014-OS-129 No /5/15 Continuation based C LLVM/clang 3.5 Data Segment, Code Seg
Continuation based C LLVM/clang 3.5 Data Segment, Code Segment CbC, C, LLVM/clang-3.5 CbC The implementation of Continuation based C Compiler on LLVM/clang 3.5 Kaito Tokumori and Shinji Kono A programming
More informationMicrosoft PowerPoint - Lecture ppt [互換モード]
2012-05-31 2011 年前学期 TOKYO TECH 固定小数点表現 計算機アーキテクチャ第一 (E) あまり利用されない 小数点の位置を固定する データ形式 (2) 吉瀬謙二計算工学専攻 kise_at_cs.titech.ac.jp W641 講義室木曜日 13:20-14:50-2.625 符号ビット 小数点 1 0 1 0 1 0 1 0 4 2 1 0.5 0.25 0.125
More informationprogram.dvi
2001.06.19 1 programming semi ver.1.0 2001.06.19 1 GA SA 2 A 2.1 valuename = value value name = valuename # ; Fig. 1 #-----GA parameter popsize = 200 mutation rate = 0.01 crossover rate = 1.0 generation
More information‚æ4›ñ
( ) ( ) ( ) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 (OUS) 9 26 1 / 28 ( ) ( ) ( ) A B C D Z a b c d z 0 1 2 9 (OUS) 9
More information1 NScripter 1 [ NScripter ] NScripter NScripter 2 nathki bugyo 1 http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-1104-5 2 http://www.pulltop.com/gp04/ 2 NScripter NScripter BASIC ( ) NScLisper
More information64bit SSE2 SSE2 FPU Visual C++ 64bit Inline Assembler 4 FPU SSE2 4.1 FPU Control Word FPU 16bit R R R IC RC(2) PC(2) R R PM UM OM ZM DM IM R: reserved
(Version: 2013/7/10) Intel CPU (kashi@waseda.jp) 1 Intel CPU( AMD CPU) 64bit SIMD Inline Assemler Windows Visual C++ Linux gcc 2 FPU SSE2 Intel CPU double 8087 FPU (floating point number processing unit)
More information() / (front end) (back end) (phase) (pass) 1 2
1 () () lex http://www.cs.info.mie-u.ac.jp/~toshi/lectures/compiler/ 2018 4 1 () / (front end) (back end) (phase) (pass) 1 2 () () var left, right; fun int main() { left = 0; right = 10; return ((left
More informationtuat1.dvi
( 1 ) http://ist.ksc.kwansei.ac.jp/ tutimura/ 2012 6 23 ( 1 ) 1 / 58 C ( 1 ) 2 / 58 2008 9 2002 2005 T E X ptetex3, ptexlive pt E X UTF-8 xdvi-jp 3 ( 1 ) 3 / 58 ( 1 ) 4 / 58 C,... ( 1 ) 5 / 58 6/23( )
More informationex01.dvi
,. 0. 0.0. C () /******************************* * $Id: ex_0_0.c,v.2 2006-04-0 3:37:00+09 naito Exp $ * * 0. 0.0 *******************************/ #include int main(int argc, char **argv) { double
More informationC
C 1 2 1.1........................... 2 1.2........................ 2 1.3 make................................................ 3 1.4....................................... 5 1.4.1 strip................................................
More information:30 12:00 I. I VI II. III. IV. a d V. VI
2017 2017 08 03 10:30 12:00 I. I VI II. III. IV. a d V. VI. 80 100 60 1 I. Backus-Naur BNF X [ S ] a S S ; X X X, S [, a, ], ; BNF X (parse tree) (1) [a;a] (2) [[a]] (3) [a;[a]] (4) [[a];a] : [a] X 2 222222
More informationuntitled
II yacc 005 : 1, 1 1 1 %{ int lineno=0; 3 int wordno=0; 4 int charno=0; 5 6 %} 7 8 %% 9 [ \t]+ { charno+=strlen(yytext); } 10 "\n" { lineno++; charno++; } 11 [^ \t\n]+ { wordno++; charno+=strlen(yytext);}
More informationARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................
More informationI117 7 School of Information Science, Japan Advanced Institute of Science and Technology
I117 7 School of Information Science, Japan Advanced Institute of Science and Technology time time t long typedef long time_t; 1970/01/01 0:00:00 time t = time(null); Japan Advanced Institute of Science
More information( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I
GPGPU (II) GPGPU CUDA 1 GPGPU CUDA(CUDA Unified Device Architecture) CUDA NVIDIA GPU *1 C/C++ (nvcc) CUDA NVIDIA GPU GPU CUDA CUDA 1 CUDA CUDA 2 CUDA NVIDIA GPU PC Windows Linux MaxOSX CUDA GPU CUDA NVIDIA
More informationXMPによる並列化実装2
2 3 C Fortran Exercise 1 Exercise 2 Serial init.c init.f90 XMP xmp_init.c xmp_init.f90 Serial laplace.c laplace.f90 XMP xmp_laplace.c xmp_laplace.f90 #include int a[10]; program init integer
More informationチーズケーキ技術 17.12
2 1 Node.js 1 9 1 10 1.1...................................... 10 Node.js.............................. 10 FFMPEG............................. 10 1.2............................... 11 JavaScript................................
More information新・明解C言語 実践編
第 1 章 見 21 1-1 見えないエラー 見 List 1-1 "max2x1.h" a, b max2 List 1-1 chap01/max2x1.h max2 "max2x1.h" #define max2(a, b) ((a) > (b)? (a) : (b)) max2 List 1-2 List 1-2 chap01/max2x1test.c max2 #include
More informationNAND FF,,
1. 1.1. NAND FF,, 1.2. 2. 1 3. アドレス ( 番地 ) 0 99 1 3 2 4 3 20 4 2 5 20 4. 8bit(0255) 7(3+4) 16 8 命令表 (0~255) コード内容 ( 機械語 ) ( 次の番地の内容 )+( 次の次の番地の内 99 容 ) の結果を次の次の次に書いてある番地に格納 2STOP A0A7, A8A15 D0D7 2 4.2.
More informationspa99.dvi
2 SPA 99 Java masuhara@graco.c.u-tokyo.ac.jp yonezawa@is.s.u-tokyo.ac.jp Java 1 ( specialization) (partial evaluation) [6, 8] ( ) (run-time specialization 1 ) [2 5, 9, 10, 12, 13] (bytecode specialization)
More informationDA100データアクイジションユニット通信インタフェースユーザーズマニュアル
Instruction Manual Disk No. RE01 6th Edition: November 1999 (YK) All Rights Reserved, Copyright 1996 Yokogawa Electric Corporation 801234567 9 ABCDEF 1 2 3 4 1 2 3 4 1 2 3 4 1 2
More informationdouble float
2015 3 13 1 2 2 3 2.1.......................... 3 2.2............................. 3 3 4 3.1............................... 4 3.2 double float......................... 5 3.3 main.......................
More information2
WV-CW960 2 3 4 5 6 7 8 9 10 11 SW1 S TA RT RS485Setting SW2 DIP SW1 ON 1 2 3 4 5 6 7 8 ON 1 2 3 4 DIP SW2 12 13 q w q e 14 15 16 17 18 19 ** RS485 SETUP ** UNIT NUMBER SUB ADDRESS BAUD RATE DATA BIT PARITY
More informationTaro-再帰関数Ⅱ(公開版).jtd
0. 目次 6. 2 項係数 7. 二分探索 8. 最大値探索 9. 集合 {1,2,,n} 上の部分集合生成 - 1 - 6. 2 項係数 再帰的定義 2 項係数 c(n,r) は つぎのように 定義される c(n,r) = c(n-1,r) + c(n-1,r-1) (n 2,1 r n-1) = 1 (n 0, r=0 ) = 1 (n 1, r=n ) c(n,r) 0 1 2 3 4 5
More informationchar char 1 signed char unsigned char ( ; single-quote 0x27) ASCII Japan Advanced Institute of Science and Technology
I117 3 1 School of Information Science, Japan Advanced Institute of Science and Technology char char 1 signed char -128 127 unsigned char 0 255 ( ; single-quote 0x27) ASCII Japan Advanced Institute of
More information.,. 0. (MSB). =2, =1/2.,. MSB LSB, LSB MSB. MSB 0 LSB 0 0 P
, 0 (MSB) =2, =1/2, MSB LSB, LSB MSB MSB 0 LSB 0 0 P61 231 1 (100, 100 3 ) 2 10 0 1 1 0 0 1 0 0 100 (64+32+4) 2 10 100 2 5, ( ), & 3 (hardware), (software) (firmware), hardware, software 4 wired logic
More informationall.dvi
fortran 1996 4 18 2007 6 11 2012 11 12 1 3 1.1..................................... 3 1.2.............................. 3 2 fortran I 5 2.1 write................................ 5 2.2.................................
More informationC B
C 095707B 2010 6 8 1 LEVE1 2 1.1 LEVEL 1.1................................................ 2 1.1.1 1................................................ 2 1.1.2 1.2..............................................
More information/ SCHEDULE /06/07(Tue) / Basic of Programming /06/09(Thu) / Fundamental structures /06/14(Tue) / Memory Management /06/1
I117 II I117 PROGRAMMING PRACTICE II 2 MEMORY MANAGEMENT 2 Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara yasu@jaist.ac.jp / SCHEDULE 1. 2011/06/07(Tue) / Basic of Programming
More information,…I…y…„†[…e…B…fi…O…V…X…e…•‡Ì…J†[…l…‰fi®“ì‡Ì›Â”‰›»pdfauthor
OS 1 1 4 1.1........................................... 4 1.2........................................... 4 2 5 2.1..................................... 5 2.2 OS................................... 5 3 7
More informationRaVioli SIMD
RaVioli SIMD 17 17115074 i RaVioli SIMD PC PC PC PC CPU RaVioli RaVioli CPU RaVioli CPU SIMD RaVioli RaVioli SIMD RaVioli SIMD RaVioli SIMD 1 1 2 RaVioli 2 2.1 RaVioli.......................................
More information£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裶²ó ¨¡ À©¸æ¹½Â¤¡§·«¤êÊÖ¤· ¨¡
(2018) 2018 5 24 ( ) while ( ) do while ( ); for ( ; ; ) while int i = 0; while (i < 100) { printf("i = %3d\n", i); i++; while int i = 0; i while (i < 100) { printf("i = %3d\n", i); i++; while int i =
More informationkiso2-03.key
座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v
More information(Basic Theory of Information Processing) Fortran Fortan Fortan Fortan 1
(Basic Theory of Information Processing) Fortran Fortan Fortan Fortan 1 17 Fortran Formular Tranlator Lapack Fortran FORTRAN, FORTRAN66, FORTRAN77, FORTRAN90, FORTRAN95 17.1 A Z ( ) 0 9, _, =, +, -, *,
More informationSystemC言語概論
SystemC CPU S/W 2004/01/29 4 SystemC 1 SystemC 2.0.1 CPU S/W 3 ISS SystemC Co-Simulation 2004/01/29 4 SystemC 2 ISS SystemC Co-Simulation GenericCPU_Base ( ) GenericCPU_ISS GenericCPU_Prog GenericCPU_CoSim
More informationOpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a))
OpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a)) E-mail: {nanri,amano}@cc.kyushu-u.ac.jp 1 ( ) 1. VPP Fortran[6] HPF[3] VPP Fortran 2. MPI[5]
More information10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV
tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20
More information( ) 1
/ (2014 04 09 ) E-mail: sekido@amp.i.kyoto-u.ac.jp (2014 04 09 ) 1 3 20%7528 50%15 30% 1572372888 (2014 04 09 ) 2 http://www-is.amp.i.kyoto-u.ac.jp/lab/sekido/ (2014 04 09 ) 3 (2014 04 09 ) 4 2006 IT J.
More information2008 IIA (program) pro(before)+gram(write) (artificial language) (programming languege) (programming) (machine language) (assembly language) ( )
2008 IIA 1 1.1 (program) pro(before)+gram(write) (artificial language) (programming languege) (programming) (machine language) (assembly language) () (high-level language) 3 (machine language) (CPU) 0
More informationif clear = 1 then Q <= " "; elsif we = 1 then Q <= D; end rtl; regs.vhdl clk 0 1 rst clear we Write Enable we 1 we 0 if clk 1 Q if rst =
VHDL 2 1 VHDL 1 VHDL FPGA VHDL 2 HDL VHDL 2.1 D 1 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; regs.vhdl entity regs is clk, rst : in std_logic; clear : in std_logic; we
More information