엔디안의 유래 엔디언이라는 단어는 조너선 스위프트의 에 나오는 소인국 릴리퍼트 이야기에서 달걀을 깰 때 뭉툭한 끝 (big-end)를 먼저 깨는 사람들(빅엔디언)과 뾰족한 끝(little-end)를 먼저 깨는 사람들(리틀 엔디언) 사이에 격론이 벌어진 데서 따온 것입니다. 빅 엔디언과 리틀 엔디언 중 어느 것을 쓰느냐 하는 문제는 상황에 따라서 임의적이고, 종종 논란의 대상이 있었습니다. 정의 Big Endian: MSB가 주소가 작은쪽에~ Little Endian: LSB가 주소가 작은쪽에~ 실제에서는? Big Endian: Intel x86, AMD, DEC Little Endian: IBM, SPARC, Motorola 네트워킹 리틀 엔디안 컴퓨터와 빅 엔디안 컴퓨터가 아무런 변환 없이 정보를 소통..
Comparing Performance 같은 일에 대해서, 실행시간이 짧게 걸릴 수록 퍼포먼스는 좋아진다. 그렇다면 실행시간은 어떻게 계산할까? Execution Time 계산하기 Elapsed Time 모든 시간을 다 합친 Total Response Time Processing, I/O, OS Overhead, idle time 등 모두 포함! 비교하기에는 부정확하다 CPU Time User CPU Time, System CPU Time으로 나눠진다. I/O Time이나 다른 프로그램 수행 시간 전부 제외 주로 User CPU Time을 통해서 프로그램의 수행 시간을 계산한다. CPU Clocking Clock Frequency (Clock Rate) 1초에 사이클 몇번?? e.x ) 4 GHz = 4..
ISA(Instruction Set Architecture) 한국어로 직역하면 "명령어 집합 구조" ISA는 최하위 레벨의 프로그래밍 인터페이스로, 프로세서가 실행할 수 있는 모든 명령어들을 포함한다. 명령어 집합, 곧 명령어 집합 구조는 자료형, 명령어, 레지스터, 어드레싱 모드, 메모리 구조, 인터럽트, 예외 처리, 외부 입출력을 포함한 프로그래밍 관련 컴퓨터 아키텍처의 일부이다. 덧셈, 곱셈, 같은 약속들을 CPU에서 정해둔것! MIPS Instruction Set Type에 따라서 Arithmetic Instruction Memory(Data Transfer) Instruction Logical Instruction Conditional Instruction Branch/Jump Instructi..
오래전부터 사람들은 컴퓨터로 음수를 어떻게 표현할까 고민해왔다. 그래서 나온 제일 대표적인 세 방법! 8-bit unsigned int를 예시로 설명한다. 1) 부호-절댓값 방식(sign-magnitude) 부호-절댓값 방식은, 8비트 중 제일 왼쪽 1비트를 부호를 표현하는데 쓰고(0: 양수, 1: 음수), 나머지 7비트로 값을 만든다. 장점: 직관적이다 단점: 1) 양수와 음수를 더했을 때, 값이 옳지 않다. 즉, 뺄셈을 할 수 없다. +5랑 -5랑 더하면, (1000 0101 + 0000 0101 = 1000 1010)으로 -10이 된다..! 2) +0, -0이 생긴다. (1000 0000, 0000 0000 둘 다 0이다) -> 숫자 하나를 더 표현할 기회를 낭비한다..! 2) 1의 보수 방식(1'..