일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 멤버변수
- 안드로이드 레트로핏 crud
- Rxjava Observable
- 2022 플러터 안드로이드 스튜디오
- jvm 작동 원리
- 안드로이드 라이선스 종류
- ANR이란
- android retrofit login
- 안드로이드 유닛 테스트
- 큐 자바 코드
- 스택 큐 차이
- rxjava disposable
- rxjava hot observable
- rxjava cold observable
- 안드로이드 라이선스
- 서비스 쓰레드 차이
- ar vr 차이
- 2022 플러터 설치
- 안드로이드 유닛 테스트 예시
- jvm이란
- 안드로이드 os 구조
- android ar 개발
- 스택 자바 코드
- 객체
- 플러터 설치 2022
- 안드로이드 레트로핏 사용법
- 안드로이드 유닛테스트란
- 자바 다형성
- 클래스
- 서비스 vs 쓰레드
- Today
- Total
목록책/혼자 공부하는 컴퓨터 구조 + 운영체제 (15)
나만을 위한 블로그
빠른 CPU를 위한 설계 기법 클럭 빠른 CPU를 설계하려면 어떻게 설계해야 하는가? 컴퓨터 부품들은 클럭 신호에 맞춰 움직이고, CPU는 명령어 사이클에 맞춰 명령어들을 실행한다. 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직일 것이다. 즉 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복할 거고 다른 부품들도 더 빠르게 작동할 것이다. 클럭 속도는 헤르츠(Hz) 단위로 측정한다. 이건 1초에 클럭이 몇 번 반복되는지를 나타낸다. 클럭이 1초에 100번 반복되면 CPU의 클럭 속도는 100Hz다. 기본 속도가 2.5GHz, 최대 속도가 4.9GHz라면 1초에 기본적으로 25억 번, 순간 최대 49억 번 반복된다는 뜻이다. 그러나 클럭 속도를 무작..
ALU : 계산하는 부품. 계산하기 위해 피연산자, 수행할 연산이 필요. 그래서 레지스터를 통해 피연산자를 받고 제어장치를 통해 수행할 연산을 알려주는 제어 신호를 받음 연산 수행 결과는 특정 숫자, 문자가 될 수도 있고 메모리 주소가 될 수도 있다. 이 결과는 바로 메모리에 저장되지 않고 잠깐 레지스터에 저장된다. CPU가 메모리에 접근하는 속도가 느리기 때문에 프로그램 실행 속도가 느려질 수 있어 레지스터에 저장한다. 플래그 : 연산 결과에 대한 추가적인 상태 정보. ALU가 내보내는 대표 플래그는 아래와 같다. 플래그들은 플래그 레지스터에 저장된다. 부호 플래그 제로 플래그 캐리 플래그 오버플로우 플래그 인터럽트 플래그 슈퍼바이저 플래그 제어장치 제어장치 : 제어 신호를 내보내고 명령어를 해석하는 ..
모든 코드는 컴퓨터 안에서 명령어로 바뀐다. 컴퓨터는 C, CPP, 자바, 파이썬 등 언어를 이해할 수 없다. 프로그래밍 언어는 사람이 이해하고 작성하기 쉽게 만들어진 언어다. 컴퓨터는 이 언어를 이해하지 못한다. 사람을 위한 언어 : 고급 언어 컴퓨터가 직접 이해, 실행할 수 있는 언어 : 저급 언어 저급 언어는 기계어, 어셈블리어로 나뉜다. 기계어 : 0, 1로 이뤄진 명령어 모음. 컴퓨터만을 위한 언어라서 사람은 의미를 이해하기 어려움 어셈블리어 : 기계어가 사람이 이해하기 어려워서 만들어진 언어 어떤 개발자를 희망하냐에 따라 저급 언어의 중요성이 달라진다. 임베디드 개발자, 게임 개발자, 정보 보안 분야 개발자는 하드웨어와 밀접하게 닿아 있어서 어셈블리어를 많이 쓴다. 컴파일 언어, 인터프리터 언..
0과 1로 숫자를 표현하는 방법 정보 단위 컴퓨터는 0, 1만 이해한다. 이 두 숫자를 나타내는 가장 작은 정보 단위는 비트다. 1비트는 0, 1 두 가지 정보를 표현할 수 있다. 1비트는 2개, 2비트는 4개, 3비트는 8개의 정보를 표현할 수 있어서 n비트는 2^n개의 정보를 표현할 수 있다. 비트가 8개 모이면 1바이트(byte)다. 즉 1바이트는 2^8 = 256개의 정보를 표현할 수 있다. 1바이트를 1,000개 묶으면 1KB 1KB를 1,000개 묶으면 1GB 1GB를 1,000개 묶으면 1TB가 된다. 1KB를 1,024byte, 1MB를 1,024byte로 표현하는 것은 잘못된 관습이다. 1,024개를 묶어서 표현할 경우 KiB, MiB 식으로 기존 단위 사이에 소문자 i를 끼워넣는다. 이..
컴퓨터 구조를 알아야 하는 이유 컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 하는 기본 지식이다. 컴퓨터 구조를 이해하면 문제 상황을 빨리 진단할 수 있고 문제 해결 실마리를 다양하게 찾을 수 있다. 컴퓨터 내부를 들여다보며 더 좋은 해결책을 고민할 수 있다. 이런 사고가 가능한 사람들에게 컴퓨터는 분석의 대상이기 때문이다. 서버 컴퓨터를 사야 하는 경우 뭘 사느냐에 따라 CPU, 메모리, 성능, 용량, 비용이 다양하다. 항상 비싼 게 좋지는 않다. 돈이 많이 깨진다. 그렇다고 너무 싼마이를 고르면 트래픽이 튈 경우 처리할 수가 없다. AWS 등 클라우드 서비스를 써도 이 고민은 피할 수 없다. 어떤 부품을 쓸 것인지 잘 선택해야 한다. 내가 개발한 프로그램이 어떤 환경에서 어떻게 작동하는지는..