반응형

컴퓨터구조 5

[ CA ] Chapter1. Computer Abstractions & Technology

해당 게시글은 건국대학교 컴퓨터공학부 박능수 교수님의 강의와 교재를 참고하여 작성하였습니다. Perfomance 사용자의 목적에 따라 중요하다고 생각하는 컴퓨터의 성능이 다르다. 그래서 기기의 특성마다 다른 성능 척도를 사용한다. 그 중에서도 시간은 컴퓨터 성능의 가장 기본적인 척도이다. 같은 작업을 최단시간에 실행하는 컴퓨터가 가장 빠른 컴퓨터이다. 하지만 무작정 시작시간과 끝시간을 재서 구하면 OS의 오버헤드, 메모리접근 등의 시간이 같이 더해질 것이다. 순수하게 프로그램을 실행하기 위해 걸린 시간을 CPU time이라고 한다. 이는 우리가 실제 느끼는 시간과는 다르다. 성능측정을 위해 여러 용어를 알아보자. clock : 하드웨어 이벤트가 발생하는 시점. clock cycle : 이 클럭의 시간 간..

[ 컴퓨터구조 ] 명령어

1. 소스 코드와 명령어 우리가 작성하는 소스코드는 컴퓨터 내부에서 명령어로 변환되어 컴퓨터를 작동시킨다. 1.1 고급언어와 저급언어 C, C++, JAVA와 같은 프로그래밍 언어들은 모두 사람들이 이해하기 쉽게 만든 고급언어이다. 반대로 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급언어라고 한다. 저급언어는 명령어로 이루어져 있다. 저급언어는 0과1로 이루어진 기계어와 0과1을 전역한 어셈블리어가 있다. 짜피 컴퓨터가 고급언어에서 저급언어로 바꿔주는데 왜 저급언어를 알아냐하냐!!라고 할 수 있지만 하드웨어랑 밀접한 임베디드 개발자, 게임개발자, 정보보안 전문가 등의 개발자들은 어셈블리어를 많이 사용한다. 어셈블리어를 잘 관잘하면 프로그램이 어떤 절차로 작동하는지 이해할 수 있기 때문에 개발자라면 ..

[ 컴퓨터구조 ] 데이터

1. 0과 1로 숫자를 표현하는 방법 컴퓨터는 0과 1로 모든 정보를 표현하고 이해한다. 1.1 정보단위 컴퓨터는 0과1밖에 이해하지 못한다. 0과 1을 나타낸느 가장 작은 정보 단위를 비트라고한다. n개의 비트가 있을 때 2^n개의 정보를 표현할 수 있다. 우리가 실핸하는 모든 프로그램은 수십, 수백만 비트로 미루어져있다. 하지만 우리가 프로그램의 용량을 말할때 23238432981비트야! 라고 말하지는 않는다 ㅋ 1바이트(byte) - 8비트 1킬로바이트(kB) - 1000비트 1메가바이트(MB) - 1000킬로바이트 1기가바이트(GB) - 1000메가바이트 1테라바이트(TB) - 1000기가바이트 * 워드(word) : CPU가 한번에 처리할 수 있는 데이터의 크기이다. 대부분의 컴퓨터는 32비트혹..

[ 컴퓨터구조 ] 컴퓨터구조 시작하기

1. 컴퓨터구조를 알아야하는 이유 컴퓨터구조를 왜 배워야할까? 배워야하는 이유를 모르면 공부가 노잼이다. 근데 공부해야하는 이유를 공부하는것도 노잼이다 ㅋㅋ 컴퓨터구조는 야매개발자들은 잘 모르는!! 실력자 개발자들이 되려면 알아야하는! 기본 지식이다. 1.1 문제해결 공부를 좀 해본사람은 알테지만 예제코드를 그대로 쳐도 코드가 제대로 안돌아갈 때가 있다. 이런 상황은 실무에서도 일어난다. 이런 경우레는 코드의문법적인 이유는 아닐 것이다. 하지만 코딩의 문법만 아는사람은 이를 해결할 수 없다.. 하지만 컴퓨터구조를 이해하고 있다면 문제상황을 빠르게 진단할 수 있고, 문제해결의 실마리를 다양하게 찾을 수 있다. 글구 이를 기업들도 알고있기 때문에 기술면접에서 많이 물어보기도한다. 컴퓨터구조는 코더가 아닌 개..

[ 시스템 해킹 ] Computer Science : 컴퓨터구조

1. 컴퓨터 구조(Computer Architecture) 컴퓨터 구조란 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어와 소프트웨어의 기능을 고안하고, 구성하는 방법을 의미한다. - ‘컴퓨터의 기능 구조에 대한 설계’란 컴퓨터가 연산을 효율적으로 하기 위해 어떤 기능들이 컴퓨터에 필요한지 고민하고, 설계하는 분야이다. 대표적으로 폰 노이만 구조, 하버드 구조, 수정된 하버드 구조가 있다. - CPU의 명령어에 대한 설계는 명령어 집합구라고 불리며, CPU가 처리해야하는 명령어를 설계하는 분야이다. 대표적으로 ARM, MIPS, AVR, 인텔의 x86 및 x86-64 등이 있다. - CPU의 하드웨어적 설계는 마이크로 아키텍처라고 불리며 정의된 명령어 집합을 효율적으로 처리할 수..

반응형