본문 바로가기

전체 글10

[Think] 한마디한마디 신중하게.. 말은 많은 종류의 보석 중에 하나를 골라 건네는 것과 같아요.더 좋은 보석이 있을 수도 있고 상대방이 보기엔 마음에 들지 않을 수도 있으니 조금더 신중히 골라보는 건 어떨까요??이민교 "사랑을 글쓰기로 배웠어요" 6.p 2025. 4. 8.
[전공_컴퓨터구조] Computer Abstraction & Technology 2 CPU Clocking 모든 디지털하드웨어는 일정한 속도의 클럭으로 제어된다. Clock period : 한 클럭 사이클에 소요되는 시간 Clock frequency : 단위시간당 클럭 사이클 수 *이 둘은 본질적으로는 같으며, 역수관계를 가진다. CPU Performance Equation [중요] CPU Time = CPU Clock Cycles(총 사이클수) X Clock Cycle Time(클럭사이클 하나당 시간) = CPU Clock Cycles / Clock Late(클럭 속도) CPU 성능 방정식은 위와 같다. "성능이 향상되었다."는 것은 CPU Time이 감소하였다는 것이고, CPU Clock Cycles나 Clock Cycle Time이 감소하였거나, Clock Late가 증가하였다는 .. 2019. 9. 16.
[전공_컴퓨터구조] Computer Abstraction & Technology 기본적인 컴퓨터의 추상화구조 컴퓨터는 하드웨어(Hardware)와 소프트웨어(Software)로 나뉘며, 소프트웨어는 굳이 나누자면 시스템소프트웨어(ex. 운영체제)와 응용소프트웨어(ex. 게임, 앱)으로 구분한다. 이들 사이에는 둘을 맞닫아 있는 둘을 상호작용하게 하는 인터페이스(Interface)가 있다. 인터페이스는 ISA(Instruction Set Interface), " 인스트럭션 집합 인터페이스 "라는 말로 설명이 가능하다. Instruction이란 사전적의미로는 "명령"이라 할 수 있지만, "지시"라는 단어가 더 직관적인 설명에 가깝다. 우리가 개발함으로써 소프트웨어를 통해 하드웨어에게 내리는 명령하나하나를 Instruction이라고 할 수 있다. Instruction의 집합으로 이루어진 .. 2019. 9. 14.
[전공_시스템프로그래밍] 정수(Integer)의 연산 컴퓨터에서의 정수의 연산은 역시나 인간의 연산과는 다르게 인간이 처음 컴퓨터를 만들 때 정해놓은 방식과 그 한계에 의해서 왜곡되어서 표현된다. 1. 덧셈 정수의 덧셈은 이진수를 더하는 것과 같다. 실제로 컴퓨터는 ( u+v mod 2^32)로 계산이 된다. 여기서 주의해야할 점은 덧셈을 했을때 해당 워드 범위를 벗어나면 어떻게 되는지에 대해 알아야한다. 먼저 비부호형(unsigned)의 경우 워드범위를 벗어난 비트(캐리)는 버려진다. 예를 들면, 1111 + 1111 = 11110 = 1110 (2진수) 위 예시와 그림처럼 캐리가 사라짐으로써 원래값보다 작아지는 것을 볼수있다. 다음으로 부호형 정수의 덧셈 역시 비부호형 정수와 비슷한형태로 이루어지는데, 맨앞의 캐리를 버린다는 개념은 동일하지만, 두가지 .. 2019. 9. 14.
[전공_시스템프로그래밍] 정수(Integer) 부호확장 부호확장의 목적은 w비트의 정수 x가 주어질 떄 x를 w+k 비트보다 길이가 긴 정수로 변환시키기 위함이다. 규칙은 간단하다. x의 부호비트를 k개 복사하여 뒤에 붙여준다. 아래와 같다. 예를 들면, Decimal Hex Binary x 15213 3B 6D 00111011 01101101 ix 15213 00 00 3B 6D 00... 00111011 01101101 y -15213 C4 93 11000100 10010011 iy -15213 FF FF C4 93 11... 11000100 10010011 위와 같이 부호비트가 0이면 0을, 1이면 1을 확장할 비트수 만큼 채워주면 된다. C언어에서는 이러한 부호확장을 자동으로 해준다. 2019. 9. 9.
[전공_시스템프로그래밍] 정수(Integer) 데이터타입 컴퓨터는 모든 수를 0과 1로 표현한다. 먼저 정수(Integer)의 표현을 살펴보자. 정수는 이름그대로 부호를 갖는다. 컴퓨터에서는 Unsigned Integer, Signed Integer 이렇게 두가지로 나누는데 같은 이진수의 정수여도 Unsign이냐 Signed냐에 따라서 표현되는 값이 다른다. 예를 들면 16진수 2진수 Unsigned Signed 0x51 0101 0001 81 81 0xD9 1101 1001 217 -39 두가지 경우를 예로 들수 있는데 Signed 10진수 x Unsigned 10진수 Ux 라 할때 x>=0 이면 x와 Ux가 같다. 하지만 x=0) ux = x+2^w (xTMax에 해당되어 x=ux-2^w, 즉 음수로 변환된다. 그래서 Constant1 > Constant2.. 2019. 9. 9.