본문 바로가기

시스템프로그램16

[컴퓨터구조개론] 5. Floating Point Arithmetic Floating Point Number Encoding(IEEE 754 Standard) Floating Point 실수는 아주 큰 숫자 또는 아주 작은 숫자도 포함한다. -2.34 * 10^56(normalized) +0.002 * 10^-4(not normalized) +987.02 * 10^9(not normalized) 위와 같은 표현을 scientific notation이라고 한다. 소수점 앞에 한자리수만 존재하고 0이 아니면 그걸 normalized 그렇지 못하면 not normalized라고 한다. 이진법에서는 +-1.xxxxxx * 2^yyyyy와 같이 표시된다. 중요한건 우리는 xxxxx와 yyyy정도 그리고 sign만 restore하면 된다 그러면 이 숫자를 읽어올 수 있다. Float.. 2020. 10. 20.
[컴퓨터구조개론] 4. Integer Arithmetic Where are we? 이 수업에서 다루고 있는 내용은 ISA에서 RTL까지이다. ISA는 딱 하드웨어와 소프트웨어의 인터페이스이며 ISA를 지나면 소프트웨어는 그 밑에 부분을 볼 수 없다. Microarchitecture는 효율적으로 ISA를 implement한다. 캐쉬가 없이도 말이다. Clock speed, cache size, chips개수 등등을 결정해준다. 다만 오직 layout과 organization이 어떻게 구성이 되어있는지는 그 밑에 있는 부분으로부터 알 수 있다. 간단히 말하자면 간단한 정보는 알 수 있지만 그것이 어떻게 디자인 되어있는지는 알 수 없다는 것이다. Introduction 비트는 비트이다. 무슨 소리일까? 말 그대로 비트는 그냥 1아니면 0이다. 하지만 비트는 협약 같.. 2020. 10. 19.
[컴퓨터구조개론] 3. MIPs Instruction and Set Architecture(2) Representing Instructions Mips에서는 4 byte = 1 instruction이다. $t0 ~ $t7은 reg’s 8 -15 $t8 ~ $t9은 reg’s 23 – 25 $s0 ~ $s7은 reg’s 16 – 23 MIPS R-format(encoding scheme) Instructions Op: operation code(opcode) 6비트 Rs: first source register number 5비트 Rt: second source register number or target register 5비트 Rd: destination register number(결과값이 저장되는 레지스터) 5비트 Shamt: shift amount 5비트 (추후에 더 자세히..) shift .. 2020. 10. 18.
[컴퓨터구조개론] 2.MIPS Instruction and Set Architecture(1) Architecture 우리가 흔히 말하는 architecture와 컴퓨터시스템의 architecture와는 조금 다르다. 아키텍쳐의 정의: “the attributes of a system as seen by the programmer, the conceptual structure and functional behavior” 간단히 얘기하자면 소프트웨어와 하드웨어사이를 보이게 하는 interface이다. Interface의 예로 키보드, 마우스등이 있다. 하지만 여기서 얘기하는 interface는 instruction이다. Instruction을 통해서 소프트웨어가 하드웨어를 작동시키는 원리다. User(OS, compiler..)는 기계가 어떤원리로 작동하는지 알아야한다. 하지만 우리는 깊게는 알 필.. 2020. 10. 17.
[컴퓨터구조개론] 1. Computer abstraction and technology computer revolution 현대의 revolution은 거진 끝나고 거의 모든 부분에 컴퓨터가 있다. 예)차, 스마트폰, 비행기 등… 이미 보편적 computer revolution뒤에는 무어의 법칙이 있었다. 무어의 법칙은 얼마나 컴퓨터가 빨리 진화하는 지 보여준다. (novel: 새로운) 무어의 법칙이란? 무어의 법칙은 1965에 제시되었다. 무어의 법칙은 microprocessor제작과 아키텍쳐에서 가장 중요한 가이드라인이다. “각칩의 트렌지스터가 18개월마다 두배가량 증가될 것이다.” 트렌지스터가 많을 수록 더 나은 performance를 시행할 수 있다. “칩이 더 복잡해질수록(기능이 좋아질수록) 제작시 쓰는 돈이 늘어날 것이다.” 무어의 법칙은 40년동안 실행이 되었다. 컴퓨터의 종류.. 2020. 10. 17.
[시스템프로그램]03-1-1 Program encodings(1) 3장부터는 프로그램이 어떻게 binary로 표현되는지 알아보고 C코드 기준으로 살펴보도록 할것이고 하드웨어는 x86-64 그리고 필요할때에는 IA32를 살펴볼 것이다. 운영체제의 환경은 Linux가 되고 gcc컴파일러를 사용할 것이다. 이 장에서 우리들은 multicore artichetectuer, hyperthreading, SSE, AVX등과 같은 개념들에대해 알게 될 것이다. 일반적으로 우리가 기계어코드를 알어보기 힘들기 때문에 사실상 주로 assembly code들을 살펴본다. 우리가 assembly code를 보면 할 수 있는 일이 크게 두가지가 있다. 첫번째는 컴파일러가 optimization을 한다. 그래서 optimization을 컴파일러가 어떤식으로 하는지 살펴볼수 있다. 그전에 opt.. 2020. 5. 2.
[시스템프로그램]02-3-3 실수와 사칙연산(3) 저번 수업까지 실수에 대해서 배웠다면 이제부터 실수의 사칙연산에 대해 배워본다. 저번 시간에 floating point(실수)는 모든 수를 표현할 수 없다고 배웠다. 그래서 그러한 단점들을 보안하기 위해 실수는 rounding이란 것이 필요하다. Rounding이란 우리가 예전 수학시간에서 배웠던 반올림과 비슷한 개념이다. 정수를 표현했을 때는 모든 수들을 차례로 표현이 가능했지만 실수에서는 그런 것이 불가능하여 Rounding을 사용한다. 실수의 Rounding은 총네가지가 있다. Round-to-even Round-toward-zero Round-down Round-up 이중에서 제일 많이 쓰는 rounding이 바로 round to even이다. 항상 모든 컴파일러들의 실수 round의 defaul.. 2020. 4. 30.
[시스템프로그램]02-3-2 실수와 사칙연산(2) 그럼 Willan Khan아저씨가 만든 IEEE Standard 754라는 실수 표현법 표준안이 어떻게 작동하는지 살펴보도록 한다. IEEE Standard 754는 거의 99퍼센트의 언어에서 사용하고 있지만 사용하지 않는 언어도 있다. 당장만 봐도 c언어에서는 적용되지 않을 때가 있다. 실수는 (-1)^s * M * 2^E식으로 표현이 가능하다. 이것은 저번에도 봤었던 표를 식으로 나타낸것이다. -1^s 는 해당 실수가 양수인지 음수인지 판단하는 sign을 뜻한다. M은 위 그림에서의 fraction부분을 뜻하고 나머지 E는 exponent을 뜻한다. M은 fraction부분이지만 거의 1에서 2사이의 수가 된다. 일부로 1을 추가로 준것이다. 주로 우리가 사용하는 컴퓨터는 32비트 또는 62비트를 사.. 2020. 4. 30.
[시스템프로그램]02-3-1 실수와 사칙연산(1) 이제 정수 파트를 다 살펴보았고 실수부분을 실수 자체에서 사칙연산까지 살펴보도록 한다. 일단 실수는 점이 들어가 있는 숫자를 뜻한다. 예를 들어 0.123, 2.7182818..., 3.14159265358.... 같은 숫자들을 실수라고 한다. fraction value할려면 실수이다. 또한 실수라는 수는 굉장히 작은 수 혹은 굉장히 큰 수를 표현하기 위해서 만들어졌다고 한다. 예를 들어서 지구에서 태양과의 거리 등등 이 있네요. 컴퓨터시스템에서 실수는 3가지로 구성이 된다. sign, exponent, fraction이다. 대충 위 그림과 같이 구성이 되있습니다. 왼쪽부터 설명하자면 sign은 양수,음수를 판단, exponent은 지수값 그리고 fraction은 수 데이터를 의미한다. 본격적으로 실수에.. 2020. 4. 29.