본문 바로가기

728x90

전체 글

[혼공컴운/OS] CPU의 속도를 높이는 방법 | 클럭 | 멀티코어 | 멀티스레드 | 파이프라이닝 | 슈퍼스칼라 | OoOE | RISC | CISC CPU의 속도를 높이려면 어떤 방법이 있을까? 작업 속도의 단위(클럭)을 빠르게 한다! → 클럭 / 오버클럭 명령어 인출 및 해석 부품(코어)의 수를 늘린다! → 멀티코어 프로세서 하나의 코어가 여러 개의 명령어를 동시에 처리할 수 있도록 한다! → 멀티스레드 프로세서 명령어 처리 파이프라인을 여러개 구성한 → 슈퍼스칼라 데이터 의존성 등이 없어서 대기할 필요가 없는 명령어는 먼저 처리해서, 최대한 파이프라인의 중단을 방지한다 → OoOE (비순차적 명령어 처리) 명령어를 중복해서 실행할 수 있도록 한다! → 명령어 파이프라이닝 데이터 위험: 데이터 간 의존성으로 인해 문제 발생 위험 제어 위험: 불필요한 명령어를 미리 읽어올 위험 구조 위험: 서로 다른 명령어가 동시에 같은 부품을 사용할 위험 파이프라.. 더보기
[혼공컴운/OS] CPU | 레지스터의 종류 | CPU 명령어 사이클 | 인터럽트 ALU : 산술 및 논리 연산 수행 [input] 레지스터에서 피연산자 받기 + 제어장치에서 제어신호 받기 [output] 연산 결과와 플래그를 내보내기 플래그는 플래그 레지스터에 저장 → 플래그의 종류 { 부호 플래그, 제로 플래그, 캐리 플래그, 오버플로우 플래그, 인터럽트 플래그, 슈퍼바이저 플래그 } 제어장치 : 명령어 해석 및 제어신호 출력 [input] 클럭이라는 입력 신호 읽기 → 클럭 단위로 제어 신호 전달 [input] 명령어 레지스터에서 해석해야 할 명령어 읽기 [input] 플래그 레지스터에서 플래그 값 읽기 [output] 제어 신호를 메모리와 입출력 장치에 제어버스를 통해 전달 레지스터 : CPU 내의 임시저장장치 프로그램 카운터: 메모리에서 가져올 명령어가 저장된 주소를 저장 명.. 더보기
[혼공컴운/OS] 명령어 | 고급언어와 저급언어 | 컴파일러와 인터프리터 | 명령어의 구성 3장 3-1장. 고급 언어와 저급 언어 고급 언어 → 변환 → 저급언어 고급언어 및 변환 기법의 구성 컴파일러 언어: 소스 코드를 한 번에 읽어서 저급 언어로 변환하고, 실행하는 언어 (예: C) 인터프리터 언어: 소스 코드를 한 줄씩 읽어서 저급 언어로 변환 및 실행하는 언어 (예: Pyhton) 일반적으로 컴파일러 언어가 인터프리터 언어보다 빠르고, 둘을 혼용해서 사용할 수도 있음 저급언어의 구성 기계어: 0과 1로 이루어진 명령어 어셈블리 언어: 기계어를 사람이 읽기 편한 형태로 번역한 언어 3-2장. 명령어의 구성 저급언어의 구성: 연산코드 필드 + 오퍼랜드 필드 + 주소 지정 방식 연산코드 필드: 명령어가 수행할 연산을 저장 데이터 저장 산술/논리 연산 제어 흐름 변경 입출력 제어 오퍼랜드 필드.. 더보기
[혼공컴운/OS] 컴퓨터 구조 | 숫자 데이터의 표현 | 문자 데이터의 표현 | 다양한 인코딩 방법 1장 1-1장. 컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조 이해 → 문제 해결 능력 향상 단순한 코드 작성 → 성능, 용량, 비용 고려 1-2장. 컴퓨터 구조의 큰그림 데이터와 명령어 중앙처리장치(CPU) — ALU, Register, 제어장치 주기억장치(Memory) RAM vs ROM RAM: 휘발성 메모리 (static RAM, Dynamic RAM 등등) ROM: 비휘발성 메모리 (BIOS 설치되어있음) 보조기억장치: HDD, SDD, CD, USB … HDD vs SSD HDD: 자기장의 원리로 정보를 저장 → 물리적 손상 시 정보 손상 SSD: 전자적으로 정보를 저장 → 빠르고 충격에 강함 (좀더비싸고, 방전시 정보 손실 위험) 입출력장치: 모니터, 키보드, 마우스, 스피커, 마이크 등 그외.. 더보기
[Book] 함께 자라기 | 애자일로 가는길 | 개인적인 성장과 협업을 위한 애자일 방법론 적용기 1. 성장을 위한 '자라기' 기다리지 말고 뛰어들어라 문제를 빠르게 이해하고 뛰어들어라! 문제를 이해하는데 너무 많은 시간을 쓰기보다 일단 뛰어들어서 파악해보는 것이 좋다 완벽하게 환경이 갖추어질 때까지 기다리지 말고 뛰어들어라 '빠르게 실패하기'의 주요 메세지와도 일맥상통하는 바가 있음 경력과 실력은 비례하지 않는다! 꾸준히 자기계발을 해라! 자기계발은 나를 복리로 성장하게 한다 어색하고 새로운 것을 배우면서 '잘하기'보다는 '자라기'를 선택해라 (51p) 그렇다면 '자라기'를 위해서는 무엇을 해야할까! - Do! 이미 갖고 있는 것을 활용해라 - Do! 배우기 힘들수록 살아남는다! (소프트웨어 개발자 vs 컴퓨터 프로그래머 50p) - Do! 회고와 반성을 통해 자신을 개선하는 프로세스에 대해 생각하.. 더보기
[Naver Boostcamp AI Tech 5기] 8, 9주차 학습정리 및 회고 : 성장은 나를 되돌아볼때 생기는 것! 주간 학습정리 Keyword: Linux, Docker, MLOps, Model Serving, ML Project Cycle, Streamlit, DKT, Pytorch Lightning 주간 개인 회고 Fact (사실: 무슨 일이 있었는가?) 변성윤님의 AI 서비스 개발 기초 강의 시리즈를 들었다 팀원들에게 동료 피드백을 쓰고 동료피드백을 받았다 Transforemr4Rec 논문 리뷰를 했고, 팀원에게 칭찬을 받았다 팀원들과 처음으로 오프라인 모임을 가졌다 level2의 DKT project를 시작했다 스페셜 피어세션에서 다른 도메인의 사람들을 만났다 새로운 멘토님을 만났고, 효율적인 논문 읽기 방법을 전수받았다 Feeling (느낌: 무슨 느낌이 들었나?) 변성윤님의 강의를 들으니까 공부할게 산더.. 더보기
[RecSys] DKT(Deep Knowledge Tracing) | Confusion Matrix | precision | recall | AUC | AOC DKT(Deep Knowledge Tracing) 딥러닝을 이용해 학생의 학습 상태를 추적하는 것으로, 풀이 데이터가 많아질 수록 상태 예측은 정밀해진다! DKT를 이용해서 할 수 있는것? 학습 상태가 취약한 부분을 파악하여, 해당 파트를 더 공부하도록 제안할 수 있다 학습 상태가 충분한 부분에 대해서는 다른 파트를 공부하도록 제안할 수 있다. 시중 서비스 예시: 산타토익 등 DKT 대회 일반적인 대회에서는 학습 상태 추적보다는 다음 문제를 맞출지, 틀릴지 예측하는 것에 더 중점이 맞춰져있다 binary classification prediction 기본 평가 지표 이해 precision (Positive Prediction Value) : 모델이 정답으로 예측한 것 중 진짜로 정답인 것 ⟶ 적게 예측할.. 더보기
[Naver Boostcamp AI Tech 5기] 6,7주차 Level1 Project Book Rating Prediction 회고 [팀 회고 요약] 프로젝트 주제 영상, 기사같은 다른 콘텐츠와는 달리 책은 한 권을 다 읽기까지 적지 않은 시간을 필요로 하고 구매를 위해 이용할 수 있는 정보가 한정적이라 소비자들은 책을 고르는데 신중을 가하게 된다. 그렇기에 이번 프로젝트에서는 소비자들의 책 구매에 도움을 줄 수 있도록 책, 소비자의 정보를 바탕으로 소비자가 특정 책에 줄 평점을 예측하도록 한다. 팀 목표 배운 내용을 프로젝트에 적용해보기 우리 팀에 적합한 협업 문화 고민해보기 - 지속가능한 협업 문화 수립하기 프로젝트 협업 문화 깃헙을 통한 프로젝트 버전 관리 노션을 통한 프로젝트 진행 상황 공유 게더타운을 통한 실시간 인사이트 공유 프로젝트 수행 과정 1. 탐색적 데이터 분석 (EDA) 가능한 모든 데이터셋의 모든 컬럼데 대하여 .. 더보기

728x90