이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. floating point 이전 강의에서 정수형 자료의 표현방법과 덧셈, 곱셈 등 연산 방법에 대해 살펴보았다. 그렇다면 실수(Real number)는 어떻게 표현해야할까? 예를 들어 1/3은 0.333333으로 계속 끝이 없는 무한소수이다. 이 값을 어떻게 컴퓨터로 표현할 수 있을까? 위 C 코드의 실행결과는 어떻게 될까? 인간의 관점으로 생각해본다면 0.0부터 시작하여 0.1씩 더하므로 총 10번의 반복문이 실행될 것이라고 생각할 수 있다. 하지만 실제로 ..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. CH3. Arithmetic for Computers 인간은 무한대에 대해 생각할 수 있지만 컴퓨터는 항상 한정된 공간의 자원만 사용이 가능하다. 따라서 컴퓨터로 무한대의 수를 표현하는 것은 불가능하다. 한정된 숫자만 표현할 수 있다. 컴퓨터는 한정된 숫자만 표현할 수 있기에 산술 연산을 할 때 Overflow가 발생할 수 있다. 이는 데이터를 저장할 수 있는 Bit를 초과하여 발생하는 현상이다. 예를 들어 단 3bit만 존재한다면 부호가 없다고 가정했을 때 ..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. String copy Example 문자열을 복사하는 strcpy함수가 MIPS 코드로 어떻게 번역되는지 알아보자. x와 y의 주소는 각각 $a0,$a1에 저장되어 있으며 i는 $s0에 저장되어 있다. 먼저 addi연산을 통해 스택 포인터를 이동시켜 스택을 사용할 공간을 확보했다. 그 후 i의 값을 스택에 저장하고 i=0을 수행한다. 그 후 $t1에 $s0과 $a1을 더한 값을 저장한다. 이는 y+i의 주소를 의미한다. 그 후에 $t2에 y [i]의 값을 저장..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. Representing Instructions 명령들을 나타내는 방법에 대해 알아보자. MIPS에서 명령들은 32Bit으로 Encoded 된다. 이는 ISA마다 다를 수 있다. MIPS는 32개의 레지스터를 가지고 있다. 레지스터들은 각각의 번호마다 쓰이는 역할이 다르다. (Green card 참조) 먼저 R-format 연산에 대해 살펴보자. R-format은 위 그림과 같이 구성되어 있다. op필드는 이 연산이 어떤 연산인지를 나타낸다. 만약 R-forma..
이 포스트는 「Computer Networks: A System Approach , By L.Peterson , 5th, 2011」 을 참고하여 작성했습니다. 저번 강의에서 프로토콜의 관계를 나타낸 프로토콜 그래프에 대해 살펴보았다. 이번에는(계층적) 프로토콜의 동작 원칙에 대해 알아보겠다. 호스트 1과 2의 네트워크 통신을 나타낸 그림이다. 호스트 1의 app과 호스트 2의 app의 통신을 위해서는 계층화된 구조를 이용하여 물리적인 교환을 하는 과정이 필요하다. 즉, 호스트 1이 Sender라면 호스트 1의 App에서 데이터를 아래 계층으로 보내어 결국 가운데에 있는 네트워크 망을 통하여 교환이 이루어진다. App에서 Data를 RRP프로토콜에 보내고 RRP프로토콜은 데이터는 건드리지 않고 헤더를 이용..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. Chapter 2 : Instructions : Language of the Computer Instruction Set Instruction Set은 컴퓨터 명령의 목록이다. 컴퓨터마다 Instruction Set은 다르게 나타날 수 있으며 같은 제조사도 버전마다 다르게 나타날 수 있다. 그러나 일반적으로는 대게 비슷하다. 초기 컴퓨터들은 매우 간단한 Instruction Set을 가졌다.(RISC) 간단한 Instruction set일수록 간단화한 구현이 ..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. Power Trends 위 그래프는 Power와 Clock Rate를 나타낸 그래프이다. 2001년까지의 그래프를 보면 Power가 증가할 때 Clock Rate 역시 증가했던 것을 확인할 수 있다. 그러나 2004년에 Clock Rate가 한계치에 도달했고, 그때의 Power역시 가장 높았다. 2004년 이후로는 Clock Rate를 더 이상 올리는것이 한계점에 다다랐고 그 이후에는 Power를 줄이는 것이 더 중요하게 되었다. Power는 아래와 같이 계산..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」을 참고하여 작성했습니다. Comparing Performance 성능의 기준은 무엇일까? 이전 강의에서 Respose time, Throughput 등 성능을 측정하는 기준에 대해 살펴봤다. 실제로 성능의 기준은 여러가지가 될 수 있지만 이번 강의에서는 오직 Response time을 기준으로 할 것이다. Response time 을 기준으로 성능을 살펴보았을 때 성능이 우수하다는 것은 결국 작업이 빨리 끝나는 것이다. 즉, 실행시간이 짧을 수록 성능은 높다고 말할 수 있다. 식으로 ..
이 포스트는 「"Computer Organization and Design -The hardware / software interface" by Patterson and Hennessy, 5th edition, 2013.」 을 기반으로 작성했습니다. What we will learn? 어떻게 프로그램이 machine language로 번역되는지 (+ 어떻게 하드웨어는 프로그램을 실행하는지) Hardware / Software interface 프로그램 성능을 결정하는 요인 (+어떻게 성능향상을 할 것인가) 하드웨어 성능 향상의 요인 pipelining과 parallel processing 메모리가 어떻게 동작하는가 결과적으로 computer/CPU가 어떻게 동작하는지 컴퓨터 구조 강의를 통해 배우게 될 ..
- Total
- Today
- Yesterday
- nestjs
- 자바
- java
- 알고리즘
- 예외처리
- node.js
- 구현
- 백트래킹
- BFS
- 그래프
- 재귀
- 시뮬레이션
- 동적계획법
- 백준
- 세그먼트 트리
- ReactNative
- 스레드
- 그리디
- boj
- nodeJS
- 중앙대학교
- 컴퓨터 통신
- Computer Architecture
- 컴퓨터 구조
- 벨만포드
- 자바스크립트
- dfs
- typeORM
- nest.js
- 투포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |