2010년 10월 31일 일요일

컴과개 과제 6: 3가지 수 비교하기

이번 과제는 어셈블리 언어를 이용해서 3가지의 수를 입력받아 대소를 비교하여 크기가 큰 순서대로 나열하는 것이었는데요....이해하느라 정말 힘들었습니다....

무튼 열심히 이해하여 결과를 출력해보았습니다.
일단 코드는 이와같이 짰습니다.
BR main
num1: .BLOCK 2
num2: .BLOCK 2
num3: .BLOCK

main: DECI num1,d
         DECI num2,d
         DECI num3,d
         BR case1

case1: LDA num1,d
          SUBA num2,d
          BRLT c1_1;num2>num1
          BR c1_2;num1>num2

c1_1: LDA num1,d
         SUBA num3,d
         BRLT c1_1_1 ;num3>num1
         BR c1_1_2 ;num2>num1>num3

c1_1_1: LDA num2,d
SUBA num3,d
BRLT c1_1_1_1 ;num3>num2>num1
BR c1_1_1_2 ;num2>num3>num1

c1_1_1_1: DECO num3,d
                 DECO num2,d
                 DECO num1,d
                 BR finish

c1_1_1_2: DECO num2,d
                 DECO num3,d
                 DECO num1,d
                 BR finish

c1_1_2: DECO num2,d
             DECO num1,d
             DECO num3,d
             BR finish

c1_2: LDA num2,d
         SUBA num3,d
         BRLT c1_2_1 ;num3>num2
         BR c1_2_2 ;num1>num2>num3
 
c1_2_1: LDA num1,d
             SUBA num3,d
             BRLT c1_2_1_1 ;num3>num1>num2
             BR c1_2_1_2 ;num1>num3>num2

c1_2_1_1: DECO num3,d
                 DECO num1,d
                 DECO num2,d
                 BR finish

c1_2_1_2: DECO num1,d
                 DECO num3,d
                 DECO num2,d
                 BR finish

c1_2_2: DECO num1,d
             DECO num2,d
             DECO num3,d
             BR finish

finish: STOP
.END


     이거 일일이 캡쳐하기 귀찮아서 복붙을 했는데, 더 보기가 이상해졌네요.그래도 눈 뜨고 잘 보시면 잘 보이실꺼에요..이걸 해보면서 해본 결과 DECI는 c에서 scanf와 비슷한 역할을 하는군요.그리고 DECO는 printf에서 %d,%f등과 비슷한 역할을 하는것 같구요.SUBA는 뺄셈, BR과 BRLT는 if문과 비슷한 역할을 하는거 같네요.다만 BR과 BRLT는 항상 기준이 0이 되는군요. 여기까지가 제 의견이구요 무튼 이 SUBA와 BR,BRLT를 이용하여 c의 if문과 비슷한 역할을 만들어 작성해 보았습니다.
그래서 결과는 다음과 같이 나오더군요.
네 이렇게 결과가 나왔습니다. 이번 과제 정말 난감했습니다....그래도 배우니 재미는 있네요.

2010년 10월 24일 일요일

컴퓨터 견적내기

