Blog | Tag | Local | Guest | Login | Write |  RSS
2008/11/16에 해당되는 글 5건

드디어 프리유어마인드 프로젝트 관련 마지막 글이군요. 막판 스퍼트가 너무 빡쎠서 10월은 멤버십 출석률 2회를 기록할 정도로-_- 힘을 쏟아 부은 졸작입니다. 하고 나니 너무나 허탈 하더군요. 아무튼 글 들어갑니다.



길줄만 알았던 전시날짜는 정신차리고 보니 이미 지나가고 없었으며,

진정으로 즐겼던 작업은 이렇게 끝나고 돈만 쳐부은 증거(영수증)만이 남아있었다.

후회는 없지만 아쉬움만이 진하게 베어있는 느낌이 바로 이런것! 

 

결과든 뭐든 사람들의 반응이야 어찌되었든 간에 인생의 큰 작업하나 해냈다고 생각한다.

단지...계속되는 아쉬움만이...으악!

 

 실제 전시장의 디피 모습을 공개 해본다.






전시준비 당일날은 정말 미친듯이 패닉 상태였다. 특히 건반 라이트때문에 꽤나 고생했었다...

 전시가 시작되고 사람들의 반응은 일단 '멋지다'  라는 것이었지만 뒤에서 보고 있어서 그런건지;; 망가지진 않을까 하는 걱정때문인지는 몰라도 무척 조심스럽게 건반을 누르는 사람들이 더러 있었다. (신나게 짓누르면서 즐기시라구요 ㅠㅠ)

 일단은 전공교수님들 그리고 강사분들께서 좋은 평가를 내려주셔서 기분이 업되었으며, 기획서를 갖고 여기저기를 찾아가 보자는 분도 계셔서 일단 현재는 고민중이다. 조금 더 인터랙티브한 부분의 강화를 꾀해야 할듯 싶다.

  

 

하고 싶은말은 많지만 지금 코감기가 심해 제정신이 아니므로 작품의 스틸컷을 올리며 끝을 맺는다.( ㅜ_ㅜ// )



* 작품은 저에게 있으니 혹시나 궁금하신분은 언제든지 보여드릴수 있습니다.


free your mind project 3

작업내용 중 작품을 즐긴 사용자가 자신만의 티셔츠를 받는다는 시나리오가 있다.

실제로 티셔츠를 제작하여 보았는데 예상외로 좋은 퀄리티로 뽑아져 나와 티셔츠

디자인과 함께 실제 착용 모습을 올려본다. 주위 반응도 괜찮았고 '한번 팔아볼까...'

하는 생각도 조금...들긴했지만, 전시회를 축제의 장으로 만들기 위해 추첨을 통해

나눠줄 예정이다.

 

이제 남은 하나는 아크릴집에 의뢰한 건반부분인데...현재 가장 걱정이 되는 부분이다.

거금을 들인만큼 간지가 뿜어져 나와야 한다. 간지 안나면 끝이다. -_-




free your mind project 2

다음이 현재 나와있는 여러가지 배경용 무비클립들이다. 애프터 이펙트로 작업하고 있으며,

작업후에 플래시로 불러들여와 무비클립으로 만들어 버린다. 플래시가 워낙에 강력해져서

비트전송률을 9999로 만들어버리면 플래시임에도 불구하고 상당히 깔끔한 영상이 뽑혀나온다.

 

웹용이 아닌 오프라인 프로젝트이기 때문에 컴퓨터의 성능을 신경쓸 필요는 없다. 최고의 성능을

가진 컴퓨터로 돌려서 잘만 돌아가면 되는것이다. :)





하하 한번 밀리기 시작하니깐 정신이 없군요.... 요즘 학교공부를 하면서 많이 느끼는 거지만 이론의 중요성을 많이 느낍니다. 이번학기에 컴구조, 운영체제, 데이터통신, 데이터구조와 선형대수까지 한꺼번에 듣고 있거든요(데구말고는 절대 재수강이 아닙니다.;;;;;;) 그래서 그런지 코팅과는 좀 거리가 생긴것 같아요 ㅋㅋㅋ 아무튼 요즘 이론강의를 들으면서 참 많이 배우는것 같습니다. 여러분들은 어떠신지요? 실습강의가 더 좋으신가요? 뭐 어느쪽에 치우치지 않는 강의가 좋겠지만요

 아무튼 이번에는 5번째 이야기 기본 컴퓨터의 구조와 설계중 2번째 이야기 컴퓨터 레지스터에 대해서 이야기 하고자 합니다. 

 컴퓨터 명령어는 보통 연속적인 메모리상에 위치하고 이것들이 한 번에 하나씩 순차적으로 수행이 됩니다. 따라서 다음 수행될 명령의 주소를 알아낼 수 있는 카운터같은 장치가 필요하겠죠 또한 제어 장치내에는 메모리에서 읽어온 명령어 코드를 저장할 수 있는 레지스터와 데이터를 조작하기 위한 프로세서 레지스터, 그리고 메모리의 주소를 갖고 있는 레지스터가 필요할 것입니다.  


