본문 바로가기
728x90

전체 글95

멀티 프로세싱 멀티코어 시스템 CPU의 성능을 향상하기 위해 CPU의 핵심 기능을 가진 코어를 여러 개 만들거나 동시에 실행 가능한 명령의 개수를 늘리는 방법을 사용한다. 컴퓨터의 성능을 높이기 위해 프로세서를 여러 개 설치하여 사용하는 시스템을 멀티 프로세서 시스템 (multi processor system)이라 부른다. 예를 들어 볶음밥 하나를 만드는 시간은 40분이 걸린다면 한 주방에서 2개를 만드는데 80분이 걸린다. 시간을 단축시키고 싶다면 주방을 2개 만들면 된다. 프로세서 하나만 있는 단일 프로세서 시스템을 멀티 프로세서 시스템으로 바꾸기 위해서는 보드의 설계 변경을 비롯해 많은 변화가 필요하다. 그런데 기존 시스템을 유지한 채 멀티 프로세싱을 할 수 있게 하는 시스템이 있다. 바로 멀티코어 (multi-.. 2023. 10. 16.
산술연산의 문제점과 해결 방법 산술연산의 문제점과 해결 방법 문제점 - 결과 값이 픽셀의 최댓값과 최솟값을 넘을 수 있음 해결 방법 - 클램핑 기법 음수가 나온다면 최소값을 0으로 하고 255가 넘는 값이 나온다면 최댓값을 255로 설정함 - 랩핑 기법(잘안쓰는 기법이다.) 연산의 결과 값이 최대값보다 크면 최솟값부터 최댓값까지를 한 주기로 해서 반복 최댓값+1 = 최솟값 연산의 결과 값이 최댓값 + 상수 값일 때는 계속 상수 값 -1로 설정함 ex) 결괏값: 259 => 255 + 4 => 4-1 = 3 이진수의 논리연산 논리곱(AND, ∧ ): 주어진 복수 명제 모두가 참인지 논리합(OR, ∨ ): 주어진 복수 명제에 적어도 1개 이상의 참이 있는지 배타적 논리합(XOR, ⊕ ): 주어진 2개의 명제 가운데 1개만 참일 경우를 판.. 2023. 10. 15.
이진 트리 트리의 특징: 노드 사이의 연결 관계가 계급적인 구조를 가진다. 이진 트리의 순회 방법 전위 순회(preorder traversal): root B C 중위 순회(inorder traversal): B root C 후위 순회(postorder traversal): B C root 전위 순회: root -> b -> c 순으로 크게 생각을 하고 b의 묶음으로 들어가서 2 -> 4 다음에 왼쪽 자식이 없으면 오른쪽으로 넘어간다. 이렇게 생각을 한다. 이런 식으로 반복을 한다면 2-> 4-> 7-> 8-> 9 형태의 b 묶음이 나온다. 다음으로 c 묶음이다. c도 마찬가지로 3-> 5-> 6이 된다. 1 -> 2 ->4 ->7- 8 -> 9 -> 3-> 5 ->6 명심하자! root(1)는 처음이다! 중위 순.. 2023. 10. 15.
데이터 구조 이미지 테이블을 표현하는 자료구조: 베열(array) = 행렬(matrix) 행렬의 자료형: list, tuple, dictionary in python scalar: single value -> point(pixel value) // 실수 정수를 스칼라라고 부름 1 - dimensional data: 1-D array(row or column vector) -> line(set of pixels) 2 - dimensional data: 2-D array(matrix) -> plane(gray-scale image) 3 - dimensional data: 3-D array(tensor) -> volume.space(color image) 숫자 1 => 스칼라 숫자 2 => 벡터 행벡터 => (1,2) 열.. 2023. 10. 15.
컴퓨터 성능 향상 기술 시스템 작업 속도를 올리기 위해 개발된 기술 중 운영체제와 관련된 것을 살펴보고자 한다. 버퍼 buffer 버퍼는 두 장치 사이의 속도 차이를 완화하는 역할을 한다. 예를 들어 5개의 귤을 옮길 때 5번 왔다갔다 하는 것이 아니라 바구니에 한번에 5개를 담고 옮기면 더욱 효율적이다. 이 경우의 바구니는 버퍼로 비유된다. 이렇게 일정량의 데이터를 모아서 옮겨 속도 차이를 완화하는 장치가 버퍼다. 스풀 SPOOL 버퍼와 유사한 용어로 스풀이 있다. 스풀은 CPU와 입출력장치가 독립적으로 동작하도록 고완된 소프트웨어적인 버퍼로, 대표적인 예는 프린터와 사용되는 스풀러(spooler)다. 스풀러는 인쇄할 내용을 순차적으로 출력하는 소프트웨어로 출력 명령을 내린 프로그램과 독립적으로 작동한다. 우리는 스풀러를 사.. 2023. 10. 14.
CPU와 메모리 CPU의 기본 구성 요리: 산술논리 연산장치 작업 지시: 제어장치 재료 임시 보관: 레지스터 산술논리 연산장치 - 요리사가 재료를 삶거나 찌거나 볶듯이 CPU에서 데이터를 연산하는 장치가 산술논리 연산장치(ALU: Arithmetic and Logic Unit)다. 제어장치 - 요리사는 보조 요리사나 주방 보조에게 "도마 위의 재료를 가져와라"라는 등의 작업 지시를 한다. 이처럼 CPU에서 작업을 지시하는 부분을 제어장치라고 부른다. 레지스터 - 요리 중간에 재료 손질하기보다 필요한 재료를 미리 손질해 놓으면 요리하기가 편하다. 필요할 때마다 바로 사용할 수 있기 때문이다. 이처럼 작업에 필요한 데이터를 CPU내부에 보관하는 곳이 레지스터 reigster다. CPU의 명령어 처리 과정 두 수의 뎃셈 프로.. 2023. 10. 12.
728x90