일단 저는 현재 기숙사에 살고 있으며 그래서 노트북을 사용하고 있는데......경량화를 중시하는 모델이라 같은 가격대에 비해 성능이 많이 떨어집니다...그래서 제가 즐겨하는 게임을 잘하지 못하여 많이 안타깝습니다.그래서!!!! 이번에 한번 마음 먹고 어차피 살 것도 아닌데, 모든 게임이 걍 원할하게 돌아간만한 본체!! 그리고 눈을 제압할만한 완벽한 모니터를 구성해 보았습니다... 다만 가격대가....좀 비싸게 됬네요. 이제 각설하고 저의 꿈의 컴퓨터를 소개하겠습니다.
자 보이시나요. 저의 꿈의 컴퓨터가 ...제가 가장 소개시켜드리고 싶은 부품은 cpu입니다.
이 제품은 최근에 나온걸로 코어가 2개도 아닌 무려6개!!!아직 보급이 많이 되지않아서 비싼 가격대이지만 가격대만큼의 성능을 발위한다고 하는군요.그래서 저는 이 cpu를 선택하였습니다.
그리고 메모리도 괜찬을 걸로 맞추어 보았습니다.인터넷으로 뒤져보니 평점이 괜찮더군요.그리고 요즘 대세가DDR3라고 하더군요. 그래서 이 제품을 선정했어요.
그리고 메인보드....메인보드는 뭐가 뭔지 잘모르겠더군요..그래서 거기있는것중 가격대가 적당한 것을 선정해보았습니다.
그래픽카드는 이게 괜찮다고 하더군요.그런데 나중에 비슷한 가격대에 더 좋은게 나온다는 소문이......그래도 일단 저는 이 제품을 선택했습니다.
하드디스크는 그럭저럭 괜찮을 정도로 했습니다..
그리고 그래픽카드를 원할하게 돌릴수 있을정도의 파워를 맞춰보았습니다. 
TV수신기는 기숙사에서 무료한 생활에 저에게 활력을 넣어줄 중요한 아이템이에요.게다가 usb형이라 노트북에도 활용가능하죠.쿨러는 적당한 걸로 맞췄습니다....ㅋㅋㅋ 중요하긴하지만 이미 가격이 ㅠㅠ...그리고 케이스!! 통풍구가 많아서 열배출이 잘될것 같고 무엇보다도 아름답습니다...이런 제품이 필요하죠..ㅋㅋ그리고 제 눈을 즐겁게 해줄 모니터.. 넓어서 정말 게임할맛 날 것 같습니다.


제가 이런 제품을 맞추어 봤는데,컴퓨터의 부품을 이해하는데 많은 도움이 된 것 같습니다.그리고 얼른 이런 제품을 만들어서 사용하고 싶네요 ㅠㅠ

2010년 10월 10일 일요일

트랜지스터에 관하여

트랜지스터에 관하여
지금부터 트랜지스터가 무엇인가에 대해서 알아보도록 하겠습니다.
1.트랜지스터란?
반도체를 세 겹으로 접합하여 만든 전자회로 구성요소이며 전류나 전압흐름을 조절하여 증폭,스위치 역할을 한다고 합니다. 가볍고 소비전력이 적어 진공관을 대체하여 대부분의 전자회로에 사용된다고 합니다.트랜지스터에는 접합형 트랜지스터와 전기장 효과 트랜지스터가 있다고 합니다.
cf)반도체:말그대로 반만 도체로서 도체와 부도체의 중간적 성격을 띤다.원래 순수한 상태에서는 부도체와 비슷한 특성을 보이는데 여기에 불순물의 첨가에 의해 전기전도도가 늘어나기도 하고 빛이나 열에너지에 의해 일시적으로 전기 전도성을 가진다고 한다고 합니다.종류에는 n형 반도체와 p형 반도체가 있는데,n형 반도체는 과잉전자이면서 전기적 성질이 음이고,p형 반도체는 정공이면서 전기적 성질이 양이라고 합니다.
2.트랜지스터의 유래
원래 기원은 1930년에 리린펠트가 등록한 특허에 있다고 할 수 있는데,실용적 발명은 1948년 미국의 벨 연구소에서 월터브래튼,윌리엄 쇼클리,존 바딘에 의해 만들었다고 합니다.이들은 1956년에 트랜지스터를 발명한 공로로 노벨 물리학상을 수여받았다고 합니다.이 트랜지스터라는 말은 변화하는 저항을 통한 신호 변환기(transfer of a signal through a varister 또는 transit resistor)로부터 나온 조어라고 합니다.
3.트랜지스터의 역할
트랜지스터는 기본적으로 증폭 작용과 스위칭 역할을 한다고 합니다.증폭작용에 대해 간단히 설명하면 입력 신호의 파형을 바꾸지 않고 그 전압과 전류의 크기만을 확대하는 것이라고 합니다.
증폭작용의 간단한 예를 들면 라디오를 들수 있는데,라디오는 공중을 통해 전해진 매우 미약한 신호의 강약을 확대(증폭)하여 스피커를 울린다고 했는데 이 것이 증폭작용과 유사하다고 합니다.
그리고 스위칭은 컴퓨터 등에서 사용되는 디지털 신호에서 0과1을 전환하는 역할을 스위칭이라고 합니다.
4.트랜지스터의 구조
트랜지스터를 살펴보면 3개의 다리가 있는데 교과서에서 보는 것과 같이 각각을 이미터,베이스,콜렉터라고 합니다.이 것을 수도 기구와 비교화면 베이스는 수도출구,콜렉터는,배출구,이미터는 배관에 비교할 수 있습니다.베이스의 입력신호로 콜렉터로 흐르는 전류를 조절하게끔 되어있습니다.
자세한 설명은 아래의 주소에 있습니다.



