반응형 CS32 컴퓨터구조_빠른 CPU 설계 기법 코어: 명령어를 실행할 수 있는 '하드웨어 부품' 스레드: '명령어를 실행하는 단위' 멀티코어 프로세서: 명령어를 실행할 수 있는 하드웨어 부품이 CPU안에 두개 이상 있는 CPU 멀티스레드 프로세서: 하나의 코어로 명령어를 동시에 수행할 수 있는 CPU [클럭] - 컴퓨터 부품들은 클럭 신호에 맞춰서 일사불란하게 움직인다. - CPU는 '명령어 사이클' 이라는 정해진 흐름에 맞춰 명령어들을 실행한다. - 클럭 속도: 헤르츠(Hz) 단위로 측정한다. 클럭이 1초에 반복되는 회수를 말하는데 클럭이 1초에 한번 반복하면 1Hz 이고 1초에 100번 반복되면 100Hz - 클럭 신호는 CPU에 의해서 속도를 조절한다. 일정한 것이 아니다. - 클럭 신호가 마냥 높다고 CPU의 속도가 꼭 빨라지는것은 아니다. .. 2023. 5. 20. CPU 내부 구성 [ALU] 계산을 하는 장 레지스터로부터 피연산자를 받고 제어장치로 부터 제어 신호를 받아들인다. 이런식으로 계산을 하기 위해서는 피연산자와 수행할 연산이 필요하다. 해당 결과값은 다시 다른 레지스터에 내보낸다. ALU가 계산한 결과를 메모리가 아닌 레지스터에 임시적으로 저장하는 이유는 CPU가 레지스터에 접근하는 속도가 메모리에 접근하는 속도보다 빠르기 때문이다. 임시적으로 계산한 값을 그때그때 레지스터에 담고 해당 레지스터를 바탕으로 다른 레지스터에 작업 또는 메모리에 내보내기 등을 한다. * 플래그 flag -> 플래그 레지스터 플래그란 연산 결과에 대한 결과값이 담기는 레지스터이다. ex) ALU가 연산한 값이 음수일 경우 해당 flag값이 플래그 레지스터에 담기게 된다. 2진수를 음수로 반환하는.. 2023. 5. 17. 컴퓨터구조_소스 코드와 명령어 소스 코드가 어떻게 컴퓨터를 동작시킬 수 있는 명령어로 변환될까? 개발자가 작성한 소스 코드를 컴퓨터는 바로 직독직해 후 이해를 할 수가 없다. 사람이 편하게 사용할 수 있는 언어는 고급 언어이다. 바로 고급 언어로 명령어를 실행 시킬 수 있는 것이 아닌 컴퓨터가 이해하는 저급 언어로 변환을 시켜야 명령어를 실행 시킬 수 있다. 고급 언어와 저급 언어 - 고급언어: 개발을 할 때 사용하는 언어 - 저급언어: 소스코드가 내부에서 실행될 때 사용하는 언어 = (컴퓨터가 이해하고 실행하기 위한 명령어) * 저급언어 - 기계어: 0과 1로 이루어진 명령어로 구성됐다. 2진수로 표현도 하지만 16진수로도 표현된 기계어도 있다. - 어셈블리어: 0과 1로 이루어진 기계어를 읽기 편한 형태로 번역한 형태 어셈블리어는.. 2023. 5. 14. 컴퓨터 구조 [컴퓨터 구조를 알아야 하는 이유?] 1. 문제 해결 능력 2. 성능과 기능, 비용을 고려한 개발 처음 프로그래밍 공부를 시작하면 보통 컴퓨터 언어와 문법을 배운다고 생각한다. 프로그래밍 언어 문법만으로는 해결하기 어려운 문제들은 컴퓨터의 구조와 운영체제를 알게 된다면 컴퓨터를 관조할 수 있는 능력을 기를 수 있게 된다. [컴퓨터 구조의 큰 그림] 1. 컴퓨터구조 - 컴퓨터가 이해하는 정보 1). 데이터 - 숫자, 문자, 이미지 동영상 등 정적인 정보를 뜻한다. - 0과 1로 숫자, 문자를 표현하는 방법 2). 명령어 - 컴퓨터는 명령어를 처리하는 기계 - 명령어의 생김새와 동작 방식 * 컴퓨터를 실질적으로 움직이는 정보이자 데이터는 명령어를 위한 일종의 재료이다. ex) 1과 2를 더하라 여기서 1과 .. 2023. 5. 13. 이전 1 2 3 4 5 6 ··· 8 다음 728x90 반응형