[컴퓨터 구조] 시프트 연산
·
CS/컴퓨터 구조
오늘은 ALU가 수행하는 기본적인 연산 중 하나인 시프트연산과 그 종류에 대해서 알아보겠습니다.1. 논리적 시프트논리적 시프트 연산이란 레지스터 내의 데이터 비트들을 왼쪽 혹은 오른쪽으로 한 칸씩 이동시키는 것을 말합니다.예시를 보겠습니다. 위의 그림은 좌측-시프트연산(shift-left) 수행을 보여주고 있습니다.비트들을 왼쪽으로 한 칸씩 이동하고, 맨 우측 비트로는 0이 들어오는것을 확인할 수 있습니다.0100 비트에 좌측-시프트 연산을 수행하면 1000이 되어 2를 곱한 결과가 됩니다. 반대 방향인 우측-시프트(shift-right) 연산에서는 최상위 비트에 0이 들어오고, 모든 비트들이 우측으로 한칸씩 이동합니다.최하위 비트는 버리게 됩니다. 이 경우에는 0100이 0010이 되어 원래의 수를 ..
[컴퓨터 구조] 상용 프로세서들의 명령어 형식
·
CS/컴퓨터 구조
오늘은 상용 프로세서들의 명령어 형식에 대해 알아보겠습니다.1. CICS와 RISC컴퓨터가 발전하면서 명령어의 종류와 길이가 계속 증가했으며, 주소지정 방식도 더욱 복잡해졌습니다. 그로 인한 회로 복잡도 증가 및 성능 한계를 극복하는 방법도 등장했습니다. CICS 프로세서와 RISC 프로세서를 통해 이를 알아보겠습니다.1) CICS(Complex Instruction Set Computer)CISC는 복잡하고 다양한 명령어 형식을 가진 프로세서 입니다. 명령어의 길이가 가변적으로, 만약 데이터나 주소값이 필요하다면 명령어 길이를 늘려 해결합니다. 자주 보이는 x86, x86-64, AMD64가 CISC를 채택하고 있는 대표적인 아키텍처 입니다.CISC의 장점과 단점을 알아보겠습니다.CISC 장점적은수의 ..
[컴퓨터 구조] 명령어 세트
·
CS/컴퓨터 구조
오늘은 명령어 세트에 대해서 알아보겠습니다.1. 명령어 세트1) 명령어 세트 개요CPU의 기능은 명령어들에 의하여 결정됩니다. 명령어들의 종류와 수는 CPU마다 약간씩 다른데, 어떤 한 CPU를 위해 정의되어 있는 명령어들의 집합을 명령어 세트라고 합니다. 명령어 세트를 설계하기 위해서는 다음과 같은 사항들을 먼저 결정해야 합니다.연산 종류: CPU가 수행할 연산들의 수와 종류 및 복잡도데이터 유형: 연산이 수행될 데이터들의 유형, 데이터의 길이(비트 수)와 수의 표현 방식(정수, 부동소수점 수) 등명령어 형식: 명령어의 길이, 오퍼랜드 필드들의 개수와 길이 등주소지정 방식: 오퍼랜드의 주소를 지정하는 방식명령어 세트(instruction set): 한 CPU를 위해 정의되어 있는 명령어들의 집합오퍼랜드..
[컴퓨터 구조] 컴퓨터의 발전 과정
·
CS/컴퓨터 구조
오늘은 컴퓨터의 발전과정과 동향에 대해 알아보겠습니다.1. 초기의 컴퓨터처리속도가 빨라지고 저장용량이 크게 증가하는 등 컴퓨터는 빠르게 발전하고 있습니다.중요한점은 근본적인 설계 개념은 크게 바뀌지 않았다는 점 입니다. 모체가 되는 초기의 컴퓨터를 알아보겠습니다.1) IAS 컴퓨터와 폰노이만 구조Stored-program은 폰노이만에 의해 제안된 개념입니다. 이는 프로그램과 데이터를 기억장치에 저장하고 변경함으로써 훨씬 편리하게 컴퓨터를 사용할 수 있게 하였습니다.설계 개념은 다음과 같습니다.2진수 체계 사용프로그램과 데이터를 내부에 저장이러한 설계개념을 적용한 컴퓨터는 IAS컴퓨터로 그 이후에 출현한 모든 일반목적용 컴퓨터들의 기본형이 되었습니다.IAS 컴퓨터 : 폰노이만 설계개념을 적용하여 프로그램 ..
[컴퓨터 구조] 컴퓨터의 기본 구조, 정보의 표현과 저장, 시스템의 구성
·
CS/컴퓨터 구조
얼마전에 깨달은 바가 있어서 CS 공부를 깊게 시작해보려고 합니다.먼저 컴퓨터 구조를 공부해 볼 생각이고 해당 교재를 사용했습니다.오늘은 컴퓨터의 기본구조, 정보의 표현과 저장, 시스템의 구성에 대해 공부해 보았습니다.1. 컴퓨터의 기본구조1) 하드웨어와 소프트웨어컴퓨터 시스템은 하드웨어와 시스템 소프트웨어로 구성됩니다. 시스템에 각종 응용 소프트웨어들이 탑재되어 사용자와 상호작용하면서 프로그램을 처리합니다.프로그램 형태로 주어지는 작업(Job)을 수행하기 위해서 전기적 신호들을 가지고 새로운 정보를 생성해야 합니다.이때 각종 정보의 전송통로를 제공하고, 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들을 하드웨어라고 합니다.하드웨어: 컴퓨터에서 정보를 처리하는 물리적 실체 하드웨어의 구성요소를 ..