출처:http://100.naver.com/100.nhn?docid=156375
http://100.naver.com/100.nhn?docid=70382
http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=117068300&qb=67CY6http://user.chollian.net/~kimjh94/junja/junja_2/junja2-2.html4+E7LK0&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=g74viloi5UdsscvSeGGsss--503473&sid=TLIAoPPUsUwAAD0KKnI
http://ko.wikipedia.org/wiki/%ED%8A%B8%EB%9E%9C%EC%A7%80%EC%8A%A4%ED%84%B0
http://cnd.ctp.or.kr/_newsmail/074/index01.asp
http://www.encyber.com/search_w/ctdetail.php?pno=&masterno=156375&contentno=730536
http://www.rohm.co.kr/en/tr/tr_what1.html

2010년 10월 3일 일요일

mp3파일 방식에 대해 자세히 알아봐요.

우리가 3단원에서 sound 파일의 압축과정에 대해서 간단히 배웠는데,그 자세한 과정이 너무나 궁금하여 좀더 조사하여 보기로 하였다.그런데 생각보다 자료가 많이 부족해서(ㅠㅠ)조금 과거의 자료를 인용하기로 하였다.
1.먼저 대표적인 파일들을 알아보도록 하자
(1)Advanced Streaming file:이 파일은 Microsoft사에서 개발하였고 확장자명은 asf이다.이 파일은 주로 인터넷 상에서 실시간 동영상을 보거나 사운드 재생을 할 때 주로 사용되는 스트리밍 파일이라고 한다.
(2)Audio interchange file format::이 파일은 Apple사에서 제조하였고 파일 확장자명은 aif이다.주로 Apple 컴퓨터에서 사용되는 샘플링 사운드 파일이라고 한다.
(3)CD audio tracks:이 파일은 확장자명이 cda이다.이 파일은 CD 오디오 트랙에 저장되어 있는 파일이다.
(4)MPEG audio Compression format::이 파일은 Fraunhofer가 제조하였고 확장자명은 mp3파일이다.이 파일은 우리가 잘 알듯이 MP3 파일이나 압축파일로 쓰인다.
(5)Musical Instrument Digital Interface:이 파일은 확장자명이 mid이고,MIDI파일에 사용된다.
(6)Real audio file:이 파일은 RealNetworks에서 제조했고 확장자명은 ra이다.이 파일은asf와 마찬가지로 스트리밍 사운드 파일이라고 한다.
(7)Sun과 Next용 sound format::이 파일은 Sun/Next라는데서 개발했고 확장자명은 au이다.이 파일은 Sun,Next에서 사용되는 샘플링 사운드 파일이라고 한다.
(8)Wave file format:이 파일은 Microsoft사에서 제조하였고 확장자명은 wav이다.이 파일은 윈도우즈 OS에서 주로 사용되는 샘플링 사운드 파일이라고 한다.
이외에도 여러 가지 사운드 파일이 있는데 이 부분은 생략하기로 하겠다.
우리는 이 중에서 가장 대표적인 압축 샘플링 사운드 파일인 MP3에 대해서 다룰 것이다.
2.이제 MP3라는 사운드 파일을 자세히 분석해보도로 하겠다.
이 파일은 동영상과 오디오 압축 기술에 대한 표준인 MPEG(Moving Picture Experts Group)표준의 일부분으로 정확한 명칭은 MPEG Audio Layer 3이라고 한다.물론 3이 있으므로 1과2도 있다.Layer 1은 압축률이 1/4정도 되고 Layer 2는 압축률이 1/6~1/8정도 된다고 한다.그런데 MP3파일은 CD음질을 유지하면서도 1/10~1/12라는 높은 압축률을 가질수 있기 때문에 많이 애용된다.MP3파일은 대략 1분당 1메가의 크기를 필요로 하는데,이 작은 크기 덕분의 적은 용량의 메모리에도 다수의 노래를 저장할 수 있게 되어 초소형의 MP3플레이어가 등장하게 되었다.
2.이제 MP3파일의 압축의 원리를 설명하자면 다음과 같다.
압축은 상당히 보편화된 기술인데,이렇게 놀라운 압축률을 보이는 것은 다른 기술이 있었기 때문이라고한다.이 압축 알고리즘을 개발한 곳은 1980년대 말 Fraunhoffer institute라고 한다.소리라는 것은 음파라 불리는 공기의 진동인데 초당 진동 횟수,즉 주파수에 따라 소리의 높낮이가 결정돤다고 한다.즉, 주파수가 낮으면 저음이 들리고,주파수가 높다면 고음이 들리게 된다.그런데 보통 사람들이 들을 수 있는 주파수,즉 가청주파수는 20Hz에서 20,000Hz의 범위를 가진다고 한다.그런데 사람의 귀는 가청 주파수 내의 모든 음파를 균일하게 다 잘들을 수 있는 것이 아니라고 한다.가청 주파수의 끝자락으로 갈수록 잘 들리지 않는다.(이건 생물과 관련된거라서 자세한 설명은.......)그래서 이 부분을 MP3파일로 만들때 과감하게 삭제하여 데이터의 크기를 줄이는 것이라고 한다.
이 부분에 대해서 자세히 설명하자면 사람들은 여러개의 사운드가 동시에 재생될 때 큰소리는 잘 들리지만 작은 소리는 큰 소리에 묻혀 거의 듣지 못한다.이 때 작은 소리를 제거해도 사람의 귀로 smRL는 소리는 큰 변화가 없을 것이다.이와 같이 사람의 귀가 가진 가청 특성을 잘 연구해서 사람 귀에 잘 들리지 않는 영역이나 패턴을 찾아내 생략하는 기술을 perceptual noise shaping이라고 한다.이는 JPEG 파일에서 사람 눈에 잘 뜨이지 않게 그래픽 정보를 생략하는 기술과 유사한 기술이라고 한다.MP3의 압축 기술은 다른 일반적인 압축 기술과 달리 원래 정보에서 일부분의 정보를 삭제하기 때문의 100% 원래 정보대로 재생을 할 수 없다고 한다.따라서 이 압축 기술은 일반적인 데이터 압축에 활용할 수 없고,사운드 파일에만 적용할 수 있다고 한다.


