목록전체 글 (151)
ultra_dev
1. 빠른 CPU를 위한 설계 기법 컴퓨터 부품들은 ‘클럭 신호’에 맞춰서 일사불란하게 움직이고, cpu는 명령어 사이클이라는 정해진 흐름에 맞춰 명령어들을 실행한다. 클럭 속도 : 헤르츠(Hz) 단위로 측정 헤르츠(Hz) : 1초에 클럭이 반복되는 횟수 클럭이 ‘똑-딱-’하고 1초에 한 번 반복되면 1Hz 클럭이 1초에 100번 반복되면 100Hz ex) max 4.9Ghz, base 2.5Ghz : 1초에 클럭이 기본적으로 25억번, 순간적으로 최대 49억번 반복된다. 그렇다고 필요 이상으로 클럭을 높이면 발열이 심각해진다. 클럭 속도를 늘리는 방법 이외에 다른 방법 들은? 코어 수를 늘리는 방법(”듀얼코어” “멀티코어”) 스레드 수를 늘리는 방법(”멀티스레드”) 코어란(Core)란? 현대적인 관점에..
ALU 계산을 위해 필요한 정보들을 받아들이고 연산 (레지스터로부터 피연산자, 제어장치로부터 제어 신호를 받아들임) + 이 결과값을 레지스터로 내보내고 (결과값을 레지스터로 내보내는 이유는 cpu가 레지스터에 접근하는 속도가 메모리에 접근하는 속도보다 더 빠르니까! 임시적으로 계산 결과 그때그때 레지스터에 담고 이걸 바탕으로 메모리에 쓴다든지 하는 작업 하는 것) 또 플래그(연산 결과에 대한 부가정보 ex.연산 결과가 음수다, 양수다)로 내보낸다. 제어장치 +클럭 : 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위. 시계할 때 그 clock. 명령어 레지스터, 플래그, 제어버스들로부터 정보를 입력 받고 제어신호를 내보낸다. 레지스터(레지스터 간에 정보를 이동해라..같은 )와 ALU(수행..
자바같은 고급언어를 저급언어로 변환하여 컴퓨터가 실행! 고급언어 개발자가 이해하기 쉽게 만든 언어 저급 언어 컴퓨터가 이해하고 실행하는 언어 기계어와 어셈블리어로 나뉨 기계어 이진수 (0과 1로)나 십육진수(0~9,A~F)로 표현됨 어셈블리어 기계어를 읽기 편한 형태로 번역한 저급 언어 소스코드에 직접 입력해서 개발도 가능 고급언어가 저급 언어로 바뀌는 것에는 2가지 방법이 존재 컴파일 언어 → 컴파일 → 저급 언어 컴파일 언어로 작성된 소스 코드가 컴파일러에 의해 저급 언어로 변환되고(컴파일), 그 결과 저급 언어인 목적코드가 생성 된다. 오류 같은 건 없는지 확인 후 통째로 컴파일 소스 코드 컴파일 중 오류가 발생하면 소스 코드 전체가 실행되지 않음 인터프리터 언어 → 인터프리트 → 저급 언어 인터프..
비트(bit) : 0과 1을 표현하는 가장 작은 정보 단위 n비트로 2의 n승만큼의 정보 표현 가능 프로그램은 수많은 비트로 이루어져 있음 1바이트(1byte) : 8비트(8bit) 1킬로바이트(1kB) : 1000바이(1,000byte) 1메가 바이트(1MB) : 1000킬로바이트 (1,000MB) 등등.. → 1024개씩 묶은 단위는 kiB MiB GiB 등 따로 있음. 예전에는 구분 안했는데 요새는 구분하는 추새 워드(word) CPU가 한번에 처리할 수 있는 정보의 크기 단위 풀 워드 : 워드 크기 하프 워드 : 워드의 절반 크기 더블 워드 : 워드의 2배 크기 0과 1로 숫자 표현 하기 이진법(binary) : 0과 1로 숫자 표현 숫자가 1 넘어가면 자리 올림 우리가 일상적으로 사용하는 십진법..