'전체'에 해당되는 글 41건
- 2008/07/21 어둠에다크
- 2008/07/05 D-Processor Interuppt Simulation (1)
- 2008/07/05 D-Processor Architecture (1)
- 2008/06/25 패터닝을 이용한 아스키 아트의 구현
- 2008/06/08 바탕화면 (5)
- 2008/05/23 아스키 아트 (5)
- 2008/05/12 달팽이찍기 (3)
- 2008/05/08 별찍기 #3 (1)
D-Processor Interuppt Simulation
컴퓨터 구조 2008/07/05 18:30
D 프로세서의 인터럽트 처리를 시뮬레이션해본 결과다. 위에 보이는 3개의 시그널중 첫번째는 클럭을 나타내고, 두번째는 프로그램 카운터의 내용을 말한다. 마지막 세번째 시그널이 인터럽트다. 시뮬레이션에 사용된 프로그램은 0x0003번지에서 0x0000으로 무조건 분기하도록 되어있고 0x0002번지에서 인터럽트를 활성화 시킨다. ISR은 0x0000으로 설정되어있다.
두번째 인터럽트가 걸릴때 0x0001번지에서 정상적인 프로그램 흐름과 다르게 0x0000으로 점프하는것을 볼 수 있다. 인터럽트 서비스 루틴으로 점프가 확실히 되는걸 알 수 있다.
-----------------------------------------------------------------------------------------------------
원래 이 밑에다 외부 타이머를 붙여서 만든 초시계를 회로도랑 보드에 합성해서 돌아가는 모습을 올리려고 했는데....D모 사이트에 올려놨던 자료가 삭제되는 바람에 귀차나서 관뒀심 -_-;;
D-Processor Architecture
컴퓨터 구조 2008/07/05 18:08
D-Processor Architecture
@ 특징
D-Processor는 단순한 구조를 가진 16비트 RISC로 16비트 어드래스 버스와 16비트 데이터 버스를 갖고있다. 프로그램 메모리와 데이터 메모리가 분리된 구조 즉, 하버드 아키택쳐를 사용하고 있고 주소는 워드단위(16비트)로 주어진다.
따라서 128Kb의 주소공간을 가진다 (프로그램 메모리 128Kb, 데이터 메모리 128Kb). 모든 명령어는 16비트로 고정된 길이를 가지고, 메모리 접근은 로드 LD, 스토어 ST, 하위 바이트 스토어 STB의 세가지만을 제공한다.
대부분의 연산은 내부 레지스터에 의해서 이루어 지며, D-Processor는 8개의 범용 레지스터를 제공하고 있다. 주소모드는 5가지가 제공되며 단순하지만 서브루틴의 호출과 리턴을 구현하는 명령어가 제공되고 있다. 또한 인터럽트의 처리도 가능하다. 전체 인스터럭션 사이클이 한 클럭에 실행되는 싱클 사이클 익스큐션을 구현하고 있다.
----------------------------------------------------------------------------------------------------
현재는 모든 인스트럭션이 구현되어 있는 상태고 Altera Cyclone II 2C35 FPGA에서 50Mhz로 작동되는걸 확인해 보았다.
@ 특징
D-Processor는 단순한 구조를 가진 16비트 RISC로 16비트 어드래스 버스와 16비트 데이터 버스를 갖고있다. 프로그램 메모리와 데이터 메모리가 분리된 구조 즉, 하버드 아키택쳐를 사용하고 있고 주소는 워드단위(16비트)로 주어진다.
따라서 128Kb의 주소공간을 가진다 (프로그램 메모리 128Kb, 데이터 메모리 128Kb). 모든 명령어는 16비트로 고정된 길이를 가지고, 메모리 접근은 로드 LD, 스토어 ST, 하위 바이트 스토어 STB의 세가지만을 제공한다.
대부분의 연산은 내부 레지스터에 의해서 이루어 지며, D-Processor는 8개의 범용 레지스터를 제공하고 있다. 주소모드는 5가지가 제공되며 단순하지만 서브루틴의 호출과 리턴을 구현하는 명령어가 제공되고 있다. 또한 인터럽트의 처리도 가능하다. 전체 인스터럭션 사이클이 한 클럭에 실행되는 싱클 사이클 익스큐션을 구현하고 있다.
more..
----------------------------------------------------------------------------------------------------
현재는 모든 인스트럭션이 구현되어 있는 상태고 Altera Cyclone II 2C35 FPGA에서 50Mhz로 작동되는걸 확인해 보았다.
패터닝을 이용한 아스키 아트의 구현
뻘글들 2008/06/25 23:23
아스키 아트란 디지털 간색 기법중의 하나인 패터닝의 일종으로 볼 수 있다. 간단하면 말하면 입력 영상의한 필셀에 대응되는 패턴이 아스키 문자의 하나인 것을 말한다. 그럼 패터닝이 무었인지 알아보자. 아래에 설명은 08년 1학기에 내가 제출했던 보고서에서 주워왔다.
------------------------------------------------------------------------------------------------------
patterning
패터닝은 출력 장치의 공간 해상도가 원시 영상보가 좋을 때 흔히 사용되는 기법이다. 각색 셀의 해상도가 화소해상도가 같다고 할지라도, 화소 하나는 16개의 도트로 표현된다.
따라서 한 픽셀과 대응되는 16개의 도트를 입력 화소와 비슷하게 보일 수 있도록 어떤 패턴을 갖도록 해야할 필요가 있다. 이때 패턴의 선택이 잘 못되면 의도하지 못한 영상을 출력하게 된다. 한 명도값을 어떤 패턴으로 프린트되도록 셜정하였다면 이보다 강한 명도값은 그 패턴에서 설정된 셀들을 모두 포함하는 패턴을 가져야 한다.이를 성장 연속 growth sequence 라 한다.
하나의 블록(16개의 도트)는 각각의 유일한 명도값을 표현할 것임으로 이를 위해서 입력 영상의 화소값을 양자화할 필요가 있다. 다음과 같은 경우 입력 화소의 값을 15(255 / 17)로 나누어 줌으로 쉽게 해결할 수 있다. 이로서 화소값은 0에서 17까지의 값을 갖게 된다. 출력되는 영상은 양자화된 화소를 하나의 출력 패턴에 사상 시킴으로 생성된다.
설명 끝
-----------------------------------------------------------------------------------------------------
아스키 아트의 구현은 입력 영상의 한 픽셀의 밝기값에 대응되는 패턴(아스키 문자)으로 대치하는 것임으로 패터닝 기법으로 쉽게 구현할 수 있다.
패터닝 기법은 입력 영상의 한 픽셀을 4x4(내 구현에서는 7x7)의 패턴으로 대치함으로 출력 영상은 가로, 세로 4배(7배)로 크기가 커진다. 출력 영상의 크기를 입력 영상과 같게 하기 위해서는 입력 영상을 축소 한 상태에서패터닝을 적용하면 된다. 이를 위해서 subsampling등의 여러가지 기법을 적용할 수 있다.
위의 설명에서는 밝기값이 0~255 사이의 값을 갖고 출력 패턴이 17가지 임으로 15로 입력 영상의 밝기값을 나누 줬지만 출력 패턴이 17가지보다 많거나 적을경우 이를 적절히 조절하여 구현하면 된다.
마지막으로 출력 영상이 8비트 그래이 일경우 사용한 아스키 문자 패턴을 소개하고 포스팅을 마치겠다. 이 패턴은 노가다를 통해서 구해냈다. -_-;;
@GE9DX5WKkyezui:,.
------------------------------------------------------------------------------------------------------
patterning
패터닝은 출력 장치의 공간 해상도가 원시 영상보가 좋을 때 흔히 사용되는 기법이다. 각색 셀의 해상도가 화소해상도가 같다고 할지라도, 화소 하나는 16개의 도트로 표현된다.
따라서 한 픽셀과 대응되는 16개의 도트를 입력 화소와 비슷하게 보일 수 있도록 어떤 패턴을 갖도록 해야할 필요가 있다. 이때 패턴의 선택이 잘 못되면 의도하지 못한 영상을 출력하게 된다. 한 명도값을 어떤 패턴으로 프린트되도록 셜정하였다면 이보다 강한 명도값은 그 패턴에서 설정된 셀들을 모두 포함하는 패턴을 가져야 한다.이를 성장 연속 growth sequence 라 한다.
하나의 블록(16개의 도트)는 각각의 유일한 명도값을 표현할 것임으로 이를 위해서 입력 영상의 화소값을 양자화할 필요가 있다. 다음과 같은 경우 입력 화소의 값을 15(255 / 17)로 나누어 줌으로 쉽게 해결할 수 있다. 이로서 화소값은 0에서 17까지의 값을 갖게 된다. 출력되는 영상은 양자화된 화소를 하나의 출력 패턴에 사상 시킴으로 생성된다.
설명 끝
-----------------------------------------------------------------------------------------------------
아스키 아트의 구현은 입력 영상의 한 픽셀의 밝기값에 대응되는 패턴(아스키 문자)으로 대치하는 것임으로 패터닝 기법으로 쉽게 구현할 수 있다.
패터닝 기법은 입력 영상의 한 픽셀을 4x4(내 구현에서는 7x7)의 패턴으로 대치함으로 출력 영상은 가로, 세로 4배(7배)로 크기가 커진다. 출력 영상의 크기를 입력 영상과 같게 하기 위해서는 입력 영상을 축소 한 상태에서패터닝을 적용하면 된다. 이를 위해서 subsampling등의 여러가지 기법을 적용할 수 있다.
위의 설명에서는 밝기값이 0~255 사이의 값을 갖고 출력 패턴이 17가지 임으로 15로 입력 영상의 밝기값을 나누 줬지만 출력 패턴이 17가지보다 많거나 적을경우 이를 적절히 조절하여 구현하면 된다.
마지막으로 출력 영상이 8비트 그래이 일경우 사용한 아스키 문자 패턴을 소개하고 포스팅을 마치겠다. 이 패턴은 노가다를 통해서 구해냈다. -_-;;
@GE9DX5WKkyezui:,.
Digital halftoning 기법중의 하나인 patterning의 일종이다.
사진보기(15금?)



