Unsigned Binary Integers | 부호 없는 이진 정수 n비트의 수가 주어지면 다음과 같다. $$x= x_{n-1}2^{n-1}+x_{n-2}2^{n-2}+ \ldots +x_12^1+x_02^0$$ 범위 : 0 ~ $2^n-1$ 32비트를 사용하면, 0 ~ +4,294,967,295 2s-Complement Signed Intergers | 부호 있는 2의 보수 정수 n비트의 수가 주어지면 다음과 같다. $$x=- x_{n-1}2^{n-1}+x_{n-2}2^{n-2}+ \ldots +x_12^1+x_02^0$$ 범위 : $-2^{n-1} ~ 2^{n-1}-1 32비트를 사용하면, -2,147,483,648 ~ +2,147,483,647 일부의 특정한 경우 0 : 0000 0000 $\ld..
Register Operands | 레지스터 오퍼랜드 산술 Instruction(명령어)는 Register Operands를 사용합니다 MIPS에는 32개의 32비트 레지스터를 사용한다. 자주 접근하는 데이터에 사용 0 ~ 31까지 번호로 이름을 사용 32bit 데이터느 "word"라고 불린다. 어셈블러의 이름 임시 변수(Temporary variables)에 대해서는 $t0, $t1, …, $t9 저장된 변수(Saved variables)에 대한 $s0, $s1, …, $s7 설계 원칙 2: 작을수록 빠르다 c.f. 메인 메모리: 수백만 개의 위치를 가짐 Register Operands Example C code f = (g + h) - (i + j); //f, ... , j in $s0, ..., $..
Arithmetic Operations | 산술 연산 덧셈과 뺄셈 - three operands(3개의 피연산자) 2개의 source(소스)와 하나의 destination(목적지)이다. add a, b, c # a get b + c //a = b + c 모든 Arithmetic Operations(산술 연산)은 다음과 같은 형태를 지닌다. 설계 원칙 1: Simplicity favors regularity. 간결성(simplicity)는 규칙성(regularity)을 선호한다. 규칙성(regularity)을 이용하여 간결하게 만든다. 간결성(simplicity)을 통해 더 낮은 비용으로 더 높은 성능을 제공한다. 간결하게 만들어야 저렴한 가격의 기계에서도 높은 성능을 이끌어낼 수 있음. Arithmeti..
Instruction Set | 명령 집합 컴퓨터의 Instruction(명령어)들의 Repertorie(레파토리) 각각 컴퓨터마다 Instruction set(명령어 집합)이 다르다. 하지만, 많은 공통점들이 있다. 초창기 컴퓨터에는 매우 간단한 Instruction set(명령어 집합)이 있었다. 단순하게 구현되어 있다. 많은 현대 컴퓨터들은 또한 간단한 Instruction sets(명령어 집합들)을 가지고 있다. The MIPS Instruction Set | MIPS 명령 집합 책 전체에서 MIPS를 예시로 사용되고 있다. 스텐포드 MIPS는 MIPS Technologies에 의해서 상용화 되었다. 임베디드 코어 시장의 큰 부분을 점유율을 차지하고 있다. 가전제품, 네트워크/저장 장치, 카메라,..
Addressing Mondes 그림 참조 Addressing Mondes Summary | 주소 지정 요약 중요한 데이터 주소 지정 모드 : Displacemoent(변위), Immediate(즉시), Reguster Indirect(간접 레지스터) Displacemoent(변위) 크기는 12~16비트 Immediate(즉시) 크기는 8~16바트
Big Endian Big Endian은 상위 바이트를 뜻합니다. Big Endian은 메모리에 저장될 때 상위 바이트가 먼저 저장되기 때문에 메모리 주소가 작은쪽에 히위 바이트가 저장됩니다. MIPS, Sparc... Little Endian Little Endian은 하위 바이트를 뜻합니다. Little Endian은 메모리에 저장될 때 하위 바이트가 먼저 저장되기 때문에 메모리 주소가 작은 쪽에 상위 바이트가 저장됩니다. Intel 80x86, DEC Vax, RISC-V... 이해를 돕기 위한 그림 메모리에 저장될 때는 아래와 같은 그림으로 저장된다. *msb(Most Significant Bit) : 가장 큰 자릿수의 비트, 즉 가장 왼쪽 비트 *lsb(Least Significant Bit) ..
Amdahl's “Law” | 암달의 법칙 컴퓨터 시스템의 일부를 개선할 때 전체적으로 얼마만큼의 최대 성능 향상이 있는지 계산하는데 사용된다. Speedup = 1 / [(1 - P) + (P / S)] "전체 작업에 대한 속도 향상 비율 = 1 / [(1 - 전체 작업 중 개선된 부분이 차지하는 비율) + ( 전체 작업 중 개선된 부분이 차지하는 비율/개선된 부분에 대한 속도 향상 비율)]" 로 정리할 수 있다. 즉, 다시 말해 Speedup : 전체 작업에 대한 속도 향상 비율 P : 전체 작업 중 개선된 부분이 차지하는 비율 S : 개선된 부분에 대한 성능(속도) 향상 비율 Example 시스템의 80%가 개선되어 5배의 성능 향상이 있었다면, 전체 시스템에서 최대 성능 향상은 다음과 같다. Sp..
Pros(장점) Basis of Evaluation Cons(단점) 가장 대표적이며, 성능을 정확하게 측정할 수 있음 Actual Target Workload (컴퓨터가 수행할 실제 작업) ㆍ특정 상황에만 측정 가능 ㆍ비이식성(환경 호환↓) ㆍ실행 또는 측정이 어려움 ㆍ컴퓨터 성능에 미치는 요인을 파악하기 어려움 ㆍ이식성이 좋음(환경 호환↑) ㆍ많은 사람들에게 인정받고 사용됨 ㆍ현실에서 유용하게 적용됨 Full Application Benchmarks (컴퓨터가 수행할 프로그램 일부를 실행) 왜곡된 결과를 보여줄 수 있음(실제 선능과 차이가 날 수가 있음) 간단하고 빠르게 실행 가능 Small "Kernel" Benchmarks (컴퓨터가 수행할 프로그램 중 중요한 부분을 추출하여 실행) ㆍeasy to..