Computer Science/컴퓨터 구조

Computer Science/컴퓨터 구조

[컴퓨터 구조] 2-4. 부호 있는 수와 부호 없는 수

컴퓨터 내에서는 일련의 높고 낮은 전기 신호의 형태로 숫자를 저장하므로 결국 기수 2인 수로 볼 수 있다. 모든 정보는 이진 자릿수(binary digit), 즉 비트(bit)로 구성되므로 비트가 계산의 기본 단위가 된다. 이 기본 단위는 높음/낮음, 온/오프, 참/거짓, 1/0 등 두 값 중 한 값을 갖게 된다. 부호 없는 수 unsigned Numbers 워드 내의 각 비트에 오른쪽에서 왼쪽으로 0, 1, 2, 3, ...과 같이 번호를 붙인다. 아래 그림은 MIPS 워드 내의 비트에 번호를 붙이는 방식과 숫자 1011(2)의 표현을 보여주고 있다. 워드는 수평으로뿐만 아니라 수직으로도 그릴 수 있기 때문에, 가장 오른쪽 혹은 가장 왼쪽 비트라고 말하면 애매할 수가 있다. 대신 LSB(least si..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 2-3. 피연산자

상위 수준 언어 프로그램과는 달리 산술 명령어의 피연산자에는 제약이 있다. 레지스터(register)라고 하는 하드웨어로 직접 구현된 특수 위치 몇 곳에 있는 것만을 사용할 수 있다. MIPS 구조에서 레지스터의 크기는 32비트이다. MIPS에서는 32비트가 한 덩어리로 처리되는 일이 매우 빈번하므로 이것을 워드(word)라고 부른다. 변수와 하드웨어 레지스터의 큰 차이점 하나는 레지스터는 개수가 한정되어 있다는 점이다. 기호 형태로 표현된 MIPS 언어를 단계적으로 구체화할 때 산술 명령어의 각 피연산자는 32개의 32비트 레지스터 중 하나여야 하는 제약이 있다. 레지스터 개수를 32개로 제한하는 이유는 하드웨어 기술의 바탕이 되는 세 가지 설계 원칙 중 두 번째 원칙에서 찾을 수 있다. 설계 원칙 2..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 2-2. 하드웨어 연산

컴퓨터 언어에서 단어를 명령어(instruction)라고 하고 그 어휘를 명령어 집합(instrcution set)이라고 한다. 기본적으로 모든 컴퓨터는 산술 연산을 할 수 있어야 한다. 다음 MIPS 어셈블리 언어는 두 변수 b와 c를 더해서 그 합을 a에 넣으라고 컴퓨터에 지시하는 것이다. add a, b, c MIPS 산술 명령어는 한 종류의 연산만 지시하며 항상 변수 3개를 갖는 형식을 엄격히 지킨다. 다음은 네 변수의 합을 구하는 명령어들이다. adda, b, c# The sum of b and c is placed in a adda, a, d# The sum of b, c and d is now in a adda, a, e# The sum of b, c, d and e is now in a​ ..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 1.6 시스템의 성능

성능의 정의 두 데스크톱 컴퓨터에서 같은 프로그램을 실행시키는 경우에 먼저 끝나는 쪽이 더 빠른 컴퓨터라고 할 수 있을 것이다. 그러나 여러 대의 서버를 가지고 여러 사용자의 작업을 처리하는 데이터센터를 운영할 때는 하루 동안 더 많은 작업을 처리하는 컴퓨터가 더 빠른 컴퓨터일 것이다. 컴퓨터 사용자 개인의 입장에서는 응답 시간(response time) - 작업 개시에서 종료까지의 시간 - 즉 실행시간(execution time)이 중요할 것이다. 그러나 데이터센터 관리자에게는 처리량(throughput), 혹은 대역폭(bandwidth)- 일정한 시간 동안 처리하는 작업의 양 이 더 중요하다. 그러므로 개인 휴대용 기기와 서버의 성능을 평가할 때 다른 성능 척도를 사용한다. 혼돈을 피하기 위하여 컴퓨..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 1.5 프로세서와 메모리 생산 기술

트랜지스터(transistor)는 한 마디로 전기로 제어되는 온/오프 스위치이다. 집적회로(integrated circuit, IC)는 수십, 수백 개의 트랜지스터를 칩 하나에 집적시킨 것이다. 집적회로의 집적도는 매우 일정한 속도로 증가하고 있다. 어떻게 집적회로를 만드는지 이해하기 위해서 맨 처음부터 시작하도록 하자. 집적회로 칩의 생산은 모래의 구성 성분인 실리콘에서부터 출발한다. 실리콘(sili-con)은 전기를 통하기는 하는데 썩 잘 통하는 편은 아니어서 반도체(semiconductor)라고 부른다. 특수한 화학적 처리를 거쳐 불순물을 첨가하면 실리콘의 작은 부분을 다음 세 가지 중 하나로 바꿀 수 있다. 전기의 양동체(초소형 구리나 알루미늄 전선) 전기 절연체(플라스틱 피복이나 유리 등) 조건..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 1.4 케이스를 열고

디스플레이 대부분의 개인 휴대용 기기들은 얇고 전력 소모가 적은 LCD(liquid crystal display)를 사용한다. LCD는 스스로 빛을 내는 대신 통과하는 빛을 제어한다. 전형적인 LCD에는 액체 상태의 막대 모양 분자가 있어서 디스플레이에 들어오는 빛을 굴절시킨다. 터치스크린 터치스크린(touchscreen)을 구현하는 다양한 방법이 있는데 오늘날의 많은 태블릿은 정전용량 감지 기법을 사용한다. 유리 같은 절연체 위에 투명한 도체를 코팅하면, 사람이 손을 댔을 때 손에 전기가 통하기 때문에 스크린의 정전기장이 찌그러지면서 정전용량이 변하게 된다. 이 기술은 여러 군데 동시에 손을 대는 것도 허용하며, 손의 동작까지 감지해서 멋진 사용자 인터페이스를 만들 수 있게도 한다. 상자를 열고 프로세..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 1.3 프로그램 밑의 세계

컴퓨터 하드웨어는 아주 단순한 저수준의 명령어만 실행할 수 있다. 복잡한 응용에서 출발해서 단순한 명령어까지 내려가려면 높은 수준의 작업을 단순한 컴퓨터 명령어로 번역 또는 해독하는 여러 겹의 소프트웨어가 필요하다. 이것이 추상화라고 하는 위대한 아이디어의 한 예이다. 이러한 소프트웨어들은 계층적으로 구성된다. 그림과 같이 응용 프로그램이 가장 바깥쪽에 위치하며, 여러 시스템 소프트웨어가 하드웨어와 응용 소프트웨어 사이에 존재한다. 시스템 소프트웨어에는 여러 가지가 있으나, 현대 컴퓨터 시스템에서 핵심이 되는 두 가지는 운영체제와 컴파일러이다. 운영체제는 사용자 프로그램과 하드웨어 간의 인터페이스 역할을 하면서 각종 서비스와 감독 기능을 제공한다. 기본적 입출력 작업의 처리 보조기억장치 및 메모리 할당 ..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 1-2. 일곱 가지 위대한 아이디어

설계를 단순화하는 추상화(Abstrcation) 컴퓨터 설계자와 프로그래머는 자원의 수가 급격히 증가함에 따라 설계 시간이 길어지는 것을 방지하기 위해서 생산성을 높이기 위한 기술을 개발해야 했다. 하드웨어와 소프트웨어의 생산성을 높이기 위한 기술 중 하나는 여러 수준에서 설계를 명시하는 추상화(abstraction)를 사용하는 것이다. 하위 수준의 상세한 사항을 안 보이게 함으로써 상위 수준 모델을 단순화한다. 자주 생기는 일을 빠르게 자주 생기는 일을 빠르게 만드는 것이 드물게 생기는 일을 최적화하는 것보다 성능 개선에 도움이 된다. 아이러니하게도 자주 생기는 일은 드물게 생기는 일보다 단순하여 성능을 개선하기 쉬운 경우가 많다. 이 말은 자주 생기는 일이 무엇인지 미리 알고 있다는 것을 가정하고 있..

Computer Science/컴퓨터 구조

[컴퓨터 구조] 1-1. 컴퓨터 추상화 및 관련 기술 Intro

컴퓨터 응용 분야의 종류와 그 특성 스마트 가전제품이나 휴대전화에 내장되는 컴퓨터에서부터 초대형 슈퍼컴퓨터에 이르기까지 기본이 되는 하드웨어 기술은 같지만, 응용 분야에 따라서 설계 요구사항과 핵심적인 하드웨어 기술을 사용하는 방법은 각기 다르다. 개괄적으로 컴퓨터는 크게 세 가지 응용 분야에서 사용된다. 개인용 컴퓨터(Personal Computer, PC) 개인용 컴퓨터는 낮은 가격으로 단일 사용자에게 좋은 성능을 제공하는 것을 중요시하며 제 3자(third-party) 소프트웨어를 실행하기 위해 주로 사용된다. 서버(Server) 서버는 과거 대형 컴퓨터로 불리던 것의 현대적 형태로서 보통 네트워크를 통해서만 접근된다. 서버는 대개 대형 작업 수행에 이용된다. 대형 작업은 과학이나 공학 분야의 복잡..

또 고민 중
'Computer Science/컴퓨터 구조' 카테고리의 글 목록 (2 Page)