본문 바로가기

분류 전체보기306

컴퓨터 구조 5 CISC / RISC CPU 성능을 높이고자 한다면 아래가 중요하겠다.  - 병렬처리가 가능한 설계 - 병렬처리 기법 적용  이 중, 병렬처리 기법 적용을 통한 CPU 성능 향상이란,   명령어 파이프라이닝이 잘 되고, 수퍼스칼라 기법이 잘 되는 것을 말할 것이다.  결국 파이프라이닝을 뭔가 쉽게 해야할 텐데, 그 방법이란 무엇일까?  ISA ; instruction set architecture = 명령어 집합 / 명령어 집합 구조  - CPU 제조사마다 다름 - CISC - 인텔 AMD / RISC - ARM 애플 - 오픈소스 CISC ; Complex Instruction Set Computer  - 가변길이 명령어 사용  ->  다양한 명령어 사용 ->  적은 명령어로 실행가능  -> 사용 메모리 적음  CISC 단점.. 2025. 2. 13.
알고리즘 2 탐색 / 순차탐색 & 이진탐색 순차 탐색 ; 말 그대로 처음부터 순차적으로 탐색하는 방식 자기 구성 순차 탐색 ; 자주 사용되는 항목을 데이터 앞쪽에 배치하여 검색 효율 향상 - 전진이동법 ; 피탐색시, 가장 앞으로 이동- 전위법 ; 피탐색시, 하나 앞으로 이동 - 빈도 계수법 ; 데이터를 탐색되 횟수에 맞게 정렬  이진탐색 ; 최대 비교 반복횟수는 log2n으로 빠르게 찾을 수 있음  C에는 기본으로 qsort / bsearch 함수를 제공합니다...  GitHub - Sukmin-LanternK/AlgorithmContribute to Sukmin-LanternK/Algorithm development by creating an account on GitHub.github.com 2025. 2. 9.
컴퓨터 구조 4 CPU 성능향상 기법_1 CPU 성능 향상 기법 1 CPU 설계  2 명령어 병렬 처리  3 CISR / RISC CPU 설계  - 멀티 코어 / 멀티 스레드로 설계하면 빨라진다  클럭 ;  클럭속도를 높이면 빨라진다   - 클럭 속도를 부하에 맞게 조절함 ; 최대 클럭 장시간 유지 시 과열로 성능 하락  오버클러킹 ; 최대 클럭 속도를 높이는 기법 코어 ; 명령어를 실행하는 부품  - 최신 CPU는 멀티 코어로 명령어를 적절하게 분배하여 연산한다  스레드  - 하드웨어적 스레드 ; 하나의 코어가 동시에 처리하는 명령어 단위   -> 멀티스레드 프로세서 ; 코어가 멀티스레드를 처리할 수 있는 프로세서 - 소프트웨어적 스레드 ; 하나의 프로그램에서 독립적으로 실행되는 단위  명령어병렬처리기법 - 명령어 파이프 라이닝 - 수퍼스칼라.. 2025. 2. 8.
컴퓨터 구조 3 레지스터와 인터럽트 레지스터  1 프로그래 카운터 ; 메모리에서 읽어 들일 명령어 주소를 저장  2 명령어 레지스터 ; 메모리에서 읽어 들인 명령어 저장  3 메모리 주소 레지스터 ; CPU가 주소버스로 읽어 들이고자 하는 메모리 주소 값  4 메모리 버퍼 레지스터 ; CPU기 데이터 버스로 메모리와 주고 받을 값  5 플래그 레지스터 6 범용 레지스터 ; 데이터 또는 주소를 범용으로 저장  스택 주소 지정 방식  메모리 영역 안에 스택으로 사용하는 영역이 지정되어 있음 스택 포인터는 스택의 TOP 주소값을 저장한다  7 스택 포인터 ; 스택의 TOP 값을 저장하는 레지스터 \변위 주소 지정 방식 - 상대 주소 지정방식 ; 프로그램 카운터 기준으로 오퍼랜드를 오프셋으로 하는 주소를 읽음 - 베이스 레지스터 주소 지정 방식 .. 2025. 2. 4.
컴퓨터 구조 2 CPU - ALU & 제어장치 CPU ; ALU + 제어장치로 구성  ALU ; 연산장치 인풋 =  제어장치의 제어신호 + 레지스터 내 피연산자 아웃풋 = 플래그 레지스터의 플래그 + 레지스터에 결과값 저장    제어장치인풋 = 플래그 레지스터 내 플래그+ 명령어 레지스터 내 명령어 + 제어신호 + 클럭 아웃풋 = 제어신호 (CPU 내부 / 외부 / 입출력장치 ) 2025. 2. 2.
컴퓨터 구조 1 컴퓨터 구조  - 동작 중심으로 볼 때 구성품: 데이터 / 명령어 - 부품 중심으로 볼 때 구성품: CPU / 메모리 / 보조기억장치 / 입출력장치  CPU란?  ALU / 레지스터 / 제어장치로 구성 메모리란?  프로그램 명령어 & 데이터를 저장 / 주소의 개념 보조기억장치란?  메모리는 전원이 꺼지면 데이터가 소실됨 / 메모리를 보조하기 위한 기억장치 메인보드란? CPU 메모리 등을 포함하는 마더보드 / 시스템 버스로 각 부품 연결시스템버스란?  주소버스/ 데이터버스 / 제어 버스로 구성 데이터 -> 숫자는? 문자는? 숫자  -> 2의 보수 개념 -> 빼기 연산을 더하기로 처리 가능  문자   -> 아스키 (7비트로 표현)   -> 확장 아스키 (8비트)   -> EUC - KR - 완성형 인코딩 방.. 2025. 2. 2.
랜턴의 서비스 기획 이야기 12 공부와 기획, 업무에 기름칠하기  10월부터 디자인 매터리얼을 꾸준히 탐독했고,12월~1월 사이에는 HTML / CSS를 공부했으며, 2~3월  사이에는 SQL과 RDB에 대한 공부를,4월부터는 AWS 중심으로 클라우드 공부를 하게 되었다.  좋은 PM 이전에, 내가 답답한 팀원이 되기 싫었기 때문이었다.나 스스로에게도  답답한 게 싫었고,협력사 개발자 및 디자이너들에게는 더더욱 싫었다. 공부를 하면 할 수록, 확실히 커뮤니케이션이 가속화되었다.개발자/디자이너들은 어려운 상황에 대해 장황하게 설명하는 노력을 하지 않아도 되었다. 나는 훨씬 명료하게, 아규먼트가 최소화될 수 있는 방향으로 요구사항을 정리할 수 있었다. 동시에 커뮤니케이션이 가능한 범위 역시 엄청나게 확장되었다. 개발자/디자이너들이 구체적인.. 2025. 2. 1.
알고리즘 1 조회 (버블/삽입/퀵) 버블 정렬 : 가장 느린 정렬 방법순차적으로 앞-뒤 2개의 데이터 쌍을 비교하여 순서를 바꿔서 정렬하는 방법 무조건 n(n-1)/2의 비교횟수가 발생한다 삽입 정렬 : 순차적으로 자료구조를 순회하면서, 순서에 어긋날 경우, 바른 위치에 바로 삽입최대 n(n-1)/2의 비교횟수가 발생최소 n-1의 비교횟수가 발생한다 퀵 정렬 : 기준 요소 선정 -> 분할 반복 뉴턴 메서드를 정렬에 사용하는 방법기준 요소 선정에 따라, 그 성능이 좌우된다. 매우 이상적인 최상의 조건인 경우 log2N번의 재귀호출로 연산이 종료된다 각 재귀호출 마다, n번의 비교가 발생하므로Nlog2N의 비교횟수가 발생한다. 반대로, 최악의 경우 n(n-1)/2의 비교횟수가 발생한다   GitHub - Sukmin-LanternK/Algor.. 2025. 2. 1.
자료구조 8 이진트리 일반적인 트리의 문제는 자식 노드의 갯수가 통제가 되지 않는다는 점이다. 따라서, 데이터를 조회하는 데 드는 시간을 제어하기 어렵다. 이진 트리는 자식 노드의 갯수를 2개로 제한한다. 하나의 기준을 가지고 이분하여 노드를 구성하기 때문에조회에 있어서 탁월한 성능을 가질 수 밖에 없다마치, 미분에서 뉴턴 메서드 처럼 말이다 이진트리의 순회 방법에는 총 3가지가 있다.1. 전위 순회: 뿌리노드부터 시작 -> 왼쪽 자식노드 -> 오른쪽 자식노드 2. 중위 순회: 왼쪽 하위 자식 노드 부터 왼쪽 트리-> 뿌리노드 -> 오른쪽 하위 자식 노드부터 하위 트리   3. 후위 순회 : 왼쪽 하위 자식 노드 -> 오른쪽 하위 자식노드 -> 뿌리노드  그리고 이는 링크르 리스트 스택에서 배웠던, 수식에도 똑같이 대응해 볼.. 2025. 1. 26.
반응형