전체 글
-
6장. 메모리와 캐시메모리CS/컴퓨터구조 2023. 8. 31. 23:36
*책에서 메모리가 일컫는 것은 전부 주기억장치로 사용되는 RAM, 즉 DRAM을 의미한다고 보면 된다. CPU는 보조기억장치에 직접 접근할 수 없다. 보조기억장치에 저장된 정보(or 프로그램)에 접근하려면 해당 값을 주기억장치로 가져와야 한다. 이 때 주기억장치으로 사용되는 RAM의 용량이 클수록 한 번에 가져올 수 있는 정보의 크기가 커지므로 컴퓨터의 전체 성능이 좋아진다고 볼 수 있다. 6-1. RAM의 특징과 종류 DRAM VS. SRAM (각 특징은 DRAM과 SRAM 간 서로 상대적인 개념임.) DRAM(Dynamic RAM) SRAM(Static RAM) 설명 저장한 정보가 동적으로(Dynamic) 지워지는 RAM → 데이터 소멸을 막으려면 일정 주기로 데이터 재활성화 필요 저장한 정보가 지워..
-
5장. CPU 성능 향상 기법CS/컴퓨터구조 2023. 8. 26. 21:53
5-1. 빠른 CPU를 위한 설계 기법 클럭 컴퓨터의 부품들의 동작하는데 기준이 되는 박자? 클럭 속도: 1 초에 클럭이 반복되는 횟수(Mhz). 빠를수록 CPU 성능 향상. 그러나 클럭 속도가 빠를수록 CPU 발열도 심해짐. 코어 Core CPU 내에서 명령어를 실행하는 부품. 1Core =(CPU + ALU + 레지스터) 라고 이해하면 됨. 멀티코어 프로세서 Multi-core Processor: Core를 여러 개 갖는 CPU. 멀티코어 CPU 라고도 함. 클럭 속도가 빠른 것보다는 코어 수가 많은 것이 CPU 성능 향상에 더 효과적. 코어가 많다고 무조건 CPU 성능이 코어 수에 비례하여 향상되는 것은 아님 → 각 코어 당 처리해야 할 명령어 분배를 얼마나 잘 하느냐도 중요 ★ 스레드 하드웨어적 ..
-
4장. CPUCS/컴퓨터구조 2023. 8. 26. 16:19
CPU를 구성하는 주요 부품 3가지: ALU, 제어 장치, 레지스터 4-1. ALU와 제어 장치 ALU ALU는 명령어대로 산술/논리 연산을 수행하는 부품. 제어 장치로부터 제어신호를 통해 수행해야 할 명령어(연산) + 레지스터로부터 피연산자를 받아들임. 두 정보를 조합하여 연산을 수행. 연산 결과 또는 연산 결과에 대한 주소와 플래그를 내보냄. 이 때, 연산 결과와 플래그는 속도 고려를 위해 레지스터에 임시 저장됨. (메모리에 저장하여 CPU와 메모리 사이를 왔다 갔다 하는 것보단 레지스터에 저장하여 CPU 내부에서 왔다 갔다 하는 것 이 더 빠르므로) 플래그: 연산 결과에 대한 부가적인 상태 정보 부호 플래그: 연산 결과의 음수/양수 정보를 의미. 1-음수, 0-양수 제로 플래그: 연산 결과가 0인지..
-
3장. 명령어CS/컴퓨터구조 2023. 8. 24. 23:57
3-1. 소스 코드와 명령어 명령어: 컴퓨터를 실질적으로 작동시키는 중요한 정보 프로그램을 만들 때 사용되는 언어의 2가지 타입 고급 언어: 사람이 이해할 수 있도록 작성된 언어 ex) C, C++, Java, Python 등… 저급 언어: 컴퓨터가 이해할 수 있는 언어. 0과 1로 구성된 기계어와 기계어를 사람이 이해할 수 있게 번역한 어셈블리어로 나뉜다. 고급 언어를 저급 언어로 변환하는 방식 2가지 컴파일: 고급 언어로 작성된 소스 코드 전체를 저급 언어로 변환하는 과정. 컴파일을 수행하는 주체를 컴파일러라고 한다. 대표적으로 C나 C++이 컴파일 언어이다. 목적 파일: 목적 코드로 이루어진 파일. 컴파일을 통해 저급 언어로 변환된 코드를 목적 코드라고 함. main.c 를 컴파일하면 목적 파일인 ..
-
[컴퓨터구조] 2장. 데이터CS/컴퓨터구조 2023. 8. 23. 22:57
1. 0과 1로 숫자를 표현하는 방법 1-1. 컴퓨터는 0과 1만 이해할 수 있다. = 이진법 사용 컴퓨터에서 정보를 나타내는 가장 작은 단위는 bit(비트) 이다. 1bit는 0 또는 1만 표현 가능 ⇒ N bit로 표현할 수 있는 정보 수 = 2^N 개 *워드: CPU가 한 번에 처리할 수 있는 데이터 크기. 만약 CPU가 한 번에 64비트를 처리할 수 있다면 1워드는 64비트가 됨. 1-2. 이진법으로 음수 표현 이진법으로 음수를 표현하는 방법 중 하나는 2의 보수를 그 이진수의 음의 값으로 이해하는 것이 있다. 2의 보수: 어떤 이진수가 2^n이 되기 위해 필요한 값 중 가장 수(를 이진법으로 표현한 수) ex) 101 의 2의 보수: 1000 - 101 = 11 2의 보수 쉽게 구하는 방법: 음..
-
[CS][읽는 중]혼자 공부하는 컴퓨터구조 + 운영체제Book 2023. 8. 23. 00:06
혼자 공부하는 컴퓨터구조 + 운영체제 [한빛미디어] 혼자 공부하는 컴퓨터 구조+운영체제 좋은 개발자는 컴퓨터를 분석의 대상으로 바라볼 뿐, 두려워하지 않는다!‘전공서가 너무 어려워서 쉽게 배우고 싶을 때’, ‘개발자가 되고 싶은데 뭐부터 봐야 하는지 모를 때’ ‘기술 면접 hongong.hanbit.co.kr 혼자 공부해야하는 입장에서 제목부터 한 줄기 빛 처럼 보였던 책. 마침 인프런에서 무료 강의까지 제공되고 있어 비전공자나 CS를 다시 공부해야 하는 사람들에게 딱인 것 같다. 저자분 의도도 입문자도 이해할 수 있도록 최대한 쉽게 집필하는 것에 맞춰져 있어 CS를 부담 없이 시작할 수 있었다. Start 좋았고 남은건 중꺾마뿐! ========================================..
-
[컴퓨터구조] 1. 컴퓨터 구조 시작하기CS/컴퓨터구조 2023. 8. 22. 23:59
1-1. 컴퓨터가 이해하는 정보 2가지 데이터: 숫자, 문자, 이미지, 영상 등의 정적인 정보 명령어: 컴퓨터를 실질적으로 움직이게 하는 정보, 데이터는 명령어를 위한 재료 ex) 1과 2를 더하라 → 1, 2는 데이터, ‘~과 ~를 더하라’ 는 명령어 1-2. 컴퓨터 주요 부품 4가지 + 메인보드 CPU, 주기억장치(=메모리, RAM), 보조기억장치, 입출력장치 주기억장치(=메모리, RAM) 현재 실행 중인 프로그램의 명령어와 데이터를 저장하는 장치. 메모리는 각 저장 공간마다 주소를 갖는다. (주소는 컴퓨터가 현재 필요로 하는 데이터나 명령어의 위치를 특정하는 데 사용된다.) CPU 메모리에 저장된 정보를 일고, 해석하고 실행하는 부품 크게 다음 3가지 장치로 구성 ALU: 논리적 연산을 수행하는 장..
-
[Django] 배프의 오지랖 파이썬 웹프로그래밍Book 2023. 8. 14. 23:42
배프의 오지랖 파이썬 웹프로그래밍 배프의 오지랖 파이썬 웹프로그래밍 - 예스24기초부터 실전 웹 서비스까지 다 담았다!현직 개발자이자 IT강사인 배프의 강의와 실무를 통해 쌓은 노하우를 한 단계식 알려드립니다. 현 웹 프로그래밍 시장은 다양한 기술을 활용하여 얼마나www.yes24.com Django 2번째 책아직 2장까지만 읽은 상태이지만 '점프 투 장고'와 확실히 차이가 느껴지는 책. 내용면에서는 '점프 투 장고'보다 깊이가 있지만 그만큼 이해 난이도가 살짝 높다. 우연이었지만 '점프 투 장고' 를 읽고 이 책을 읽게 된 것이 나름 적절한 순서였다고 느껴졌다. 2장까지는 이론 위주의 설명이고 3장 부터는 실습 위주의 내용으로 구성되어 있다.밀리의 서재에서 서비스 중이라 편하게 모니터로 보면서 실습할 ..