위에 그림과 표에서 레지스터 구서오가 각 레지스터의 기능, 비트수를 확인할 수 있습니다.
 메모리 장치는 4096워드로 구성되어 있으며, 각 워드는 16비트입닏. 즉 피연산자의 주소를 위해 12비트가 필요하고 3비트는 명령어 코드를 나타내며 나머지 1비트가 직접 주소, 간접 주소를 구별하는 데 사용됩니다. 데이타 레지스터(DR)는 메모리에서 읽어온 피연산자를 저장하며, 누산기(AC) 레지스터는 범용 처리 레지스터로서 사용이 됩니다. 메모리에서 읽어온 명령어는 명령어 레지스터(IR)에 저장되고 임시 레지스터(TR)는 계산 도중의 임시 데이타를 저장합니다. 메모리 주소 레지스터(AR)와 프로그램 카운터(PC)는 메모리의 주소를 나타내어야 하므로 12비트로 구성이 되어 있습니다. PC의 내용이 카운트 순서에 따라 증가함에 따라 명령어들은 분기 명령어를 만날 때까지 순차적으로 수행됩니다. 분기 명령가 수행될 때에는 주소 부분이 PC로 전송되어 다음 수행될 명령어의 주소를 지정하게 됩니다. 이 밖에  입출력 장치로부터 8비트 문자 정보를 송수신하기 위하여 입력 레지스터(INPR)와 출력 레지스터(OUTR)가 사용됩니다. 
 그렇다면 레지스터들 사이나 레지스터와 메모리 사이에 정보 전송을 어떻게 하는지 궁금해 지기 시작해지지요 기본 컴퓨터에는 정보 전송을 하기 위한 경로를 버스 시스템으로 구성을 합니다.
위의 그림은 간단히 그린 그림으로서 공통버스에 연결된 기본 컴퓨터의 레지스터들을 보여주고 있습니다.  7개의 레지스터와 메모리 출력이 공통 버스에 연결이 되어 있고 선택입력 S2S1S0를 통해 버스 위에 놓일 출력을 선택합니다. 예를 들어 선택 입력 S2S1S0=011이 면 3번으로 표신된 DR의 출력이 버스에 놓이도록 선택이 됩니다. 또한 공통 버스는 각 레지스터의 입력과 메모리의 데이터 입력에 연결되어 있는데 LD입력이 인에이블되어 있는 레지스터가 다음 클럭 펄스에서 버스의 데이터를 받아서 저장합니다. 메모리는 쓰기 입력이 활성화되었을 때 버스의 내용을 받을 수 있으며 S2S1S0=111이고 읽기 입력이 활성화되었을 때 16비트 출력을 버스에 올려 놓습니다. 12비트인 AR과 PC의 내용이 버스에 전송될 때는 상위 4비트가 0으로 채워지며, 버스의 내용이 AR이나 PC로 전송될 때에는 하위 12비트만 전송이 됩니다. 또한 8비트인 입력 레지스터 INPR와 출력 레지스터 OUTR는 하위 8비트만으로 버스와 데이터를 주고 받는데 INPR는 입력 장치로 부터 한 문자를 읽어와 AC로 전송하며, OUTR는 AC로 부터 한 문자를 읽어와 출력 장치로 전송합니다. 

 
 


토요일, 일요일 앓아 누워 있어서 일요일에 블로그를 올리지 못했네여...감기들 조심하세요..(이래서 미리미리 올렸어야 했나...하지만 월요일에 옥상서...) 아무튼 지난 시간에도 이야기 했듯이 궂이 디지털 부속품과 데이터의 표현, 레지스터 전송과 마이크로 연산 부분은 건너뗘야 할거 같습니다. 일단은 너무 전자 회로쪽에 치우쳐도 있고 이대로 가서는 시그가 완료될 때까지 못 맡칠거 같기도 하고요 그럼 기본 컴퓨터의 구조와 설계로 넘어가도록 하겠습니다.

기본 컴퓨터의 구조와 설계(첫번째 명령어 코드)

컴퓨터의 구조는
 1. 내부 레지스터
 2. 타이밍과 제어구조
 3. 명령어 집합
으로 되어지고 앞으로 얘기할 컴퓨터는 우리가 알고있는 pc에 비해 규모가 작지만 설계 과정을 단순하게 보여줄 수 있는 이점이 있습니다. ㅋㅋ(16비트 컴퓨터 정도지요)