이제 개념적 설명은 끝났으므로 압축 과정은 단계별로 간단히 알아보도록하자.(이 알고리즘은 상당히 복잡하다고 한다.)
(1.)Filter bank:먼저 사운드 데이터의 주파수 성분,즉 스펙트럼을 분석한다고 한다.사운드 데이터의 주파수 성분을 알아내기 위해 JPEG 압축 때 사용했던 DCT와 유사한 방법을 사용한다고 한다. 여기에 사람의 가청 특성을 적용했다고 한다.
(2.)Joint stereo coding:스테레오 채널의 경우 보통의 didWHr 채널의 소리가 유사한 점이 많다고 한다.EK라서 쉽게 서로 중복되는 요소를 제거할 수 있다고 한다. 이 기능은 사용되지 않을 수도 있다고 한다.
(3.)Scale factors:filter bank에서 얻어낸 주파수 성분들을 양자화를 통해 불필요한 데이터를 제거하게 된다고 한다. 이때 어느 정도 데이터를 제거할 지 정하는 것이 scale factors이라고 한다.
(4.)Quantizer:filter bank를 거친 주파수 성분들 중 일부가 양자화를 거치면서 제거된다고 한다.많은 주파수 성분들이 제거될수록 압축률이 높아지는 대신 음질이 skQK지게 된다고 한다. 이와 같이 양자화에 의해 추가된 노이즈 성분을 quantization noise라고 한다. scale factor를 조절해 가청한계선을 넘기지 않는 범위 내에서 최대한 압축을 한다고 한다.
(5.)Noiseless coding:이렇게 해서 얻어진 주파수 성분들은 JPEG에서 썻던 Huffman코딩 방식으로 압축된다고 한다.Huffman코딩 압축은 데이터의 손실이 전혀 없기 때문에 noiselesscoding이라고 부른다고 한다.
출처:
http://blog.naver.com/kkurrung?Redirect=Log&logNo=140004501381
http://blog.naver.com/yongviola?Redirect=Log&logNo=50085184860
http://ko.wikipedia.org/wiki/%EC%86%90%EC%8B%A4_%EC%95%95%EC%B6%95