전체 글
-
조건 코드System Programming 2019. 10. 2. 02:25
조건 코드 CPU에는 조건 코드라고 불리는 단일 비트 레지스터가 존재한다. 이들은 분기를 표기하는 데 이용한다. 이 4개의 코드들은 최근 연산에 대해 다음의 정보를 저장한다. CF Carry Flag MSB에서 받아올림이 생겼는가?=Unsigned에서 오버플로우가 발생하였는가? ZF Zero Flag 결과가 0인가? SF Sign Flag 결과가 음수인가? OF Overflow Flag Signed 연산에서 양수/음수의 2의 보수 오버플로가 발생하였는가? (주의: leaq는 주소에 관련된 명령어이므로 이 코드들을 변경시키지 않음.) 조건 코드만을 변경시키는 명령어도 존재한다. 각각 cmpq, testq로, 뒤의 값-앞의 값과 뒤의 값&앞의 값을 리턴한다. 하단의 표는 각 명령어가 조건 코드를 언제 변경시..
-
프로그램 작동의 기초System Programming 2019. 10. 1. 22:16
CPU 프로그램은 본질적으로 CPU에게 이래라저래라 시키는 것이다. 이것들 중 우리가 건드릴 수 있는 것은 이하와 같다. 프로그램 카운터(PC): 컴퓨터 아님. %rip로 표기하며, 다음 인스트럭션의 메모리 주소를 담고 있다. 정수 레지스터 파일: 64비트 값을 저장하기 위한 16개의 이름을 붙인 위치를 가지고 있다. 이들이 저장하는 것은 포인터나 정수. 조건 코드 레지스터: 가장 최근에 실행한 산술/논리 인스트럭션 정보 저장. if/while 등 실행에 이용되는 곳이다. 벡터 레지스터: 이들의 집합이 정수/float를 저장한다. 어셈블리어 고급 언어 그 자체는 컴퓨터가 이해 불가능. 그래서 기계어로 바꿔야 하는데, 이 과정은 한 번 만에 이루어지는 것이 아니라, 여러 번에 걸쳐 이루어진다. 우선적으로는..
-
부동 소수점 표현System Programming 2019. 9. 22. 03:10
부동 소수점 부동은 不動이 아닌, 浮動-즉 떠서 움직인다는 뜻이다. 원어는 Floating point인데, floating을 번역하다 보니 이렇게 된 것이다. 소수점의 위치가 수에 따라 달라진다. 부동 소수점의 원리는 과학적 기수법의 그것과 흡사하다. 수를 x×2y 형태로 나타내는 것이 근간이 된다. 즉 과학적 기수법의 2진법에서의 형태라 생각하면 좋다. 실질적으로 이용되는 IEEE 표준은 (−1)sM22 형태로 수를 나타낸다. 각각의 수가 의미하는 것은... s는 sign bit다. 양수는 0, 음수는 1이다. M은 [1.0, 2.0) 사이의 비율 이진수, 즉 유효숫자이다. 십진법에서 유효숫자는 [1.0, 10.0)이란 걸 생각하면 쉽다. E는 2의 지수. 당연히 음수도 ..
-
수 표기 1편System Programming 2019. 9. 11. 01:00
비트와 바이트 비트는 0 또는 1로 나타내는 정보의 최소단위이며, 비트 8개를 하나로 묶어서 1바이트로 취급한다. 비트 8개이므로 28=256가지의 정보를 표현할 수 있으며, 이 때문에 십진수로는 0부터 255, 십육진수로는 00부터 FF까지로 표기된다. 부울(불) 대수 불 대수는 불이 붙은 물건의 상태를 서술하는 것이다. -백괴사전- ...농담이고, 실제로는 참/거짓을 나타내는 것이다. 참은 1, 거짓은 0으로 나타내며, 이를 이용한 논리 연산을 불 연산이라 한다. 불 대수의 기본적인 연산은 총 4가지로, &, |, ~, ^이다. &는 논리곱으로, p와 q가 1이어야만 1을 return한다. & 0 1 0 0 0 1 0 1 |는 논리합으로, p와 q 중 1이 있으면 1을 return한다. | ..
-
집합 관련DM 2019. 9. 10. 22:43
멱집합 특정 집합 X에 대해, X의 부분집합들로 이루어진 집합을 의미한다. 기호는 P(X). 집합 X의 원소의 개수가 n개라면 P(X)의 원소의 개수는 2n개이다. 각 원소마다 부분집합에 포함되는지 아닌지 2가지의 경우가 존재하므로, 2n가지 집합이 있으면 그것으로 모든 부분집합을 표현할 수 있다. 집합의 대수법칙 Identity 이름 A∩U=A A∪ϕ=A Identity Laws(항등 법칙) A∪U=U A∩ϕ=ϕ Domination Laws(지배 법칙) A∩A=A A∪A=A Idempotent Laws(멱등..