일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- concurrency
- 교착상태
- fork()
- 페이지 부재율
- 우선순위
- garbage collection
- 페이징
- 단편화
- 기아 상태
- 알고리즘
- mips
- local cache
- 인터럽트
- 프로세스
- mutex
- 스케줄링
- 세마포어
- gc
- 부동소수점
- Algorithm
- 운영체제
- 가상 메모리
- 컴퓨터구조
- 페이지 대치
- PYTHON
- BOJ
- 스레드
- 백준
- ALU
- redis
- Today
- Total
목록분류 전체보기 (131)
봉황대 in CS

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. IEEE 754에는 4가지 자리맞춤 모드(rounding modes)가 있다. 1. Always round up (항상 자리올림) (+∞ 방향) 2. Always round down (항상 자리내림) (-∞ 방향) 3. Truncate (잘라내기) 4. Round to nearest even (가장 가까운 짝수로의 자리맞춤) (반올림) 이러한 자리맞춤 모드들이 존재하는 이유는 아래와 그림과 같이..

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로그래밍 언어는 부호있는 정수와 부호없는 정수뿐만 아니라 소수 부분을 갖는 수, 실수(reals)도 표현할 수 있어야 하고, 엄청나게 큰 값도 표현할 수 있어야 한다. 이 수들은 32비트 부호있는 정수로는 표현할 수 없다. 과학적 표기법과 정규화된 수, 부동소수점 우선 과학적 표기법과 정규화된 수에 대하여 알아보자. 과학적 표기법(scientific notation)은 소수점의 왼쪽에는 한 자..
배낭 문제 (Knapsack Problem) 배낭 문제란, 배낭에 담을 수 있는 무게의 최댓값이 정해져 있고, 일정 가치와 무게가 있는 짐들을 배낭에 넣을 때 가치의 합이 최대가 되도록 짐을 고르는 방법을 찾는 문제이다. 배낭 문제에는 2가지 경우가 있다. 1. 분할 가능 배낭 문제 (Fractional Knapsack Problem) - 짐을 쪼갤 수 있는 경우 2. 0-1 배낭 문제 (0-1 Knapsack Problem) - 짐을 쪼갤 수 없는 경우 짐을 쪼갤 수 있는 경우에는 그리디 알고리즘을 통해 해결할 수 있다. (가치가 가장 큰 물건부터 담고, 남은 무게만큼 물건을 쪼개는 방식) 짐을 쪼갤 수 없는 경우에는 동적 계획법(Dynamic Programming, DP)을 통해 해결할 수 있다. 브..

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. 나눗셈 나눗셈은 곱셈보다 사용 빈도는 낮지만 훨씬 까다롭다. 0으로 나누기와 같이 수학적으로 유효하지 않은 연산을 요구하기도 한다. 먼저 0과 1로만 이루어진 십진수의 나눗셈, 1001010÷1000을 보자. 나누어지는 수는 피제수(dividend), 피제수를 나누는 수는 제수(devisor)로 부르고, 몫(quotient)이라 불리는 결과와 나머지(remainder)라고 불리는 두 번째 결과가..

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. 곱셈 먼저 곱셈 연산의 순서와 피연산자의 명칭을 확실히 해야한다. 0과 1로만 구성된 십진수의 곱셈, 1000×1001을 보자. 첫 번째 피연산자는 피승수(multiplicand), 두 번째 피연산자는 승수(multiplier)라고 부른다. 최종 결과는 곱(product)이라고 부른다. 이진수 곱셈은 위에서 본 예시와 같이, 다음과 같은 단계만 거치면 된다. 1. 승수의 자리 수가 1이면 피승수..

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. 32비트 2의 보수 표현 앞서 2의 보수 표현법을 다룬 적이 있다. 2022.08.17 - [Computer Science/Computer Architecture] - [Chapter 2. 명령어: 컴퓨터 언어] 이진수와 2의 보수 표현법, 부호확장, 16진수 컴퓨터에선 32비트의 수를 연산을 할 것이기 때문에, 32비트의 수도 2의 보수로 표현할 수 있어야 한다. 32비트의 부호있는 수의 표현..

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. 프로그램의 번역 과정 C 프로그램을 컴퓨터가 실행할 수 있는 프로그램으로 변환하기 위한 4단계는 다음과 같다. 1. 컴파일 (Compile) 2. 어셈블 (Assemble) 3. 링크 (Link) 4. 로드 (Load) 상위 수준 언어 프로그램은 어셈블리 언어 프로그램으로 컴파일되고 다시 기계어 형태의 목적 모듈로 어셈블 된다. 링커는 여러 모듈과 라이브러리 루틴을 사용하여 모든 외부 참조를 해..

* 본 글은 '컴퓨터 구조 및 설계: 하드웨어/소프트웨어 인터페이스(Computer Organization and Design: The Hardware/Software Interface) 5th edition'의 내용과 2021학년도 1학기에 수강한 '컴퓨터 구조' 과목 강의 내용을 함께 정리하여 작성하였습니다. 병렬성과 명령어: 동기화 데이터 경쟁 관계 (Data Race) 태스크가 서로 독립적일 때에는 병렬 처리가 쉽다. 하지만 태스크가 서로 협력해야 할 때에는 어떨까? 이때 협력이란, 자원으로 서로 공유한다는 것으로 보통 다른 태스크들이 읽어야 하는 새로운 값을 어떤 태스크들이 쓰는 것을 의미한다. 태스크가 협력해야 하는 상황에서는 데이터 경쟁관계(data race)의 위험이 크다. 예를 들어, 두..