디지털 시스템의 내부 조직은 레지스터 안에 저장된 데이처를 가지고 수행되는 마이크로 연산(레지스터에 저장된 데이타를 가지고 실행되는 동작 : 시프트, 카운트, 클리어, 로드)의 시퀀스에 의해 정의 되어집니다. 그렇다면 컴퓨터는 일반적인 용도의 시스템으로 다양한 마이크로 연산을 실행할 수 있고 수행할 연산의 특수한 시퀀스를 명령할 수 도 있습니다.  그리고 시스템의 사용자는 원하는 연산과 피연산자, 처리되는 순서를 기술한 명령어의 집합인 프로그램에 의해서 처리 과정을 제어할 수 있습니다.
 
 그렇다면 명령어의 집합인 프로그램에서의 명령어 정확히 말하면 컴퓨터 명령어란 무엇일까요? 바로 컴퓨터에 대한 일련의 마이크로 연산을 기술한 이진 코드라고 할 수 있습니다. 또한 데이터와 함께 메모리에 저장이 되어있고 제어신호에 의해 제어 레지스터에 옮겨지고 해석되어 제어 함수를 발생함으로서 실행이 됩니다. 이와 같이 명령어를 저장하여 실행하는 개념을 내장 프로그램 이라고 하며 범용 컴퓨터의 가장 중요한 특성이기도 합니다.

 앞서 설명한 내용으로 인해서 명령어란 곧 명령어 코드라는 것을 알게 되었습니다. 명령어 코드는 계속 반복되는 이야기지만 컴퓨터에게 어떤 특별한 동작을 수행할 것을 알리는 비트들의 집합으로서 여러 개의 부분으로 나뉘어지는데, 그 중 가장 기본적인 부분은 연산코드 부분입니다.
 연산코드는 가감승제나 시프트, 보수 등과 같은 동작을 저의한 비트들의 집합으로서 이 연산 코드 부분이 n 비트로 구성되면 최대한 2^n개의 서로 다른 연산을 실행할 수 있습니다. 또한 하나의 연산코드는 마이크로 연산의 집합으로 볼 수 있기 때문에 때때로 매크로 연산이라고 불리기도 합니다.(햇갈리기 시작...)
 명령어코드 이야기를 계속 하자면 명령어코드의 연산부는 실행될 연산을 기술하고 있는데 이러한 연산은 메모리 또는 프로세서 레지스터 안에 저장된 데이차를 가지고 실행되므로 명령어코드는 연산 뿐만 아니라 피연산자가 저장된 레지스터나 메모리 워드, 또한 연산 결과가 저장될 장소를 기술해야 합니다. 이와 같이 여러 개의 부분으로 구성된 명령어 코드의 구성형식은 컴퓨터의 구조 설계자에 의해 결정이 되어 집니다.

저장 프로그램 구조에 대해서 살표볼까요

 컴퓨터의 가장 간단한 구성은 단 한 개의 프로세서 레지스터를 가짐으로서 두 개의 부분으로 구성된  명령어 코드를 사용하는 것입니다. 이때 한 부분은 실행할 연산을 그리고 다른 한 부분은 피연산자가 저장된 메모리내의 주소를 기술하게 되는데 메모리로 부터 읽혀진 피연산자 부분은 레지스터에 저장된 데이터와 연산을 실행하게 됩니다. 위의 그림에서 보듯이 4096워드를 가진 기억 장치에 대해서 12비트 주소가(2^12=4096)필요합니다. 16비트 워드를 사용한다면 4비트가 남음으로 총 16가지의 서로 다른 연산을 하게 됩니다. 여기서  한 개의 프로세스 레지스러를 누산기(accumulator  또는 AC)라고 하며 명령어 코드 구성 형식은 4비트로 이루어진 opcode(실행할 연산)와 address(피연산자가 저장된 메모리 주소)로 이루어져 있어서 Address에 의해 지정된 메모리에 데이터와 AC에 저장된 데이터사에에 opcode가 지정한 연산을 수행하게 됩니다.
여기서 명령어 형식에 Address부분에 직접 피연산자의 내용이 들어가면 Immediate라고 하며 명령어 코드의 주소 부분이 피연산자가 저장된 메모리 주소를 나타내면 직접주소 명령어코드의 주소 부분이 피연산자가 저장된 메모리 주소를 담고 있는 주소를 나타내면 간접주소라고 부릅니다. 보통의 경우 한비트(I라는 부분)를 이용하여 주소부분이 직접인지 간접인지를 구별 합니다.
 여기서 유효주소라는 개념이 등장하게 되는데 아주 중요하죠 유효주소란 계산형 명령어에서의 피연산자의 주소와 분기형 명령어에서 목적주소를 뜻합니다.

다음에는 5번째 이야기 part2 컴퓨터 레지스터에 대해서 이야기 하도록 하겠습니다.